Bug 1921529

Summary: Worker Nodes update progress bar is still shown after upgrade is finished
Product: OpenShift Container Platform Reporter: Yadan Pei <yapei>
Component: Machine Config OperatorAssignee: MCO Team <team-mco>
Machine Config Operator sub component: Machine Config Operator QA Contact: Rio Liu <rioliu>
Status: CLOSED DUPLICATE Docs Contact:
Severity: medium    
Priority: medium CC: aos-bugs, kgarriso, mkrejci, rioliu, skumari, yapei
Version: 4.7Flags: rhamilto: needinfo-
Target Milestone: ---   
Target Release: ---   
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: 2022-03-02 21:05:23 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:
Description Flags
Worker Nodes status still shown after upgrade finished
none
Cluster Operator/Master/Worker update status during upgrade none

Description Yadan Pei 2021-01-28 06:14:41 UTC
Created attachment 1751576 [details]
Worker Nodes status still shown after upgrade finished

Description of problem:
after upgrade is finished, cluster setting page still show worker nodes updates status

Version-Release number of selected component (if applicable):
4.7.0-0.nightly-2021-01-28-005023

How reproducible:
Always

Steps to Reproduce:
1. launch 4.7 cluster and upgrade it to a newer version
$ oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.7.0-0.nightly-2021-01-27-192705   True        False         150m    Cluster version is 4.7.0-0.nightly-2021-01-27-192705

$ oc adm upgrade --to 4.7.0-0.nightly-2021-01-28-005023 --force
warning: --force overrides cluster verification of your supplied release image and waives any update precondition failures.
Updating to 4.7.0-0.nightly-2021-01-28-005023
[root@preserved-qe-ui-rhel-1 ~]# oc adm upgrade
Cluster version is 4.7.0-0.nightly-2021-01-27-
2. Monitor Cluster Operators, Master & Worker Nodes updates progress from  Administration -> Cluster Settings page
3. Check Cluster Operators, Master & Worker Nodes updates status after upgrade completed

Actual results:
2. During upgrade, console shows Cluster Operators, Master & Worker Nodes updates progress in percentage
3. After upgrade completed, 'Worker Nodes' update status are still shown and it has value 0%

Expected results:
3. after upgrade completed, we should not show 'Worker Nodes' updates status any more.

Additional info:

Comment 1 Yadan Pei 2021-01-28 06:15:43 UTC
Created attachment 1751577 [details]
Cluster Operator/Master/Worker update status during upgrade

Comment 2 Robb Hamilton 2021-01-28 13:02:25 UTC
Ya Dan, did the worker nodes indicate they were updated *before* the cluster said it was updated and then the worker nodes switched back to not updated?  It is possible for the cluster to be updated without the worker nodes which is why worker nodes are separated with a divider and can still show after the cluster update is complete (the help icon popover explains this -- see https://github.com/openshift/console/blob/master/frontend/public/components/cluster-settings/cluster-settings.tsx#L542).

Comment 3 Robb Hamilton 2021-01-28 20:56:50 UTC
I was able to reproduce this by attempting to upgrade a 4.7.0-0.nightly-2021-01-28-081708 to 4.7.0-0.nightly-2021-01-28-140123 and then reverting to 4.7.0-0.nightly-2021-01-28-081708.  I suspect this is not a console issue but is an issue where the worker MachineConfigPool does not get updated.  The console checks the MCP status condition Updating lastTransitionTime and compares it to the ClusterVersion desired version startedTime.  Reassigning to the ____ team to investigate.

Comment 4 Robb Hamilton 2021-01-28 20:59:15 UTC
Please disregard https://bugzilla.redhat.com/show_bug.cgi?id=1921529#c3.  I inadvertently submitted a draft comment.  Still investigating.

Comment 5 Robb Hamilton 2021-01-28 21:25:02 UTC
Reassigning to the Machine Config Operator team for investigation.  It appears the cause of the bug is the result of the MachineConfigPool Updated status condition lastTransitionTime not being updated as there have been no changes in console that would have resulted in this regression.  The console compares the MachineConfigPool Updated status condition lastTransitionTime [1] to the ClusterVersion status history desiredHistory startedTime [2] to determine whether or not a MachineConfig has been updated.  If the MachineConfigPool Updated status condition lastTransitionTime is not updated, the MachineConfigs will never show as having updated.

[1] https://github.com/openshift/console/blob/master/frontend/public/components/cluster-settings/cluster-settings.tsx#L121-L126
[2] https://github.com/openshift/console/blob/master/frontend/public/components/cluster-settings/cluster-settings.tsx#L111-L119

Comment 6 Robb Hamilton 2021-01-28 21:27:12 UTC
Sigh.  "Updated" in https://bugzilla.redhat.com/show_bug.cgi?id=1921529#c5 should be "Updating".

Comment 9 Kirsten Garrison 2022-03-02 21:05:23 UTC

*** This bug has been marked as a duplicate of bug 2050698 ***