Bug 1744289
| Summary: | oc adm upgrade displays versions in a non-intuitive order | ||||||
|---|---|---|---|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Brian 'redbeard' Harrington <bharring> | ||||
| Component: | Installer | Assignee: | Abhinav Dahiya <adahiya> | ||||
| Installer sub component: | openshift-installer | QA Contact: | liujia <jiajliu> | ||||
| Status: | CLOSED ERRATA | Docs Contact: | |||||
| Severity: | low | ||||||
| Priority: | unspecified | CC: | aos-bugs, gblomqui, jialiu, jokerman, mfojtik | ||||
| Version: | 4.1.z | ||||||
| Target Milestone: | --- | ||||||
| Target Release: | 4.4.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: | 2020-05-04 11:13:08 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: | |||||||
| Attachments: | 
            
  | 
      ||||||
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  | 
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"}