From 28f503c1417df30de3c7db8c14ced7c8985c9612 Mon Sep 17 00:00:00 2001 From: Alexander Wels Date: Thu, 13 Jul 2023 14:33:29 -0500 Subject: [PATCH] Export create populator compatible datavolumes from VM The generated DataVolumes were not compatible with populator populated sources. In particular the populators would have a datasource or datasourceRef set. This commit clears the values so that the target CDI can properly generate PVCs from the Datavolume Signed-off-by: Alexander Wels --- pkg/storage/export/export/export.go | 3 +++ pkg/storage/export/export/export_test.go | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/pkg/storage/export/export/export.go b/pkg/storage/export/export/export.go index c1ba57174..51eb69df6 100644 --- a/pkg/storage/export/export/export.go +++ b/pkg/storage/export/export/export.go @@ -1429,6 +1429,9 @@ func (ctrl *VMExportController) createExportHttpDvFromPVC(namespace, name string if pvc != nil { pvc.Spec.VolumeName = "" pvc.Spec.StorageClassName = nil + // Don't copy datasources, will be populated by CDI with the datavolume + pvc.Spec.DataSource = nil + pvc.Spec.DataSourceRef = nil return &cdiv1.DataVolume{ ObjectMeta: metav1.ObjectMeta{ Name: name, diff --git a/pkg/storage/export/export/export_test.go b/pkg/storage/export/export/export_test.go index 15941984d..a341bdca6 100644 --- a/pkg/storage/export/export/export_test.go +++ b/pkg/storage/export/export/export_test.go @@ -1310,12 +1310,16 @@ var _ = Describe("Export controller", func() { It("Should generate DataVolumes from VM", func() { pvc := createPVC("pvc", string(cdiv1.DataVolumeKubeVirt)) + pvc.Spec.DataSource = &k8sv1.TypedLocalObjectReference{} + pvc.Spec.DataSourceRef = &k8sv1.TypedObjectReference{} pvcInformer.GetStore().Add(pvc) vm := createVMWithDVTemplateAndPVC() dvs := controller.generateDataVolumesFromVm(vm) Expect(dvs).To(HaveLen(1)) Expect(dvs[0]).ToNot(BeNil()) Expect(dvs[0].Name).To((Equal("pvc"))) + Expect(dvs[0].Spec.PVC.DataSource).To(BeNil()) + Expect(dvs[0].Spec.PVC.DataSourceRef).To(BeNil()) }) }) -- 2.41.0