@@ -38,6 +38,7 @@ import (
3838 "sigs.k8s.io/controller-runtime/pkg/log"
3939
4040 infrav1 "sigs.k8s.io/cluster-api-provider-vsphere/apis/v1beta1"
41+ "sigs.k8s.io/cluster-api-provider-vsphere/feature"
4142 "sigs.k8s.io/cluster-api-provider-vsphere/pkg/context"
4243 "sigs.k8s.io/cluster-api-provider-vsphere/pkg/context/fake"
4344 "sigs.k8s.io/cluster-api-provider-vsphere/pkg/identity"
@@ -522,18 +523,42 @@ func Test_reconcile(t *testing.T) {
522523 t .Run ("during VM creation" , func (t * testing.T ) {
523524 initObjs := []client.Object {vsphereCluster , machine , vsphereVM }
524525 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 ())
533545 })
534546
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+ })
537562 })
538563
539564 t .Run ("when info can be fetched" , func (t * testing.T ) {
0 commit comments