@@ -10,13 +10,15 @@ import (
1010 "k8s.io/utils/strings/slices"
1111 "kubevirt.io/client-go/kubecli"
1212 "kubevirt.io/kubevirt-velero-plugin/tests/framework"
13+ "kubevirt.io/kubevirt-velero-plugin/tests/patch"
1314
1415 . "github.com/onsi/ginkgo/v2"
1516 . "github.com/onsi/gomega"
1617 velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
1718 v1 "k8s.io/api/core/v1"
1819 apierrs "k8s.io/apimachinery/pkg/api/errors"
1920 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21+ "k8s.io/apimachinery/pkg/types"
2022 kvv1 "kubevirt.io/api/core/v1"
2123 cdiv1 "kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1"
2224 . "kubevirt.io/kubevirt-velero-plugin/tests/framework/matcher"
@@ -2651,8 +2653,14 @@ var _ = Describe("Resource excludes", func() {
26512653 retryOnceOnErr (
26522654 func () error {
26532655 pod := framework .FindLauncherPod (f .K8sClient , f .Namespace .Name , vmName )
2654- pod .SetLabels (addExcludeLabel (pod .GetLabels ()))
2655- _ , err := f .K8sClient .CoreV1 ().Pods (f .Namespace .Name ).Update (context .TODO (), & pod , metav1.UpdateOptions {})
2656+ newLabels := addExcludeLabel (pod .GetLabels ())
2657+ patchData , err := patch .New (
2658+ patch .WithReplace ("/metadata/labels" , newLabels ),
2659+ ).GeneratePayload ()
2660+ if err != nil {
2661+ return err
2662+ }
2663+ _ , err = f .K8sClient .CoreV1 ().Pods (f .Namespace .Name ).Patch (context .TODO (), pod .Name , types .JSONPatchType , patchData , metav1.PatchOptions {})
26562664 return err
26572665 }).Should (BeNil ())
26582666 }
@@ -3465,7 +3473,13 @@ func updateVm(kvClient kubecli.KubevirtClient, namespace string, name string,
34653473 }
34663474 vm = update (vm )
34673475
3468- _ , err = kvClient .VirtualMachine (namespace ).Update (context .Background (), vm , metav1.UpdateOptions {})
3476+ patchData , err := patch .New (
3477+ patch .WithReplace ("/metadata/labels" , vm .Labels ),
3478+ ).GeneratePayload ()
3479+ if err != nil {
3480+ return err
3481+ }
3482+ _ , err = kvClient .VirtualMachine (namespace ).Patch (context .Background (), vm .Name , types .JSONPatchType , patchData , metav1.PatchOptions {})
34693483 return err
34703484 }
34713485}
@@ -3479,7 +3493,13 @@ func updateVmi(kvClient kubecli.KubevirtClient, namespace string, name string,
34793493 }
34803494 vmi = update (vmi )
34813495
3482- _ , err = kvClient .VirtualMachineInstance (namespace ).Update (context .Background (), vmi , metav1.UpdateOptions {})
3496+ patchData , err := patch .New (
3497+ patch .WithReplace ("/metadata/labels" , vmi .Labels ),
3498+ ).GeneratePayload ()
3499+ if err != nil {
3500+ return err
3501+ }
3502+ _ , err = kvClient .VirtualMachineInstance (namespace ).Patch (context .Background (), vmi .Name , types .JSONPatchType , patchData , metav1.PatchOptions {})
34833503 return err
34843504 }
34853505}
@@ -3493,7 +3513,13 @@ func updatePvc(client *kubernetes.Clientset, namespace string, name string,
34933513 }
34943514 pvc = update (pvc )
34953515
3496- _ , err = client .CoreV1 ().PersistentVolumeClaims (namespace ).Update (context .TODO (), pvc , metav1.UpdateOptions {})
3516+ patchData , err := patch .New (
3517+ patch .WithReplace ("/metadata/labels" , pvc .Labels ),
3518+ ).GeneratePayload ()
3519+ if err != nil {
3520+ return err
3521+ }
3522+ _ , err = client .CoreV1 ().PersistentVolumeClaims (namespace ).Patch (context .TODO (), pvc .Name , types .JSONPatchType , patchData , metav1.PatchOptions {})
34973523 return err
34983524 }
34993525}
@@ -3506,7 +3532,13 @@ func updateDataVolume(kvClient kubecli.KubevirtClient, namespace string, name st
35063532 }
35073533 dv = update (dv )
35083534
3509- _ , err = kvClient .CdiClient ().CdiV1beta1 ().DataVolumes (namespace ).Update (context .TODO (), dv , metav1.UpdateOptions {})
3535+ patchData , err := patch .New (
3536+ patch .WithReplace ("/metadata/labels" , dv .Labels ),
3537+ ).GeneratePayload ()
3538+ if err != nil {
3539+ return err
3540+ }
3541+ _ , err = kvClient .CdiClient ().CdiV1beta1 ().DataVolumes (namespace ).Patch (context .TODO (), dv .Name , types .JSONPatchType , patchData , metav1.PatchOptions {})
35103542 return err
35113543 }
35123544}
0 commit comments