From fe6a4af2494260a45fc4615f3223cf28ce985777 Mon Sep 17 00:00:00 2001 From: Alexander Wels Date: Thu, 1 Aug 2024 13:19:18 -0500 Subject: [PATCH] Don't create DVM resource if no PVCs are present in the migration plan and IndirectVolumeMigration is set to false. Signed-off-by: Alexander Wels --- pkg/controller/migmigration/dvm.go | 6 +++--- pkg/controller/migmigration/task.go | 16 +++++++--------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/pkg/controller/migmigration/dvm.go b/pkg/controller/migmigration/dvm.go index fa0220e51..3ccd70a75 100644 --- a/pkg/controller/migmigration/dvm.go +++ b/pkg/controller/migmigration/dvm.go @@ -55,7 +55,7 @@ func (t *Task) buildDirectVolumeMigration() *migapi.DirectVolumeMigration { Spec: migapi.DirectVolumeMigrationSpec{ SrcMigClusterRef: t.PlanResources.SrcMigCluster.GetObjectReference(), DestMigClusterRef: t.PlanResources.DestMigCluster.GetObjectReference(), - PersistentVolumeClaims: *pvcList, + PersistentVolumeClaims: pvcList, CreateDestinationNamespaces: true, }, } @@ -202,7 +202,7 @@ func (t *Task) getDVMPodProgress(dvm migapi.DirectVolumeMigration) []string { return progress } -func (t *Task) getDirectVolumeClaimList() *[]migapi.PVCToMigrate { +func (t *Task) getDirectVolumeClaimList() []migapi.PVCToMigrate { nsMapping := t.PlanResources.MigPlan.GetNamespaceMapping() var pvcList []migapi.PVCToMigrate for _, pv := range t.PlanResources.MigPlan.Spec.PersistentVolumes.List { @@ -227,7 +227,7 @@ func (t *Task) getDirectVolumeClaimList() *[]migapi.PVCToMigrate { Verify: pv.Selection.Verify, }) } - return &pvcList + return pvcList } func (t *Task) deleteDirectVolumeMigrationResources() error { diff --git a/pkg/controller/migmigration/task.go b/pkg/controller/migmigration/task.go index 131bab244..67d60062e 100644 --- a/pkg/controller/migmigration/task.go +++ b/pkg/controller/migmigration/task.go @@ -722,11 +722,13 @@ func (t *Task) Run(ctx context.Context) error { return liberr.Wrap(err) } case CreateDirectVolumeMigration: - err := t.createDirectVolumeMigration() - if err != nil { - return liberr.Wrap(err) + if t.hasDirectVolumes() { + err := t.createDirectVolumeMigration() + if err != nil { + return liberr.Wrap(err) + } } - if err = t.next(); err != nil { + if err := t.next(); err != nil { return liberr.Wrap(err) } case WaitForDirectVolumeMigrationToComplete: @@ -1677,11 +1679,7 @@ func (t *Task) hasDirectVolumes() bool { if t.PlanResources.MigPlan.Spec.IndirectVolumeMigration { return false } - pvcList := t.getDirectVolumeClaimList() - if pvcList != nil { - return true - } - return false + return t.getDirectVolumeClaimList() != nil } // Get whether the associated plan has imagestreams to be migrated