@@ -38,6 +38,7 @@ import (
38
38
"sigs.k8s.io/controller-runtime/pkg/log"
39
39
40
40
infrav1 "sigs.k8s.io/cluster-api-provider-vsphere/apis/v1beta1"
41
+ "sigs.k8s.io/cluster-api-provider-vsphere/feature"
41
42
"sigs.k8s.io/cluster-api-provider-vsphere/pkg/context"
42
43
"sigs.k8s.io/cluster-api-provider-vsphere/pkg/context/fake"
43
44
"sigs.k8s.io/cluster-api-provider-vsphere/pkg/identity"
@@ -522,18 +523,42 @@ func Test_reconcile(t *testing.T) {
522
523
t .Run ("during VM creation" , func (t * testing.T ) {
523
524
initObjs := []client.Object {vsphereCluster , machine , vsphereVM }
524
525
t .Run ("when info cannot be fetched" , func (t * testing.T ) {
525
- r := setupReconciler (new (fake_svc.VMService ), initObjs ... )
526
- _ , err := r .reconcile (& context.VMContext {
527
- ControllerContext : r .ControllerContext ,
528
- VSphereVM : vsphereVM ,
529
- Logger : r .Logger ,
530
- }, fetchClusterModuleInput {
531
- VSphereCluster : vsphereCluster ,
532
- Machine : machine ,
526
+ t .Run ("when anti affinity feature gate is turned off" , func (t * testing.T ) {
527
+ fakeVMSvc := new (fake_svc.VMService )
528
+ fakeVMSvc .On ("ReconcileVM" , mock .Anything ).Return (infrav1.VirtualMachine {
529
+ Name : vsphereVM .Name ,
530
+ BiosUUID : "265104de-1472-547c-b873-6dc7883fb6cb" ,
531
+ State : infrav1 .VirtualMachineStateReady ,
532
+ }, nil )
533
+ r := setupReconciler (fakeVMSvc , initObjs ... )
534
+ _ , err := r .reconcile (& context.VMContext {
535
+ ControllerContext : r .ControllerContext ,
536
+ VSphereVM : vsphereVM ,
537
+ Logger : r .Logger ,
538
+ }, fetchClusterModuleInput {
539
+ VSphereCluster : vsphereCluster ,
540
+ Machine : machine ,
541
+ })
542
+
543
+ g := NewWithT (t )
544
+ g .Expect (err ).NotTo (HaveOccurred ())
533
545
})
534
546
535
- g := NewWithT (t )
536
- g .Expect (err ).To (HaveOccurred ())
547
+ t .Run ("when anti affinity feature gate is turned on" , func (t * testing.T ) {
548
+ _ = feature .MutableGates .Set ("NodeAntiAffinity=true" )
549
+ r := setupReconciler (new (fake_svc.VMService ), initObjs ... )
550
+ _ , err := r .reconcile (& context.VMContext {
551
+ ControllerContext : r .ControllerContext ,
552
+ VSphereVM : vsphereVM ,
553
+ Logger : r .Logger ,
554
+ }, fetchClusterModuleInput {
555
+ VSphereCluster : vsphereCluster ,
556
+ Machine : machine ,
557
+ })
558
+
559
+ g := NewWithT (t )
560
+ g .Expect (err ).To (HaveOccurred ())
561
+ })
537
562
})
538
563
539
564
t .Run ("when info can be fetched" , func (t * testing.T ) {
0 commit comments