Skip to content

Commit e76aba5

Browse files
fix
Signed-off-by: Yaroslav Borbat <[email protected]>
1 parent 7047a99 commit e76aba5

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

images/virtualization-artifact/pkg/controller/vd/vd_controller.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@ import (
2828
"sigs.k8s.io/controller-runtime/pkg/metrics"
2929

3030
"github.com/deckhouse/deckhouse/pkg/log"
31+
3132
"github.com/deckhouse/virtualization-controller/pkg/config"
3233
"github.com/deckhouse/virtualization-controller/pkg/controller/service"
3334
"github.com/deckhouse/virtualization-controller/pkg/controller/vd/internal"
3435
intsvc "github.com/deckhouse/virtualization-controller/pkg/controller/vd/internal/service"
3536
"github.com/deckhouse/virtualization-controller/pkg/controller/vd/internal/source"
3637
"github.com/deckhouse/virtualization-controller/pkg/dvcr"
3738
"github.com/deckhouse/virtualization-controller/pkg/eventrecord"
39+
"github.com/deckhouse/virtualization-controller/pkg/featuregates"
3840
"github.com/deckhouse/virtualization-controller/pkg/logger"
3941
vdcolelctor "github.com/deckhouse/virtualization-controller/pkg/monitoring/metrics/vd"
4042
virtv2 "github.com/deckhouse/virtualization/api/core/v1alpha2"
@@ -77,8 +79,7 @@ func NewController(
7779
sources.Set(virtv2.DataSourceTypeObjectRef, source.NewObjectRefDataSource(recorder, disk, mgr.GetClient()))
7880
sources.Set(virtv2.DataSourceTypeUpload, source.NewUploadDataSource(recorder, stat, uploader, disk, dvcr, mgr.GetClient()))
7981

80-
reconciler := NewReconciler(
81-
mgr.GetClient(),
82+
handlers := []Handler{
8283
internal.NewStorageClassReadyHandler(scService),
8384
internal.NewDatasourceReadyHandler(recorder, blank, sources),
8485
internal.NewLifeCycleHandler(recorder, blank, sources, mgr.GetClient()),
@@ -87,8 +88,15 @@ func NewController(
8788
internal.NewDeletionHandler(sources, mgr.GetClient()),
8889
internal.NewStatsHandler(stat, importer, uploader),
8990
internal.NewInUseHandler(mgr.GetClient()),
90-
internal.NewMigrationHandler(mgr.GetClient(), scService, disk),
91-
internal.NewProtectionHandler(),
91+
}
92+
if featuregates.Default().Enabled(featuregates.VolumeMigration) {
93+
handlers = append(handlers, internal.NewMigrationHandler(mgr.GetClient(), scService, disk))
94+
}
95+
handlers = append(handlers, internal.NewProtectionHandler())
96+
97+
reconciler := NewReconciler(
98+
mgr.GetClient(),
99+
handlers...,
92100
)
93101

94102
vdController, err := controller.New(ControllerName, mgr, controller.Options{

images/virtualization-artifact/pkg/controller/vmop/migration/internal/handler/lifecycle.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
"github.com/deckhouse/virtualization-controller/pkg/controller/vmop/migration/internal/service"
3434
genericservice "github.com/deckhouse/virtualization-controller/pkg/controller/vmop/service"
3535
"github.com/deckhouse/virtualization-controller/pkg/eventrecord"
36+
"github.com/deckhouse/virtualization-controller/pkg/featuregates"
3637
"github.com/deckhouse/virtualization-controller/pkg/livemigration"
3738
"github.com/deckhouse/virtualization-controller/pkg/logger"
3839
"github.com/deckhouse/virtualization/api/core/v1alpha2"
@@ -309,20 +310,22 @@ func (h LifecycleHandler) canExecute(vmop *v1alpha2.VirtualMachineOperation, vm
309310
return true
310311
}
311312

312-
if migratable.Reason == vmcondition.ReasonDisksNotMigratable.String() {
313-
migrating, _ := conditions.GetCondition(vmcondition.TypeMigrating, vm.Status.Conditions)
314-
if migrating.Reason == vmcondition.ReasonReadyToMigrate.String() {
315-
return true
316-
}
313+
if featuregates.Default().Enabled(featuregates.VolumeMigration) {
314+
if migratable.Reason == vmcondition.ReasonDisksNotMigratable.String() {
315+
migrating, _ := conditions.GetCondition(vmcondition.TypeMigrating, vm.Status.Conditions)
316+
if migrating.Reason == vmcondition.ReasonReadyToMigrate.String() {
317+
return true
318+
}
317319

318-
vmop.Status.Phase = v1alpha2.VMOPPhasePending
319-
conditions.SetCondition(
320-
conditions.NewConditionBuilder(vmopcondition.TypeCompleted).
321-
Generation(vmop.GetGeneration()).
322-
Reason(vmopcondition.ReasonWaitingForVirtualMachineToBeReadyToMigrate).
323-
Status(metav1.ConditionFalse),
324-
&vmop.Status.Conditions)
325-
return false
320+
vmop.Status.Phase = v1alpha2.VMOPPhasePending
321+
conditions.SetCondition(
322+
conditions.NewConditionBuilder(vmopcondition.TypeCompleted).
323+
Generation(vmop.GetGeneration()).
324+
Reason(vmopcondition.ReasonWaitingForVirtualMachineToBeReadyToMigrate).
325+
Status(metav1.ConditionFalse),
326+
&vmop.Status.Conditions)
327+
return false
328+
}
326329
}
327330

328331
vmop.Status.Phase = v1alpha2.VMOPPhaseFailed

0 commit comments

Comments
 (0)