Created attachment 1540796 [details] error snapshot. Description of problem: I build openshift installer with latest source and now successfully deployed. However, Cluster setting from webconsole show error messages "Could not retrieve updates. Unable to retrieve available updates: unknown version 4.0.0-0.alpha-2019-03-04-190542" Version-Release number of selected component (if applicable): $ ./openshift-install-latest version ./openshift-install-latest unreleased-master-490-g0ddac41932688237c599cc8a7231d624a08dfc29 How reproducible: always Steps to Reproduce: 1. openshift-install create cluster 2. 3. Actual results: Error Retrieving Expected results: No errors Additional info:
Hi, What's the channel of your cluster is configured? $ oc get clusterversion -o yaml apiVersion: v1 items: - apiVersion: config.openshift.io/v1 kind: ClusterVersion metadata: creationTimestamp: 2019-03-05T02:19:56Z generation: 4 name: version resourceVersion: "1316722" selfLink: /apis/config.openshift.io/v1/clusterversions/version uid: 2b13f0aa-3eed-11e9-a87d-067a76ada122 spec: channel: stable-4.0 clusterID: 2702d9e2-43aa-417e-9fd9-f8dcbc801644 upstream: https://api.openshift.com/api/upgrades_info/v1/graph I think if the channel you configured is not reachable then the error message should be expected
Hi, This is my one ~~~ apiVersion: v1 items: - apiVersion: config.openshift.io/v1 kind: ClusterVersion metadata: creationTimestamp: 2019-03-04T23:01:51Z generation: 1 name: version namespace: "" resourceVersion: "1683918" selfLink: /apis/config.openshift.io/v1/clusterversions/version uid: 7f410645-3ed1-11e9-8fe5-02c285573cb0 spec: channel: stable-4.0 clusterID: df5adfd6-fedf-49a3-a171-61c1ac0c142a upstream: https://api.openshift.com/api/upgrades_info/v1/graph status: availableUpdates: null conditions: - lastTransitionTime: 2019-03-04T23:28:03Z message: Done applying 4.0.0-0.alpha-2019-03-04-190542 status: "True" type: Available - lastTransitionTime: 2019-03-06T15:17:33Z status: "False" type: Failing - lastTransitionTime: 2019-03-04T23:28:03Z message: Cluster version is 4.0.0-0.alpha-2019-03-04-190542 status: "False" type: Progressing - lastTransitionTime: 2019-03-04T23:02:33Z message: 'Unable to retrieve available updates: unknown version 4.0.0-0.alpha-2019-03-04-190542' reason: RemoteFailed status: "False" type: RetrievedUpdates desired: image: registry.svc.ci.openshift.org/openshift/origin-release@sha256:933df182b35b1dc179bd0cfba6d3c0e0a15451989e52e950368c92cbd9e38cf2 version: 4.0.0-0.alpha-2019-03-04-190542 history: - completionTime: 2019-03-04T23:28:03Z image: registry.svc.ci.openshift.org/openshift/origin-release@sha256:933df182b35b1dc179bd0cfba6d3c0e0a15451989e52e950368c92cbd9e38cf2 startedTime: 2019-03-04T23:02:33Z state: Completed version: 4.0.0-0.alpha-2019-03-04-190542 observedGeneration: 1 versionHash: SFCVTlnmGf0= kind: List metadata: resourceVersion: "" selfLink: "" ~~~
The web console is simply showing the error that's in the ClusterVersion resource. Assigning to the Upgrade component to investigate if the error is expected or not.
I think this is expected since we can't retrieve updates from server https://api.openshift.com/api/upgrades_info/v1/graph $ curl https://api.openshift.com/api/upgrades_info/v1/graph // returns nothing and if you change the server to something like this, the errors should go away. # oc get clusterversion -o json|jq ".items[0].spec" { "channel": "fast", "clusterID": "53f97452-9956-4a3c-8260-00c1de2668a1", "upstream": "https://openshift-release.svc.ci.openshift.org/graph" // curl https://openshift-release.svc.ci.openshift.org/graph, where you can get available updates there }
Correct. But there are indeed returns for https://api.openshift.com/api/upgrades_info/v1/graph, you need add --header 'Accept:application/json' for your curl command. The upstream url should be pointed to a Cincinnati server which include current version node. As for your cluster, the desired version "4.0.0-0.alpha-2019-03-04-190542" is not included in your default upstream url https://api.openshift.com/api/upgrades_info/v1/graph. So this information is expected. BTW, even for https://openshift-release.svc.ci.openshift.org/graph, you still can not get avialable update for your cluster due to you seems using an origin version, i'm not quite sure if there is a server for origin client to do upgrade.
We probably need to improve two things: 1. The error message 2. How it is presented in the console The message should be improved as shown to users to "the specified version is not recognized" (communicating that they aren't running "supported" software subtly). The presentation in the console should more correctly identify this specific error as "you can't upgrade because your current version isn't recognized by the server" and probably less red and more yellow.
Moving to 4.2. This sort of UI improvement isn't strictly necessary for 4.1 to ship.
talking with Crawford. this is not required for 4.2
[1], from way back in April (so in 4.1.0 and everything since) gives us error messages like: currently installed version 4.0.0-3 not found in the "test-channel" channel I think that checks the "improve the error message" bit from comment 6. We still set the reason to RemoteFailed [2], though, and we need to be more granular than that if the console folks are going to distinguish between "version/channel pair not known to Cincy" and "network down, could not talk to Cincy at all" and such. [1]: https://github.com/openshift/cluster-version-operator/pull/162 [2]: https://github.com/openshift/cluster-version-operator/blob/59601a89bb7a65cf2fbaa4697d5142091f68534f/pkg/cvo/availableupdates.go#L164
Verification probably looks like: * With the default https://api.openshift.com/api/upgrades_info/v1/graph upstream, confirm that the RetrievedUpdates condition has status False and reason VersionNotFound (because the nightly under test is not known to the production Cincinnati instance). * Set upstream to https://does-not-exist.example.com/ . Confirm that the RetrievedUpdates condition has status False and reason RemoteFailed. * Explore as many of the other RetrievedUpdates failure reasons as you like ;).
1) with default upstream for a nightly build { "lastTransitionTime": "2019-11-19T06:51:02Z", "message": "Unable to retrieve available updates: currently installed version 4.3.0-0.nightly-2019-11-18-201425 not found in the \"stable-4.3\" channel", "reason": "VersionNotFound", "status": "False", "type": "RetrievedUpdates" } 2) with correct upstream for a nightly build { "lastTransitionTime": "2019-11-19T07:08:38Z", "status": "True", "type": "RetrievedUpdates" } 3) with notfound upstream { "lastTransitionTime": "2019-11-19T07:21:12Z", "message": "Unable to retrieve available updates: unexpected HTTP status: 404 Not Found", "reason": "ResponseFailed", "status": "False", "type": "RetrievedUpdates" } 4) with unavailable upstream { "lastTransitionTime": "2019-11-19T07:21:12Z", "message": "Unable to retrieve available updates: Get https://https//does-not-exist.example.com/?arch=amd64&channel=stable-4.3&id=f6159818-42f4-4341-b783-71f732238c66&version=4.3.0-0.nightly-2019-11-18-201425: dial tcp: lookup https on 10.0.0.2:53: no such host", "reason": "RemoteFailed", "status": "False", "type": "RetrievedUpdates" }
Verified on 4.3.0-0.nightly-2019-11-18-201425
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, 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-2020:0062