Why is ClusterNotUpgradeable firing after updating to OCP 4.8?
Environment
- Red Hat OpenShift Container Platform (RHOCP)
- 4.8
- Red Hat OpenShift GitOps
- 1.2
- Operators
Issue
- After upgrading a cluster to OCP 4.8, a
ClusterNotUpgradeable
alert is seen. However the upgrade seams to be finished successful and there is no error reported. - Why the alert
ClusterNotUpgradeable
is firing in OpenShift 4.8 clusters that have OpenShift GitOps installed?
Resolution
Some operators could be not compatible with Openshift 4.9, so the upgrade to that version will be denied. But the upgrades to newer 4.8.z are still possible and working. Refer to the Diagnostic Steps section for additional information.
Note: If the alert includes the
AdminAckRequired
reason, refer to ClusterNotUpgradeable and AdminAckRequired in OCP 4.8.
For example, Red Hat OpenShift GitOps 1.2 is not compatible with Red Hat OpenShift Container Platform 4.9, which is why the IncompatibleOperatorsInstalled
condition in the Cluster Version Operator (CVO) is set and thus triggering ClusterNotUpgradeable
which is looking for IncompatibleOperatorsInstalled
being set.
Root Cause
Some operators could be not compatible with Openshift 4.9, so the upgrade to that version will be denied.
Diagnostic Steps
-
The
Upgradeable
condition in the Cluster Version Operator (CVO) should contain more details whyIncompatibleOperatorsInstalled
is set. To extract those details, runoc get clusterversion version -o json
:{ "apiVersion": "config.openshift.io/v1", "kind": "ClusterVersion", [...] "spec": { "channel": "stable-4.8", "clusterID": "XXXXXXXX-XXXX-XXXX-XXXXXXXX", "desiredUpdate": { "image": "quay.io/openshift-release-dev/ocp-release@sha256:53576e4df71a5f00f77718f25aec6ac7946eaaab998d99d3e3f03fcb403364db", "version": "4.8.10" }, "upstream": "https://api.openshift.com/api/upgrades_info/v1/graph" }, "status": { "availableUpdates": null, "conditions": [ [...] { "lastTransitionTime": "2021-09-13T07:32:56Z", "message": "Cluster operator operator-lifecycle-manager cannot be upgraded between minor versions: ClusterServiceVersions blocking cluster upgrade: openshift-operators/openshift-gitops-operator.v1.2.0 is incompatible with OpenShift minor versions greater than 4.8", <-- This shows details why IncompatibleOperatorsInstalled is set "reason": "IncompatibleOperatorsInstalled", "status": "False", "type": "Upgradeable" } [...] ], [...]
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments