Bug 2008356
| Summary: | osus operator upgrade failed due to no replace/skipRange info specified in v4.9.0 csv | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | liujia <jiajliu> |
| Component: | OpenShift Update Service | Assignee: | Lalatendu Mohanty <lmohanty> |
| OpenShift Update Service sub component: | operator | QA Contact: | liujia <jiajliu> |
| Status: | CLOSED ERRATA | Docs Contact: | Kathryn Alexander <kalexand> |
| Severity: | high | ||
| Priority: | high | CC: | lmohanty, pruan |
| Version: | 4.9 | ||
| Target Milestone: | --- | ||
| Target Release: | 4.9.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-10-15 16:20:30 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: | |||
Setting blocker - as this is not a blocker for OCP release Documentation for how to fix this available at https://olm.operatorframework.io/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/ With latest build I am using skips: - update-service-operator.v4.6.0 verified with 4.8, install 4.6 version of the operator, update the source: to use qe-app-registry, upgrade initiated for 4.9 version of the operator. Thanks Perter to verify the bug during my holiday. Just have a double check, it works now. # ./oc get csv NAME DISPLAY VERSION REPLACES PHASE update-service-operator.v4.9.0 OpenShift Update Service 4.9.0 update-service-operator.v4.6.0 Succeeded # ./oc get csv update-service-operator.v4.9.0 -oyaml|grep -A3 replaces replaces: update-service-operator.v4.6.0 skips: - update-service-operator.v4.6.0 version: 4.9.0 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 (RHEA: OSUS enhancement 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/RHBA-2021:3735 |
Description of problem (please be detailed as possible and provide log snippests): Upgrading osus operator from v4.6.0 to v4.9.0 failed. After changing the source of subscription, no upgrade happen as expected. Checking v4.9.0 csv to find that there is not upgrade related info in v4.9.0 csv which can be used for path detect. # cat manifests/update-service-operator.clusterserviceversion.yaml|grep -E "replace|skip"|wc -l 0 # yaml2json manifests/update-service-operator.clusterserviceversion.yaml|jq .metadata { "annotations": { "alm-examples": "[\n {\n \"apiVersion\": \"updateservice.operator.openshift.io/v1\",\n \"kind\": \"UpdateService\",\n \"metadata\": {\n \"name\": \"sample\"\n },\n \"spec\": {\n \"replicas\": 1\n }\n }\n]", "capabilities": "Basic Install", "description": "Creates and maintains an OpenShift Update Service instance", "operatorframework.io/suggested-namespace": "openshift-update-service", "operators.operatorframework.io/builder": "operator-sdk-v1.9.0+git", "operators.operatorframework.io/project_layout": "go.kubebuilder.io/v3" }, "name": "update-service-operator.v4.9.0", "namespace": "placeholder" } Before triggering upgrade: # ./oc get sub cincinnati-operator -n openshift-update-service -ojson|jq .spec { "channel": "v1", "installPlanApproval": "Manual", "name": "cincinnati-operator", "source": "redhat-operators", "sourceNamespace": "openshift-marketplace", "startingCSV": "update-service-operator.v4.6.0" } # ./oc get sub cincinnati-operator -n openshift-update-service -ojson|jq .status.installedCSV "update-service-operator.v4.6.0" # ./oc get sub cincinnati-operator -n openshift-update-service -ojson|jq .status.currentCSV "update-service-operator.v4.6.0" # ./oc get ip NAME CSV APPROVAL APPROVED install-dx8f2 update-service-operator.v4.6.0 Manual true # ./oc get csv NAME DISPLAY VERSION REPLACES PHASE update-service-operator.v4.6.0 OpenShift Update Service 4.6.0 Succeeded After changing the source of subsription: # ./oc get sub cincinnati-operator -n openshift-update-service -ojson|jq .spec { "channel": "v1", "installPlanApproval": "Manual", "name": "cincinnati-operator", "source": "qe-app-registry", "sourceNamespace": "openshift-marketplace", "startingCSV": "update-service-operator.v4.6.0" } # ./oc get sub -n openshift-update-service NAME PACKAGE SOURCE CHANNEL cincinnati-operator cincinnati-operator qe-app-registry v1 # ./oc get csv -n openshift-update-service NAME DISPLAY VERSION REPLACES PHASE update-service-operator.v4.6.0 OpenShift Update Service 4.6.0 Succeeded # ./oc get ip -n openshift-update-service NAME CSV APPROVAL APPROVED install-dx8f2 update-service-operator.v4.6.0 Manual true Confirmed with OLM qe that we should have replace/skipRange info defined in v4.9.0 csv so that OLM can detect the upgrade path from it. Version of all relevant components (if applicable): cincinnati-operator-bundle-container-v4.9.0-1 # ./oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.8.13 True False 27h Cluster version is 4.8.13 Does this issue impact your ability to continue to work with the product (please explain in detail what is the user impact)? No upgrade test can be done now. Is there any workaround available to the best of your knowledge? Rate from 1 - 5 the complexity of the scenario you performed that caused this bug (1 - very simple, 5 - very complex)? Can this issue reproducible? always Can this issue reproduce from the UI? If this is a regression, please provide more details to justify this: no Steps to Reproduce: 1. Add latest bundle image v4.9.0 to qe pre-release test index image(quay.io/openshift-qe-optional-operators/ocp4-index:latest) 2. Install osus 4.6.0(from default redhat-operators source) on ocp v4.8 3. Edit subscription to change the `source` to qe-app-registry source(this is a catalogsource which pointed to qe pre-release index image) Actual results: No upgrade happen. Expected results: The osus operator upgrade should work. Additional info: https://docs.openshift.com/container-platform/4.8/operators/understanding/olm/olm-workflow.html