Description of problem: When OLM reconciles the clusteroperator upgradeable condition, it sets that condition to false when installed operators set the maxopenshiftversion to a minor ocp version less than or equal to the current ocp version. This blocks minor version upgrades until those workloads are handled correctly. However, when we set that condition we also propogate a message to the cluster that describes this. It includes a reference to the maxocpversion, but it appends the patch version in order to describe the semantic version of the cluster. Ex: Reason: IncompatibleOperatorsInstalled Message: Cluster operator operator-lifecycle-manager cannot be upgraded between minor versions: The following operators block OpenShift upgrades: Operator openshift-gitops-operator.v1.2.0 in namespace openshift-operators is not compatible with OpenShift versions greater than 4.8.0 This message is incorrect. This status does not block upgrades for versions greater than 4.8.0, it blocks upgrades for versions >=4.9.0 when the operator sets MaxOpenShiftVersion = "4.8". This message needs to be updated so that it is clear to end users that this does not block z-stream updates in the 4.8 upgrade path. Version-Release number of selected component (if applicable): 4.8 How reproducible: always Steps to Reproduce: 1. Install an operator on 4.8 that sets the maxopenshiftversion=4.8 2. Look at the clusteroperator status field for the operator-lifecycle-manager clusteroperator object 3. Actual results: Status looks like: Cluster operator operator-lifecycle-manager cannot be upgraded between minor versions: The following operators block OpenShift upgrades: Operator $OperatorName in namespace $OperatorNamespace is not compatible with OpenShift versions greater than 4.8.0 Expected results: The message should be updated to be clear that z-streams for the current version can still be installed instead of referencing 4.8.0 Additional info:
*** Bug 1992809 has been marked as a duplicate of this bug. ***
Hi there, Currently upgrading to 4.8.4 and bumping into a similar issue: > $ oc get clusterversion > > NAME VERSION AVAILABLE PROGRESSING SINCE STATUS > version 4.7.21 True True 10h Unable to apply 4.8.4: the cluster operator authentication has not yet successfully rolled out > $ oc get clusterversion -o yaml > ... > - lastTransitionTime: "2021-08-12T10:31:28Z" > message: 'Cluster operator operator-lifecycle-manager cannot be upgraded between minor versions: The following operators block OpenShift upgrades: Operator ocs-operator.v4.8.0 in namespace openshift-storage is not compatible with OpenShift versions greater than 4.8.0,Operator kubevirt-hyperconverged-operator.v4.8.0 in namespace openshift-cnv is not compatible with OpenShift versions greater than 4.8.0' > reason: IncompatibleOperatorsInstalled > status: "False" > type: Upgradeable > ... What would be a valid workaround? I'm thinking of updating the operator yaml from: > olm.properties: '[{"type": "olm.maxOpenShiftVersion", "value": "4.8"}]' to: > olm.properties: '[{"type": "olm.maxOpenShiftVersion", "value": "4.8.4"}]' But suggestions are welcome! Kind regards, Jimmy Scott
This bug doesn't affect cluster availability but the messaging is confusing to the point that I believe we should fix this before we promote 4.7 to 4.8 upgrades to the stable channel. So marking this as Upgrades, UpgradeBlocker to help track that and I'll go ahead and clone this.
Since there is no 4.9.z payload, the users won't meet this bug on 4.9 for now. After reading the code, looks good. I will verify it so that we can backport it to the 4.8.z quickly. FYI, I also created a cluster that contains the unmerged PR via cluster-bot, but it's a 4.8 cluster, not 4.9. launch openshift/operator-framework-olm#169 aws [cloud-user@preserve-olm-env jian]$ oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.8.0-0.ci.test-2021-08-19-063248-ci-ln-mk8cbdk-latest True False 35m Cluster version is 4.8.0-0.ci.test-2021-08-19-063248-ci-ln-mk8cbdk-latest [cloud-user@preserve-olm-env jian]$ oc exec catalog-operator-5f464ccbdc-dkzx6 -- olm --version OLM version: 0.18.3 git commit: 17061749dd8f8c2f0e669f07b93f35a92c6c95d1
Changed it to VERIFIED based on comment 5.
Per comment 3, UpgradeBlocker here was reminding us that we wanted this fixed in 4.8.z before we enabled stable 4.7->4.8 edges. But the backport of this fix went out with 4.8.10 [1], so we can drop that marker now. [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1994038#c17
@
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.9.0 bug fix and 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-2021:3759
I also have a CU having the same issue in 4.9.15 Case linked 03143352 ClusterServiceVersions blocking cluster upgrade: sebshift-powerscale-csi/dell-csi-operator.v1.6.0 is incompatible with OpenShift minor versions greater than 4.9