Description of problem: In kube-apiserver logs, found ... "[SHOULD NOT HAPPEN] failed to update managedFields" err="failed to convert new object (machine.openshift.io/v1beta1, Kind=MachineHealthCheck) to smd typed: errors:\n .spec.maxUnhealthy: expected string, got &value.valueUnstructured{Value: ... Version-Release number of selected component (if applicable): 4.8.8-x86_64 How reproducible: at least once Steps to Reproduce: 1.Vsphere 7 IPI installed cluster with windows_server_ver_2004 workers and OVNKubernetes network 2.Run some of QE automated tests 3.Check the kube-apiserver logs on all master nodes. Actual results: In kube-apiserver log files found two "[SHOULD NOT HAPPEN]" errors, 448061 20 fieldmanager.go:191] "[SHOULD NOT HAPPEN] failed to update managedFields" err="failed to convert new object (machine.openshift.io/v1beta1, Kind=MachineHealthCheck) to smd typed: .spec.maxUnhealthy: expected string, got &value.valueUnstructured{Value:3}" VersionKind=" 456379 22 fieldmanager.go:191] "[SHOULD NOT HAPPEN] failed to update managedFields" err="failed to convert new object (machine.openshift.io/v1beta1, Kind=MachineHealthCheck) to smd typed: errors:\n .spec.maxUnhealthy: expected string, got &value.valueUnstructured{Value: ... Expected results: Should not see above errors in kube-apiserver logs. Additional info:
The OpenAPI spec does not match the type: https://github.com/openshift/machine-api-operator/blob/master/install/0000_30_machine-api-operator_07_machinehealthcheck.crd.yaml#L28 https://github.com/openshift/machine-api-operator/blob/master/pkg/apis/machine/v1beta1/machinehealthcheck_types.go#L71 IntOrString is not string. CRD schemas can express IntOrString correctly.
verified clusterversion: 4.10.0-0.nightly-2021-09-17-190348 NO error was found again, the maxUnhealthy "type: string" has been removed from crd $ oc logs kube-apiserver-xiyun410-0918-z2hdz-master-0 -n openshift-kube-apiserver | grep "SHOULD NOT HAPPEN" $ oc logs kube-apiserver-xiyun410-0918-z2hdz-master-1 -n openshift-kube-apiserver | grep "SHOULD NOT HAPPEN" $ oc logs kube-apiserver-xiyun410-0918-z2hdz-master-2 -n openshift-kube-apiserver | grep "SHOULD NOT HAPPEN" $ oc edit crd machinehealthchecks.machine.openshift.io x-kubernetes-int-or-string: true nodeStartupTimeout: default: 10m
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.10.3 security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:0056