-
Story
-
Resolution: Duplicate
-
Undefined
-
None
-
None
-
None
-
None
-
3
-
False
-
None
-
False
-
-
-
1
-
OTA 255, OTA 256, OTA 257, OTA 258, OTA 259
The cluster-version operator uses the existing io.openshift.upgrades.graph.release.channels metadata to populate the Release.channels property. The CVO currently assumes all the releases in an Update Service response belong to the currently-configured channel. For this ticket, the CVO should begin walking the retrieved Releases and injecting a DifferentChannel conditional update risk if the current channel is not a member of the Release's channels set.
Definition of done:
Create a mock update services (OTA-520) containing:
{ "nodes": [ {"version": "4.18.0-0.test-FIXME-latest", "payload": "registry.build02.ci.openshift.org/ci-ln-hyd2jpt/release@sha256:FIXME", "metadata": {"io.openshift.upgrades.graph.release.channels": "candidate-4.18,fast-4.18,stable-4.18"}}, {"version": "4.18.0", "payload": "quay.io/openshift-release-dev/ocp-release@sha256:0000000000000000000000000000000000000000000000000000000000000000", "metadata": {"io.openshift.upgrades.graph.release.channels": "candidate-4.18,fast-4.18,stable-4.18"}}, {"version": "4.18.1", "payload": "quay.io/openshift-release-dev/ocp-release@sha256:1111111111111111111111111111111111111111111111111111111111111111", "metadata": {"io.openshift.upgrades.graph.release.channels": "candidate-4.18,fast-4.18"}}, {"version": "4.18.2", "payload": "quay.io/openshift-release-dev/ocp-release@sha256:2222222222222222222222222222222222222222222222222222222222222222", "metadata": {"io.openshift.upgrades.graph.release.channels": "candidate-4.18"}} ], "edges": [[0,1],[0,2]], "conditionalEdges": [ { "edges": [{"from": "4.18.0-0.test-FIXME-latest", "to": "4.18.2"}], "risks": [ {"url": "https://bug.example.com/a", "name": "A", "message": "A.", "matchingRules": [{"type": "Always"}]} ] } ] }
with the FIXME updated to reference the test release.
Point the cluster at the mock update service with:
$ oc patch clusterversion version --type json -p '[{"op": "add", "path": "/spec/upstream", "value": "https://raw.githubusercontent.com/FIXME/cincinnati-graph-data/demo-branch-FIXME/cincinnati-graph.json"}]'
with the FIXME updated to reference the mock update service.
Set the cluster's channel with:
$ oc adm upgrade channel stable-4.18
Check the update data to see that all the not-yet-stable releases have a DifferentChannel update risk:
$ oc adm upgrade --include-not-recommended Cluster version is 4.18.0-0.test-FIXME-latest Upstream: https://raw.githubusercontent.com/FIXME/cincinnati-graph-data/demo-branch-FIXME/cincinnati-graph.json Channel: stable-4.18 (available channels: candidate-4.18, fast-4.18, stable-4.18) Recommended updates: VERSION IMAGE 4.18.0 quay.io/openshift-release-dev/ocp-release@sha256:0000000000000000000000000000000000000000000000000000000000000000 Supported but not recommended updates: Version: 4.18.2 Image: quay.io/openshift-release-dev/ocp-release@sha256:2222222222222222222222222222222222222222222222222222222222222222 Recommended: False Reason: MultipleReasons Message: A. https://bug.example.com/a 4.18.2 channels (candidate-4.18) do not include this cluster's stable-4.18 https://example.com/FIXME Version: 4.18.1 Image: quay.io/openshift-release-dev/ocp-release@sha256:1111111111111111111111111111111111111111111111111111111111111111 Recommended: False Reason: DifferentChannel Message: 4.18.1 channels (candidate-4.18, fast-4.18) do not include this cluster's stable-4.18 https://example.com/FIXME