Skip to content

Commit c89253a

Browse files
Merge pull request #29564 from openshift-cherrypick-robot/cherry-pick-29560-to-release-4.18
[release-4.18] OCPBUGS-51295: Rely on unstructured for update status instead of type conversion
2 parents 06834b6 + 2eb641a commit c89253a

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

test/extended/apiserver/patch.go

+6-11
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,13 @@ func createWellKnownKubeAPIServerOperatorResource(ctx context.Context, resourceC
112112
unstructuredKasOperator, err := resourceClient.Create(ctx, unstructuredKasOperatorManifest, metav1.CreateOptions{})
113113
o.Expect(err).NotTo(o.HaveOccurred())
114114

115-
kasOperator := unstructuredToKubeAPIServerOperator(unstructuredKasOperator.Object)
116-
kasOperatorFromManifest := unstructuredToKubeAPIServerOperator(unstructuredKasOperatorManifest.Object)
117-
kasOperator.Status = kasOperatorFromManifest.Status
118-
unstructuredKasOperator, err = resourceClient.UpdateStatus(ctx, kubeAPIServerOperatorToUnstructured(kasOperator), metav1.UpdateOptions{})
115+
manifestStatus, _, err := unstructured.NestedMap(unstructuredKasOperatorManifest.Object, "status")
119116
o.Expect(err).NotTo(o.HaveOccurred())
120-
kasOperator = unstructuredToKubeAPIServerOperator(unstructuredKasOperator.Object)
117+
err = unstructured.SetNestedMap(unstructuredKasOperator.Object, manifestStatus, "status")
118+
o.Expect(err).NotTo(o.HaveOccurred())
119+
unstructuredKasOperator, err = resourceClient.UpdateStatus(ctx, unstructuredKasOperator, metav1.UpdateOptions{})
120+
o.Expect(err).NotTo(o.HaveOccurred())
121+
kasOperator := unstructuredToKubeAPIServerOperator(unstructuredKasOperator.Object)
121122
o.Expect(kasOperator.Status.NodeStatuses).To(o.Equal([]operatorv1.NodeStatus{
122123
{NodeName: "master-1"},
123124
{NodeName: "master-2"},
@@ -200,12 +201,6 @@ func unstructuredToKubeAPIServerOperator(obj map[string]interface{}) *operatorv1
200201
return ret
201202
}
202203

203-
func kubeAPIServerOperatorToUnstructured(kasOperator *operatorv1.KubeAPIServer) *unstructured.Unstructured {
204-
raw, err := runtime.DefaultUnstructuredConverter.ToUnstructured(kasOperator)
205-
o.Expect(err).NotTo(o.HaveOccurred())
206-
return &unstructured.Unstructured{Object: raw}
207-
}
208-
209204
func createResourceClient(cfg *rest.Config, gvr schema.GroupVersionResource) dynamic.ResourceInterface {
210205
dynamicClient, err := dynamic.NewForConfig(cfg)
211206
o.Expect(err).NotTo(o.HaveOccurred())

0 commit comments

Comments
 (0)