Bug 1999425

Summary: kube-apiserver with "[SHOULD NOT HAPPEN] failed to update managedFields" err="failed to convert new object (machine.openshift.io/v1beta1, Kind=MachineHealthCheck)
Product: OpenShift Container Platform Reporter: Ke Wang <kewang>
Component: Cloud ComputeAssignee: Joel Speed <jspeed>
Cloud Compute sub component: MachineHealthCheck QA Contact: sunzhaohua <zhsun>
Status: CLOSED ERRATA Docs Contact:
Severity: medium    
Priority: medium CC: aos-bugs, mfojtik, xxia
Version: 4.8   
Target Milestone: ---   
Target Release: 4.10.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: CRD schema requirements were too strict and did not allow numeric values Consequence: Marshalling errors occurred during upgrades Fix: Correct the schema requirements to allow both string and numeric values Result: Marshalling errors are no longer reported by the API server conversion
Story Points: ---
Clone Of:
: 2005242 (view as bug list) Environment:
Last Closed: 2022-03-12 04:37:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2005242    

Description Ke Wang 2021-08-31 07:58:26 UTC
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:

Comment 3 sunzhaohua 2021-09-18 05:08:26 UTC
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

Comment 6 errata-xmlrpc 2022-03-12 04:37:58 UTC
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