Jaeger/Kiali Operator upgrade blocked with operator pending
Environment
- OCP 4.2 and 4.3.
- Service Mesh <= 1.0.10
- Kiali 1.0
- Jaeger 1.13.1
Issue
When upgrading the Jaeger and/or Kiali Operators, with Service Mesh 1.0.x installed, the operator status remains in the Pending state:
OpenShift CLI (oc)
Before upgrade has been invoked-
oc get csv -n openshift-operators
NAME DISPLAY VERSION REPLACES PHASE
elasticsearch-operator.4.3.10-202003311428 Elasticsearch Operator 4.3.10-202003311428 Succeeded
jaeger-operator.v1.13.1 Jaeger Operator 1.13.1 Succeeded
After upgrade has been invoked, and is blocked-
oc get csv -n openshift-operators
NAME DISPLAY VERSION REPLACES PHASE
elasticsearch-operator.4.3.10-202003311428 Elasticsearch Operator 4.3.10-202003311428 Succeeded
jaeger-operator.v1.17.1 Red Hat OpenShift Jaeger 1.17.1 jaeger-operator.v1.13.1 Pending
Resolution
The Service Mesh Operator 1.1 removes the dependency on Jaeger and Kiali Operators, thus working around the bug. If the Service Mesh Operator is not fully upgraded to 1.1, before the Jaeger and Kiali operators are upgraded, then the issue may still occur.
Therefore if you see the blocked upgrade issue, you will need to uninstall and then reinstall the affected operator (i.e. Jaeger and/or Kiali).
Root Cause
The Service Mesh Operator 1.0 includes dependencies on the Jaeger and Kiali Operators. Due to a bug in the OLM lifecycle management mechanism, this causes problems when the dependee operator is upgraded, causing it’s upgrade to be blocked.
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.