@@ -2029,7 +2029,10 @@ func TestReconcileControlPlaneMachineHealthCheck(t *testing.T) {
20292029 g .Expect (env .PatchAndWait (ctx , tt .current .InfrastructureMachineTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
20302030 }
20312031 if tt .current .MachineHealthCheck != nil {
2032- g .Expect (env .PatchAndWait (ctx , tt .current .MachineHealthCheck , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2032+ // Note: Have to set GVK on typed objects when using SSA.
2033+ mhc := tt .current .MachineHealthCheck .DeepCopy ()
2034+ mhc .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachineHealthCheck" ))
2035+ g .Expect (env .PatchAndWait (ctx , mhc , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
20332036 }
20342037 }
20352038
@@ -2313,7 +2316,10 @@ func TestReconcileMachineDeployments(t *testing.T) {
23132316 for _ , s := range tt .current {
23142317 g .Expect (env .PatchAndWait (ctx , s .InfrastructureMachineTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
23152318 g .Expect (env .PatchAndWait (ctx , s .BootstrapTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2316- g .Expect (env .PatchAndWait (ctx , s .Object , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2319+ // Note: Have to set GVK on typed objects when using SSA.
2320+ md := s .Object .DeepCopy ()
2321+ md .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachineDeployment" ))
2322+ g .Expect (env .PatchAndWait (ctx , md , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
23172323 }
23182324
23192325 currentMachineDeploymentStates := toMachineDeploymentTopologyStateMap (tt .current )
@@ -2327,7 +2333,10 @@ func TestReconcileMachineDeployments(t *testing.T) {
23272333
23282334 g .Expect (env .PatchAndWait (ctx , mdState .InfrastructureMachineTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
23292335 g .Expect (env .PatchAndWait (ctx , mdState .BootstrapTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2330- g .Expect (env .PatchAndWait (ctx , mdState .Object , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2336+ // Note: Have to set GVK on typed objects when using SSA.
2337+ md := mdState .Object .DeepCopy ()
2338+ md .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachineDeployment" ))
2339+ g .Expect (env .PatchAndWait (ctx , md , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
23312340 }
23322341
23332342 s .Desired = & scope.ClusterState {MachineDeployments : toMachineDeploymentTopologyStateMap (tt .desired )}
@@ -2720,7 +2729,10 @@ func TestReconcileMachinePools(t *testing.T) {
27202729 for _ , s := range tt .current {
27212730 g .Expect (env .PatchAndWait (ctx , s .InfrastructureMachinePoolObject , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
27222731 g .Expect (env .PatchAndWait (ctx , s .BootstrapObject , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2723- g .Expect (env .PatchAndWait (ctx , s .Object , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2732+ // Note: Have to set GVK on typed objects when using SSA.
2733+ mp := s .Object .DeepCopy ()
2734+ mp .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachinePool" ))
2735+ g .Expect (env .PatchAndWait (ctx , mp , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
27242736 }
27252737
27262738 currentMachinePoolStates := toMachinePoolTopologyStateMap (tt .current )
@@ -2734,7 +2746,10 @@ func TestReconcileMachinePools(t *testing.T) {
27342746
27352747 g .Expect (env .PatchAndWait (ctx , mpState .InfrastructureMachinePoolObject , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
27362748 g .Expect (env .PatchAndWait (ctx , mpState .BootstrapObject , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2737- g .Expect (env .PatchAndWait (ctx , mpState .Object , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
2749+ // Note: Have to set GVK on typed objects when using SSA.
2750+ mp := mpState .Object .DeepCopy ()
2751+ mp .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachinePool" ))
2752+ g .Expect (env .PatchAndWait (ctx , mp , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
27382753 }
27392754
27402755 s .Desired = & scope.ClusterState {MachinePools : toMachinePoolTopologyStateMap (tt .desired )}
@@ -3522,7 +3537,10 @@ func TestReconcileMachineDeploymentMachineHealthCheck(t *testing.T) {
35223537 uidsByName := map [string ]types.UID {}
35233538
35243539 for _ , mdts := range tt .current {
3525- g .Expect (env .PatchAndWait (ctx , mdts .Object , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
3540+ // Note: Have to set GVK on typed objects when using SSA.
3541+ mdtsMD := mdts .Object .DeepCopy ()
3542+ mdtsMD .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachineDeployment" ))
3543+ g .Expect (env .PatchAndWait (ctx , mdtsMD , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
35263544 g .Expect (env .PatchAndWait (ctx , mdts .InfrastructureMachineTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
35273545 g .Expect (env .PatchAndWait (ctx , mdts .BootstrapTemplate , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
35283546
@@ -3533,7 +3551,10 @@ func TestReconcileMachineDeploymentMachineHealthCheck(t *testing.T) {
35333551 ref .UID = mdts .Object .GetUID ()
35343552 mdts .MachineHealthCheck .OwnerReferences [i ] = ref
35353553 }
3536- g .Expect (env .PatchAndWait (ctx , mdts .MachineHealthCheck , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
3554+ // Note: Have to set GVK on typed objects when using SSA.
3555+ mdtsMHC := mdts .MachineHealthCheck .DeepCopy ()
3556+ mdtsMHC .SetGroupVersionKind (clusterv1 .GroupVersion .WithKind ("MachineHealthCheck" ))
3557+ g .Expect (env .PatchAndWait (ctx , mdtsMHC , client .ForceOwnership , client .FieldOwner (structuredmerge .TopologyManagerName ))).To (Succeed ())
35373558 }
35383559 }
35393560
@@ -3583,6 +3604,7 @@ func TestReconcileMachineDeploymentMachineHealthCheck(t *testing.T) {
35833604 ref .UID = ""
35843605 actual .OwnerReferences [i ] = ref
35853606 }
3607+ actual .SetGroupVersionKind (schema.GroupVersionKind {}) // set GVK to empty for comparison
35863608 g .Expect (wantMHC ).To (EqualObject (& actual , IgnoreAutogeneratedMetadata ))
35873609 }
35883610 }
0 commit comments