Skip to content

Commit 6405238

Browse files
committed
Set GVK in env.PatchAndWait
1 parent 91c6f9e commit 6405238

File tree

2 files changed

+14
-28
lines changed

2 files changed

+14
-28
lines changed

internal/controllers/topology/cluster/reconcile_state_test.go

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2035,10 +2035,7 @@ func TestReconcileControlPlaneMachineHealthCheck(t *testing.T) {
20352035
g.Expect(env.PatchAndWait(ctx, tt.current.InfrastructureMachineTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
20362036
}
20372037
if tt.current.MachineHealthCheck != nil {
2038-
// Note: Have to set GVK on typed objects when using SSA.
2039-
mhc := tt.current.MachineHealthCheck.DeepCopy()
2040-
mhc.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachineHealthCheck"))
2041-
g.Expect(env.PatchAndWait(ctx, mhc, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2038+
g.Expect(env.PatchAndWait(ctx, tt.current.MachineHealthCheck, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
20422039
}
20432040
}
20442041

@@ -2322,10 +2319,7 @@ func TestReconcileMachineDeployments(t *testing.T) {
23222319
for _, s := range tt.current {
23232320
g.Expect(env.PatchAndWait(ctx, s.InfrastructureMachineTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
23242321
g.Expect(env.PatchAndWait(ctx, s.BootstrapTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2325-
// Note: Have to set GVK on typed objects when using SSA.
2326-
md := s.Object.DeepCopy()
2327-
md.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachineDeployment"))
2328-
g.Expect(env.PatchAndWait(ctx, md, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2322+
g.Expect(env.PatchAndWait(ctx, s.Object, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
23292323
}
23302324

23312325
currentMachineDeploymentStates := toMachineDeploymentTopologyStateMap(tt.current)
@@ -2339,10 +2333,7 @@ func TestReconcileMachineDeployments(t *testing.T) {
23392333

23402334
g.Expect(env.PatchAndWait(ctx, mdState.InfrastructureMachineTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
23412335
g.Expect(env.PatchAndWait(ctx, mdState.BootstrapTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2342-
// Note: Have to set GVK on typed objects when using SSA.
2343-
md := mdState.Object.DeepCopy()
2344-
md.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachineDeployment"))
2345-
g.Expect(env.PatchAndWait(ctx, md, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2336+
g.Expect(env.PatchAndWait(ctx, mdState.Object, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
23462337
}
23472338

23482339
s.Desired = &scope.ClusterState{MachineDeployments: toMachineDeploymentTopologyStateMap(tt.desired)}
@@ -2735,10 +2726,7 @@ func TestReconcileMachinePools(t *testing.T) {
27352726
for _, s := range tt.current {
27362727
g.Expect(env.PatchAndWait(ctx, s.InfrastructureMachinePoolObject, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
27372728
g.Expect(env.PatchAndWait(ctx, s.BootstrapObject, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2738-
// Note: Have to set GVK on typed objects when using SSA.
2739-
mp := s.Object.DeepCopy()
2740-
mp.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachinePool"))
2741-
g.Expect(env.PatchAndWait(ctx, mp, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2729+
g.Expect(env.PatchAndWait(ctx, s.Object, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
27422730
}
27432731

27442732
currentMachinePoolStates := toMachinePoolTopologyStateMap(tt.current)
@@ -2752,10 +2740,7 @@ func TestReconcileMachinePools(t *testing.T) {
27522740

27532741
g.Expect(env.PatchAndWait(ctx, mpState.InfrastructureMachinePoolObject, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
27542742
g.Expect(env.PatchAndWait(ctx, mpState.BootstrapObject, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2755-
// Note: Have to set GVK on typed objects when using SSA.
2756-
mp := mpState.Object.DeepCopy()
2757-
mp.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachinePool"))
2758-
g.Expect(env.PatchAndWait(ctx, mp, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
2743+
g.Expect(env.PatchAndWait(ctx, mpState.Object, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
27592744
}
27602745

27612746
s.Desired = &scope.ClusterState{MachinePools: toMachinePoolTopologyStateMap(tt.desired)}
@@ -3543,10 +3528,7 @@ func TestReconcileMachineDeploymentMachineHealthCheck(t *testing.T) {
35433528
uidsByName := map[string]types.UID{}
35443529

35453530
for _, mdts := range tt.current {
3546-
// Note: Have to set GVK on typed objects when using SSA.
3547-
mdtsMD := mdts.Object.DeepCopy()
3548-
mdtsMD.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachineDeployment"))
3549-
g.Expect(env.PatchAndWait(ctx, mdtsMD, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
3531+
g.Expect(env.PatchAndWait(ctx, mdts.Object, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
35503532
g.Expect(env.PatchAndWait(ctx, mdts.InfrastructureMachineTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
35513533
g.Expect(env.PatchAndWait(ctx, mdts.BootstrapTemplate, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
35523534

@@ -3557,10 +3539,7 @@ func TestReconcileMachineDeploymentMachineHealthCheck(t *testing.T) {
35573539
ref.UID = mdts.Object.GetUID()
35583540
mdts.MachineHealthCheck.OwnerReferences[i] = ref
35593541
}
3560-
// Note: Have to set GVK on typed objects when using SSA.
3561-
mdtsMHC := mdts.MachineHealthCheck.DeepCopy()
3562-
mdtsMHC.SetGroupVersionKind(clusterv1.GroupVersion.WithKind("MachineHealthCheck"))
3563-
g.Expect(env.PatchAndWait(ctx, mdtsMHC, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
3542+
g.Expect(env.PatchAndWait(ctx, mdts.MachineHealthCheck, client.ForceOwnership, client.FieldOwner(structuredmerge.TopologyManagerName))).To(Succeed())
35643543
}
35653544
}
35663545

internal/test/envtest/environment.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import (
5252
ctrl "sigs.k8s.io/controller-runtime"
5353
"sigs.k8s.io/controller-runtime/pkg/cache"
5454
"sigs.k8s.io/controller-runtime/pkg/client"
55+
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
5556
"sigs.k8s.io/controller-runtime/pkg/config"
5657
"sigs.k8s.io/controller-runtime/pkg/envtest"
5758
"sigs.k8s.io/controller-runtime/pkg/manager"
@@ -617,6 +618,12 @@ func (e *Environment) DeleteAndWait(ctx context.Context, obj client.Object, opts
617618
//
618619
// NOTE: Waiting for the cache to be updated helps in preventing test flakes due to the cache sync delays.
619620
func (e *Environment) PatchAndWait(ctx context.Context, obj client.Object, opts ...client.PatchOption) error {
621+
objGVK, err := apiutil.GVKForObject(obj, e.Scheme())
622+
if err != nil {
623+
return errors.Wrapf(err, "failed to get GVK to set GVK on object")
624+
}
625+
obj.GetObjectKind().SetGroupVersionKind(objGVK)
626+
620627
key := client.ObjectKeyFromObject(obj)
621628
objCopy := obj.DeepCopyObject().(client.Object)
622629
if err := e.GetAPIReader().Get(ctx, key, objCopy); err != nil {

0 commit comments

Comments
 (0)