StarlingX Distributed Cloud
Go to file
Gustavo Herzmann cd355ca120 Add rehome-pending deploy status
This commit adds the rehome-pending deploy status, which should be used
when unmanaging a subcloud before the rehoming/migration operation.
This new status will then be used by cert-mon to determine when it
should stop auditing an unmanaged subcloud, to avoid certificate
issues during the rehoming operation.

It's only possible to switch to this state when the subcloud is being
unmanaged and its deploy status is 'complete'. It's possible to manage
it back in case the rehoming operation is not going to be executed
anymore; in this case the deploy-status will be reverted back to
'complete'.

Example usage:
dcmanager subcloud unmanage --migrate subcloud1

CURL:
curl -X PATCH -H "X-Auth-Token: ${TOKEN//[$'\t\r\n']}" \
"http://$MGMT_IP:8119/v1.0/subclouds/{subcloud1}" \
-F migrate="true" \
-F management-state="unmanaged"

Test Plan:
1. PASS - Unmanage a subcloud without --migrate and verify that it
          still works and that cert-mon continues to audit it;
2. PASS - Manage a subcloud, verify that the operation still works as
          expected;
3. PASS - Try to unmanage with --migrate when the subcloud's deploy
          status is different than 'complete' and verify that it
          doesn't allow it;
4. PASS - Unmanage a subcloud using the --migrate option and verify
          that its deploy status changes to 'rehome-pending', all the
          sync statuses change to 'unknown', and that cert-mon stops
          auditing the subcloud;
5. PASS - By directly calling the SubcloudManager.update_subcloud()
          method (internally, skipping API validation), verify that:
          - it's possible to update the deploy_status to 'secondary'
            while also updating its management_state to 'unmanaged';
          - it's possible to update the deploy_status to
            'rehome-pending' while also updating its management_state
            to 'unmanaged';
          - it's NOT possible to update the deploy_status if the
            subcloud is not already unmanaged or its management_state
            is not being updated to 'unmanaged';
          - it's possible to update the deploy_status to 'secondary'
            for a subcloud that's already unmanaged;
          - it's possible to update the deploy_status to 'secondary'
            for a subcloud that's already unmanaged and currently in
            the 'rehome-pending' state.
          - Try to manage a 'rehome-pending' subcloud while also
            changing its deploy status to something different than
            'complete', verify that it fails;
6. PASS - Manage a 'rehome-pending' subcloud and verify that it
          succeeds while also reverting its deploy_status to
          'complete';
7. PASS - Run subcloud update to populate the rehome_data with the
          bootstrap values and address, verify that it still works.

Story: 2010852
Task: 49059

Signed-off-by: Gustavo Herzmann <gustavo.herzmann@windriver.com>
Change-Id: I8bf76904e335e382407c2268a9c1879471ef2fc9
2023-11-09 15:33:06 -03:00
api-ref/source Add rehome-pending deploy status 2023-11-09 15:33:06 -03:00
distributedcloud Add rehome-pending deploy status 2023-11-09 15:33:06 -03:00
doc Subcloud Name Reconfiguration 2023-09-07 10:30:06 -03:00
releasenotes Switch to newer openstackdocstheme and reno versions 2020-06-04 14:18:06 +02:00
tools/gate Adding py39 gate and removing py36 gates from zuul 2021-10-28 15:26:34 -05:00
.gitignore [Doc] OpenStack API Reference Guide 2018-09-25 08:18:08 -07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:44 +00:00
.mailmap StarlingX open source release updates 2018-08-07 11:51:21 -04:00
.zuul.yaml Clean up outdated configs in tox.ini and .zuul.yaml 2023-07-19 11:43:30 -03:00
CONTRIBUTING.rst StarlingX open source release updates 2018-08-07 11:51:21 -04:00
CONTRIBUTORS.wrs StarlingX open source release updates 2018-08-07 11:51:21 -04:00
HACKING.rst Update setup.cfg to align with StarlingX project 2019-01-07 16:34:24 +00:00
README_DC Update location of openrc in readme 2019-03-15 10:56:03 -05:00
bindep.txt Fix openstack-tox jobs for DC repo 2022-11-21 16:58:49 +00:00
centos_build_layer.cfg Build layering, add layer build config file 2019-11-08 08:40:22 +08:00
centos_dev_docker_images.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_dev_wheels.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_iso_image.inc Keystone token and resource caching 2020-03-23 21:31:04 -04:00
centos_pkg_dirs Update files for relocated repo 2019-11-04 14:36:51 -05:00
centos_stable_docker_images.inc OpenStack-Keystone Proxy Containerization 2019-11-04 14:36:50 -05:00
centos_stable_wheels.inc Update files for relocated repo 2019-11-04 14:36:51 -05:00
debian_build_layer.cfg Add debian_build_layer.cfg file 2021-10-05 14:07:18 -04:00
debian_dev_docker_images.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_dev_wheels.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_iso_image.inc Debian: distcloud: update debian_iso_image.inc 2022-11-18 08:12:32 +08:00
debian_pkg_dirs Add debian packaging for distributedcloud 2022-01-25 19:06:08 -03:00
debian_stable_docker_images.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
debian_stable_wheels.inc Port stx-keystone-api-proxy image to debian 2022-11-21 17:46:41 +00:00
tox.ini Update tox configuration for Distributed Cloud 2023-08-29 17:29:17 -03:00