diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/blank.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/blank.go index caa71d170..6cb31c76f 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/blank.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/blank.go @@ -68,6 +68,15 @@ func (ds BlankDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) (boo return false, err } + clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + switch { case isDiskProvisioningFinished(condition): log.Debug("Disk provisioning finished: clean up") @@ -103,16 +112,6 @@ func (ds BlankDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) (boo source := ds.getSource() - clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } - - sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } - err = ds.diskService.Start(ctx, diskSize, sc, source, vd, supgen) if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/http.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/http.go index 5592bfb3d..97cc7c1c9 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/http.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/http.go @@ -89,7 +89,6 @@ func (ds HTTPDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) (bool if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { return false, err } - sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { return false, err diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref.go index 0a67eecaa..d5881f531 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref.go @@ -103,6 +103,15 @@ func (ds ObjectRefDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) return false, err } + clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + switch { case isDiskProvisioningFinished(condition): log.Debug("Disk provisioning finished: clean up") @@ -165,16 +174,6 @@ func (ds ObjectRefDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) return false, err } - clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } - - sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } - err = ds.diskService.Start(ctx, diskSize, sc, source, vd, supgen) if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { return false, err diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_on_pvc.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_on_pvc.go index d6d52e135..6c82f71e0 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_on_pvc.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/object_ref_vi_on_pvc.go @@ -59,6 +59,15 @@ func (ds ObjectRefVirtualImageOnPvc) Sync(ctx context.Context, vd *virtv2.Virtua return false, err } + clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) + if updated, err := setConditionFromStorageClassError(err, vd, condition); err != nil || updated { + return false, err + } + sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) + if updated, err := setConditionFromStorageClassError(err, vd, condition); err != nil || updated { + return false, err + } + switch { case isDiskProvisioningFinished(*condition): log.Info("Disk provisioning finished: clean up") @@ -103,16 +112,6 @@ func (ds ObjectRefVirtualImageOnPvc) Sync(ctx context.Context, vd *virtv2.Virtua }, } - clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) - if updated, err := setPhaseConditionFromStorageError(err, vd, condition); err != nil || updated { - return false, err - } - - sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) - if updated, err := setPhaseConditionFromStorageError(err, vd, condition); err != nil || updated { - return false, err - } - err = ds.diskService.Start(ctx, size, sc, source, vd, supgen) if updated, err := setPhaseConditionFromStorageError(err, vd, condition); err != nil || updated { return false, err diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/registry.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/registry.go index 20e69d28c..e8acc3ede 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/registry.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/registry.go @@ -91,6 +91,15 @@ func (ds RegistryDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) ( return false, err } + clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + switch { case isDiskProvisioningFinished(condition): log.Debug("Disk provisioning finished: clean up") @@ -203,15 +212,6 @@ func (ds RegistryDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) ( } source := ds.getSource(supgen, ds.statService.GetDVCRImageName(pod)) - clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } - - sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } err = ds.diskService.Start(ctx, diskSize, sc, source, vd, supgen) if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { diff --git a/images/virtualization-artifact/pkg/controller/vd/internal/source/upload.go b/images/virtualization-artifact/pkg/controller/vd/internal/source/upload.go index 4747e3f9a..f99482c70 100644 --- a/images/virtualization-artifact/pkg/controller/vd/internal/source/upload.go +++ b/images/virtualization-artifact/pkg/controller/vd/internal/source/upload.go @@ -93,6 +93,15 @@ func (ds UploadDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) (bo return false, err } + clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) + if updated, err := setConditionFromStorageClassError(err, vd, &condition); err != nil || updated { + return false, err + } + switch { case isDiskProvisioningFinished(condition): log.Debug("Disk provisioning finished: clean up") @@ -229,15 +238,6 @@ func (ds UploadDataSource) Sync(ctx context.Context, vd *virtv2.VirtualDisk) (bo } source := ds.getSource(supgen, ds.statService.GetDVCRImageName(pod)) - clusterDefaultSC, err := ds.diskService.GetDefaultStorageClass(ctx) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } - - sc, err := ds.storageClassService.GetStorageClass(vd.Spec.PersistentVolumeClaim.StorageClass, clusterDefaultSC.Name) - if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated { - return false, err - } err = ds.diskService.Start(ctx, diskSize, sc, source, vd, supgen) if updated, err := setPhaseConditionFromStorageError(err, vd, &condition); err != nil || updated {