The machine-config cluster operator is reporting full text string values for reason, which is not what Reason is for.
For instance, a 4.1.0 cluster is reporting:
reason = "timed out waiting for the condition during waitForDeploymentRollout: Deployment machine-config-controller is not ready. status: (replicas: 1, updated: 1, ready: 0, unavailable: 1)"
That value should be in "message" - reason must be a camel-case constant with low cardinality like "WaitForRollout" or "Timeout".
Using messages in this field can cause prometheus to report too many series, and the limit is also unbounded which could result in a failure to report metrics.
This is high severity because it could potentially bring down prometheus due to size limits, and is the wrong value. Needs to be fixed in 4.1.3 or 4.1.4.
Verify this bug with 4.1.4 stable payload.
# oc get clusterversion
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS
version 4.1.4 True False 4h39m Cluster version is 4.1.4
No such error found in machine-config-operator pod log or workers' kubelet service log.
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, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.