Created attachment 1606689 [details] Screenshot from the openshift web console Description of problem: The "oc adm upgrade" command presently displays available versions in an order which places additional cognitive burden on the administrator. It would be expected that, since the versioning of OpenShift conforms to semantic versioning, that the versions would display from either high to low or low to high. Instead there is no discernible ordering of these versions. e.g.: $ oc adm upgrade Cluster version is 4.1.6 Updates: VERSION IMAGE 4.1.9 quay.io/openshift-release-dev/ocp-release@sha256:27fd24c705d1107cc73cb7dda8257fe97900e130b68afc314d0ef0e31bcf9b8e 4.1.11 quay.io/openshift-release-dev/ocp-release@sha256:bfca31dbb518b35f312cc67516fa18aa40df9925dc84fdbcd15f8bbca425d7ff 4.1.7 quay.io/openshift-release-dev/ocp-release@sha256:c9ce7c3b1e77d6cc5ee366364e4e0c6c901556aa3f61f7bd394b5e3010a1f551 4.1.8 quay.io/openshift-release-dev/ocp-release@sha256:3ea2648231035c1a65e8d91fa818bb225a2815bc0d6abfc35063a11eaba8659f Additionally, it seems that the web console presents these available versions in the same order. This leads me to believe that the ordering is untouched at the presentation layer and is being completely determined by the payload from the server in all cases. This should be rectified in both the oc command as well as the console to simplify the administration of the system. Version-Release number of selected component (if applicable): $ oc version Client Version: version.Info{Major:"4", Minor:"1+", GitVersion:"v4.1.12-201908150609+4b989a4-dirty", GitCommit:"4b989a4", GitTreeState:"dirty", BuildDate:"2019-08-15T13:03:05Z", GoVersion:"go1.11.6", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.4+6569b4f", GitCommit:"6569b4f", GitTreeState:"clean", BuildDate:"2019-07-10T19:31:33Z", GoVersion:"go1.11.6", Compiler:"gc", Platform:"linux/amd64"}
This hasn't merged, yet.
I still could reproduce the issue with client: [root@dhcp-140-138 ~]# oc version Client Version: version.Info{Major:"4", Minor:"2+", GitVersion:"v4.2.0", GitCommit:"09eb70949", GitTreeState:"clean", BuildDate:"2019-08-27T22:29:56Z", GoVersion:"go1.12.8", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"13+", GitVersion:"v1.13.4+4b86cc5", GitCommit:"4b86cc5", GitTreeState:"clean", BuildDate:"2019-07-24T19:42:25Z", GoVersion:"go1.11.6", Compiler:"gc", Platform:"linux/amd64"} OpenShift Version: 4.1.8 [root@dhcp-140-138 ~]# oc adm upgrade Cluster version is 4.1.8 Updates: VERSION IMAGE 4.1.10 registry.svc.ci.openshift.org/ocp/release@sha256:b2f03ea1b04edd25bf677aa755450eb0bb55898695b3ec1aa805ae2a97df3b90 4.1.13 registry.svc.ci.openshift.org/ocp/release@sha256:212296a41e04176c308bfe169e7c6e05d77b76f403361664c3ce55cd30682a94 4.1.9 registry.svc.ci.openshift.org/ocp/release@sha256:27fd24c705d1107cc73cb7dda8257fe97900e130b68afc314d0ef0e31bcf9b8e
The installer team owns that bit of oc, I'm moving this to their bucket.
[11:49:05] ➜ tmp.uzXY5SxnsR oc --kubeconfig kubeconfig get clusterversion version -oyaml apiVersion: config.openshift.io/v1 kind: ClusterVersion metadata: creationTimestamp: "2020-02-04T18:52:14Z" generation: 3 name: version resourceVersion: "37804" selfLink: /apis/config.openshift.io/v1/clusterversions/version uid: 755e1676-477f-11ea-a593-0666fcfd8533 spec: channel: stable-4.1 clusterID: 05283479-b7c8-4af6-ba55-4d91d5d10ff4 desiredUpdate: force: false image: quay.io/openshift-release-dev/ocp-release@sha256:3ea2648231035c1a65e8d91fa818bb225a2815bc0d6abfc35063a11eaba8659f version: 4.1.8 upstream: https://gist.githubusercontent.com/abhinavdahiya/5622772a32f00ad348cb1b2ffdc916b5/raw/2739e8eccfb289ff14e4c39e16f8cd2c8d8121ce/test-updates.json status: availableUpdates: - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:bfca31dbb518b35f312cc67516fa18aa40df9925dc84fdbcd15f8bbca425d7ff version: 4.1.11 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:27fd24c705d1107cc73cb7dda8257fe97900e130b68afc314d0ef0e31bcf9b8e version: 4.1.9 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:212296a41e04176c308bfe169e7c6e05d77b76f403361664c3ce55cd30682a94 version: 4.1.13 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:fd41c9bda9e0ff306954f1fd7af6428edff8c3989b75f9fe984968db66846231 version: 4.1.14 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:747e0d41ee2f1af8b234e8c96c3291225a120fab3af53ae691afb4f51ce02b85 version: 4.1.17 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:61ed953962d43cae388cb3c544b4cac358d4675076c2fc0befb236209d5116f7 version: 4.1.16 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:0a7f743a98e4d0937f44561138a03db8c09cdc4817a771a67f154e032435bcef version: 4.1.15 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:420633acf3fc7572372fe2df758152f6ab1f53a21c79a6c4b741fa0394c7df3a version: 4.1.18 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:a68066e534c41010b3750f18d620abede491965d5b0e860f5717b626cde08e5b version: 4.1.21 - force: false image: quay.io/openshift-release-dev/ocp-release@sha256:a7e97365d16d8d920fedd3684b018b780337e069deb1dd8500e866c0d6110334 version: 4.1.20 conditions: - lastTransitionTime: "2020-02-04T19:06:40Z" message: Done applying 4.1.6 status: "True" type: Available - lastTransitionTime: "2020-02-04T19:47:10Z" status: "False" type: Failing - lastTransitionTime: "2020-02-04T19:15:35Z" message: 'Working towards 4.1.8: 83% complete' status: "True" type: Progressing - lastTransitionTime: "2020-02-04T18:52:58Z" status: "True" type: RetrievedUpdates desired: force: false image: quay.io/openshift-release-dev/ocp-release@sha256:3ea2648231035c1a65e8d91fa818bb225a2815bc0d6abfc35063a11eaba8659f version: 4.1.8 history: - completionTime: null image: quay.io/openshift-release-dev/ocp-release@sha256:3ea2648231035c1a65e8d91fa818bb225a2815bc0d6abfc35063a11eaba8659f startedTime: "2020-02-04T19:15:35Z" state: Partial verified: true version: 4.1.8 - completionTime: "2020-02-04T19:15:35Z" image: registry.svc.ci.openshift.org/ocp/release@sha256:aa955a9ec40e55e5d9c0203a995b398e8c1031473dae24ed405efe9a95b43186 startedTime: "2020-02-04T18:52:58Z" state: Completed verified: false version: 4.1.6 observedGeneration: 2 versionHash: aSEAG9_WvfA= [11:49:09] ➜ tmp.uzXY5SxnsR oc --kubeconfig kubeconfig adm upgrade info: An upgrade is in progress. Working towards 4.1.8: 83% complete Updates: VERSION IMAGE 4.1.9 quay.io/openshift-release-dev/ocp-release@sha256:27fd24c705d1107cc73cb7dda8257fe97900e130b68afc314d0ef0e31bcf9b8e 4.1.11 quay.io/openshift-release-dev/ocp-release@sha256:bfca31dbb518b35f312cc67516fa18aa40df9925dc84fdbcd15f8bbca425d7ff 4.1.13 quay.io/openshift-release-dev/ocp-release@sha256:212296a41e04176c308bfe169e7c6e05d77b76f403361664c3ce55cd30682a94 4.1.14 quay.io/openshift-release-dev/ocp-release@sha256:fd41c9bda9e0ff306954f1fd7af6428edff8c3989b75f9fe984968db66846231 4.1.15 quay.io/openshift-release-dev/ocp-release@sha256:0a7f743a98e4d0937f44561138a03db8c09cdc4817a771a67f154e032435bcef 4.1.16 quay.io/openshift-release-dev/ocp-release@sha256:61ed953962d43cae388cb3c544b4cac358d4675076c2fc0befb236209d5116f7 4.1.17 quay.io/openshift-release-dev/ocp-release@sha256:747e0d41ee2f1af8b234e8c96c3291225a120fab3af53ae691afb4f51ce02b85 4.1.18 quay.io/openshift-release-dev/ocp-release@sha256:420633acf3fc7572372fe2df758152f6ab1f53a21c79a6c4b741fa0394c7df3a 4.1.20 quay.io/openshift-release-dev/ocp-release@sha256:a7e97365d16d8d920fedd3684b018b780337e069deb1dd8500e866c0d6110334 4.1.21 quay.io/openshift-release-dev/ocp-release@sha256:a68066e534c41010b3750f18d620abede491965d5b0e860f5717b626cde08e5b [11:49:13] ➜ tmp.uzXY5SxnsR oc --kubeconfig kubeconfig version Client Version: openshift-clients-4.3.0-201910250623-88-g6a937dfe Server Version: 4.1.8 Kubernetes Version: v1.13.4+4b86cc5 [11:49:23] ➜ tmp.uzXY5SxnsR So this shows that even when the updates in clusterversion are not sorted, the oc adm upgrade shows sorted versions
# ./oc version Client Version: 4.4.0-0.nightly-2020-03-18-011500 Server Version: 4.1.28 Kubernetes Version: v1.13.4+6095f4e # ./oc adm upgrade Cluster version is 4.1.28 Updates: VERSION IMAGE 4.1.29 quay.io/openshift-release-dev/ocp-release@sha256:a30326a62fabe5478a11ed712f38bab4d1b56f688acbf65f21dfe2b8310f9220 4.1.30 quay.io/openshift-release-dev/ocp-release@sha256:c811f484faeefa469492b583033da759ca3323e9810471185a579baab187052c 4.1.31 quay.io/openshift-release-dev/ocp-release@sha256:09bfa02aca6fb3f34e28b955f75efbaf28d2e760f384b01f9ab4a0fc1154962a 4.1.34 quay.io/openshift-release-dev/ocp-release@sha256:d98c0df40e603b4a8ab344e2b4f44e53a67b036803f45be9a99bc0153ebb3f2e
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:0581