Admin password change does not work in Distributed Cloud deployments

Bug #1883758 reported by Bart Wensley
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Tao Liu

Bug Description

Brief Description
-----------------
Changes to the keystone admin user password do not work in distributed cloud deployments:
- The DC components in the system controller (dcmanager, dcorch) use the admin user to authenticate with services in the subcloud (e.g. sysinv, patching).
- After the admin password is updated in the system controller, all REST API requests to the subclouds fail because the admin password in the subclouds does not match. The dcmanager/dcorch are not able to get a token from the subcloud keystone.
- This prevents the dcorch from syncing the new admin user password to the subcloud. It also prevents dcmanager from auditing the subclouds, causing the subclouds to all go offline.

Severity
--------
Major: admin password changes are not supported in DC deployments

Steps to Reproduce
------------------
Install a DC system and attempt to change the admin password.

Expected Behavior
------------------
The admin password can be changed.

Actual Behavior
----------------
After the admin password is changed, all subclouds will go offline.

Reproducibility
---------------
Reproducible

System Configuration
--------------------
Distributed Cloud

Branch/Pull Time/Commit
-----------------------
stx.3.0 release and later

Last Pass
---------
never

Timestamp/Logs
--------------
N/A

Test Activity
-------------
Evaluation

Workaround
----------
Change the admin password back to the original value

Changed in starlingx:
assignee: nobody → Tao Liu (tliu88)
tags: added: stx.distcloud
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-puppet (master)

Fix proposed to branch: master
Review: https://review.opendev.org/735994

Changed in starlingx:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to distcloud (master)

Fix proposed to branch: master
Review: https://review.opendev.org/736004

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to config (master)

Fix proposed to branch: master
Review: https://review.opendev.org/736020

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ansible-playbooks (master)

Fix proposed to branch: master
Review: https://review.opendev.org/736028

Revision history for this message
Ghada Khalil (gkhalil) wrote :

stx.5.0 - this is a current limitation since day1. should be considered for fixing in the next release.

Changed in starlingx:
importance: Undecided → Medium
tags: added: stx.5.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-puppet (master)

Reviewed: https://review.opendev.org/735994
Committed: https://git.openstack.org/cgit/starlingx/stx-puppet/commit/?id=c359018050d13b07b327549d292d25a1634c36ef
Submitter: Zuul
Branch: master

commit c359018050d13b07b327549d292d25a1634c36ef
Author: Tao Liu <email address hidden>
Date: Tue Jun 16 14:47:24 2020 -0400

    Configure dcmanager user for endpoint_cache

    The following changes are made, in order to remove the
    dependencies to 'admin' user and use 'dcmanager' user to
    authenticate with services in the subclouds:
    . Add endpoint_cache section to both dcorch and dcmanager
    . Configure dcmanager user in the endpoint_cache section
    . Add dcmanager bootstrap class to configure the dcmanager
      user on subclouds

    Partial-Bug: 1883758

    Change-Id: I790592f44d371051c157443836f71e3f00640ab5
    Signed-off-by: Tao Liu <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/736020
Committed: https://git.openstack.org/cgit/starlingx/config/commit/?id=5fd25a20852c7fde76d46ca34b85c252cbb19d72
Submitter: Zuul
Branch: master

commit 5fd25a20852c7fde76d46ca34b85c252cbb19d72
Author: Tao Liu <email address hidden>
Date: Tue Jun 16 16:29:29 2020 -0400

    Configure dcmanager user for endpoint_cache

    The following changes are made, in order to remove the
    dependencies to 'admin' user and use 'dcmanager' user to
    authenticate with services in the subclouds:
    . Configure dcmanager user for dcorch
    . Add the dcmanager user id to the static.yaml on subclouds
      during upgrade

    Depends-On: https://review.opendev.org/#/c/735994/
    Partial-Bug: 1883758

    Change-Id: I72ed05d38ac6c25d240f99c4aeaf13b51273471f
    Signed-off-by: Tao Liu <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to distcloud (master)

Reviewed: https://review.opendev.org/736004
Committed: https://git.openstack.org/cgit/starlingx/distcloud/commit/?id=d10fef48217d69a45084dd8b81c30d3bbe68b3af
Submitter: Zuul
Branch: master

commit d10fef48217d69a45084dd8b81c30d3bbe68b3af
Author: Tao Liu <email address hidden>
Date: Tue Jun 16 15:08:20 2020 -0400

    Configure dcmanager user for endpoint_cache

    The following changes are made, in order to remove the
    dependencies to 'admin' user and use 'dcmanager' user to
    authenticate with services in the subclouds:
    . Add endpoint_cache section to both dcorch and dcmanager
    . Configure dcmanager user in the endpoint_cache section
    . Sync the dcmanager user to subclouds
    . Use 'dcmanager' user for subcloud authentication by default,
      and it falls back to 'admin' user if the authentication fails
     (This is required during software upgrade).

    Depends-On: https://review.opendev.org/#/c/735994/
    Partial-Bug: 1883758

    Change-Id: Ibc78abc86a7a825f83f2cac9fd54e4183e7ccd80
    Signed-off-by: Tao Liu <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ansible-playbooks (master)

Reviewed: https://review.opendev.org/736028
Committed: https://git.openstack.org/cgit/starlingx/ansible-playbooks/commit/?id=23051d877b827a802610cd4e3da20068b55c05a5
Submitter: Zuul
Branch: master

commit 23051d877b827a802610cd4e3da20068b55c05a5
Author: Tao Liu <email address hidden>
Date: Tue Jun 16 16:36:14 2020 -0400

    Configure dcmanager user for endpoint_cache

    Add dcmanager user id to subcloud static hieradata, so
    that it can match the same user as on system controller.

    Depends-On: https://review.opendev.org/#/c/735994/
    Partial-Bug: 1883758

    Change-Id: I2ac0d6749bf925a6548a77674bb54a42a569227d
    Signed-off-by: Tao Liu <email address hidden>

Ghada Khalil (gkhalil)
tags: added: stx.retestneeded
Revision history for this message
Ghada Khalil (gkhalil) wrote :

Changing the release tag to stx.4.0 as the code required to support admin password changes on DC systems has already merged.

tags: added: stx.4.0
removed: stx.5.0
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to config (master)

Fix proposed to branch: master
Review: https://review.opendev.org/738498

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/738498
Committed: https://git.openstack.org/cgit/starlingx/config/commit/?id=5f3dad46b219f668f70def9c0d5099da2361df8e
Submitter: Zuul
Branch: master

commit 5f3dad46b219f668f70def9c0d5099da2361df8e
Author: Tao Liu <email address hidden>
Date: Mon Jun 29 15:40:13 2020 -0400

    Data migration for sysinv/dcmanager users

    Add sysinv/dcmanager user id and services project id to
    static.yaml during data migration on subclouds.

    Closes-Bug: 1883758

    Change-Id: I7e6f26bfce6c8b2944860c70b4acc31928cbbf6d
    Signed-off-by: Tao Liu <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-puppet (f/centos8)

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/762919

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to distcloud (f/centos8)

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/c/starlingx/distcloud/+/792298

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on distcloud (f/centos8)

Change abandoned by "Chuck Short <email address hidden>" on branch: f/centos8
Review: https://review.opendev.org/c/starlingx/distcloud/+/792298
Reason: Updated merge soon

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to distcloud (f/centos8)

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/c/starlingx/distcloud/+/793405

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on distcloud (f/centos8)

Change abandoned by "Chuck Short <email address hidden>" on branch: f/centos8
Review: https://review.opendev.org/c/starlingx/distcloud/+/793405

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to distcloud (f/centos8)

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/c/starlingx/distcloud/+/796528

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to distcloud (f/centos8)
Download full text (105.0 KiB)

Reviewed: https://review.opendev.org/c/starlingx/distcloud/+/796528
Committed: https://opendev.org/starlingx/distcloud/commit/4c5344f8765b372cb84d2b1181589c16db2ae6e4
Submitter: "Zuul (22348)"
Branch: f/centos8

commit cb979811017bd193fc1f06e53bb7830fd3184859
Author: Yuxing Jiang <email address hidden>
Date: Wed Jun 9 11:11:27 2021 -0400

    Format the IP addresses in payload before adding a subcloud

    The IPv6 addresses can be represented in multiple formats. As IP
    addresses are stored as text in database, ansible inventory and
    overrides, this commit converts the IP addresses in payload to
    standard text format of IPv6 address during adding a new subcloud.

    Tested with installing and bootstrapping a new subcloud(RVMC
    configured) with the correct IPv6 address values, but with
    unrecommended upper case letters and '0'. The addresses are
    converted to standard format in database, ansible inventory and
    overrides files.

    Partial-Bug: 1931459
    Signed-off-by: Yuxing Jiang <email address hidden>
    Change-Id: I6c26e749941f1ea2597f91886ad8f7da64521f0d

commit 2cf5d6d5cef0808c354f7575336aec34253993b3
Author: albailey <email address hidden>
Date: Thu May 20 14:19:24 2021 -0500

    Delete existing vim strategy from subcloud during patch orch

    When dcmanager creates a patch strategy, if a subcloud has an
    existing vim patch strategy, it will attempt to re-use
    that strategy during its patching phase, which may result in an
    error.

    This commit deletes the existing vim patch strategy in
    a subcloud, if it exists, so it can be re-created.
    If the strategy cannot be deleted, orchestration fails.

    Change-Id: Id35ef26ed3ddae6d71874fc6bac11df147f72323
    Closes-Bug: 1929221
    Signed-off-by: albailey <email address hidden>

commit 9e14c83f0162549a2a94cb8bc1e73dbc4f4d4887
Author: albailey <email address hidden>
Date: Tue Jun 1 14:37:14 2021 -0500

    Adding activation retry to upgrade orchestration

    When performing an activation, the keystone endpoints may not
    be accessible in the subcloud due to the asyncronous way that
    cert-mon can trigger a restart of keystone.

    This would have occasionally resulted in the upgrade activation
    failing to be initiated, and orchestration needing to be invoked
    again to resume.

    This 'hack' adds retries and sleeps to the initial
    activation action.

    Change-Id: Ic757521dec7bdc248a51a70b5463caafe7927360
    Partial-Bug: 1927550
    Signed-off-by: albailey <email address hidden>

commit bb604c0a9b872efd65fa45f1e2269995818c6262
Author: Tee Ngo <email address hidden>
Date: Thu May 27 22:17:16 2021 -0400

    Fix subcloud show --detail command related issues

    If the subcloud is offline, the command stalls and eventually returns
    the "ERROR (app)" output. If the subcloud is online, the oam_floating_ip
    info is excluded from the output when the subcloud id instead of subcloud
    name is specified.

    This commit fixes both of the above issues.

    Closes-Bug: 1929893
    Change-Id: I995591368564539b0e6af185b1adba2db73e0e46
    Sign...

tags: added: in-f-centos8
Ghada Khalil (gkhalil)
tags: removed: stx.retestneeded
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.