StarlingX Distributed Cloud
Go to file
Victor Romano adc8e48ac9 Add subcloud deploy resume option to dcmanager
This commit adds the command "subcloud deploy resume" to dcmanager.
It will resume subcloud deployment based on current subcloud deploy
state. All parameters except sysadmin-password are optional if they
were already provided in previous phases. Since install and config
are both optional phases, they will only be executed if respective
parameters are/have been provided.

Test Plan:
  These options will be referenced on the test cases as the values
  already present on the system controller before the resume operation
  or the values passed to it's command:
  [1] All values (install_values, bootstrap_values, deploy_config)
  [2] Only install_values and bootstrap_values
  [3] Only bootstrap_values
  [4] Only deploy_config
  Success cases:
    - PASS: Resume from create-complete previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from create-complete previously having [2] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'bootstrap-complete'.
    - PASS: Resume from create-complete previously having [3] without
            passing any new parameter and manually installing the
            subcloud and verify that it's deploy state is
            'bootstrap-complete'.
    - PASS: Resume from create-complete previously having [1] passing
            a previous release (21.12) and verify that the subcloud's
            deploy state is 'complete' and the installed load is
            correct.

    - PASS: Resume from install-complete previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from install-complete previously having [2] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'bootstrap-complete'.
    - PASS: Resume from install-complete previously having [3] without
            passing any new parameter and verify that it's deploy state
            is 'bootstrap-complete'.
    - PASS: Resume from install-failed previously having [1] passing
            new install_values and verify that the subcloud's deploy
            state is 'complete' and the installation used new values.
    - PASS: Resume from install-failed previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from install-aborted previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.

    - PASS: Resume from bootstrap-complete previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from bootstrap-complete previously having [3] and
            passing [4] and verify that the subcloud's deploy state
            is 'complete'.
    - PASS: Resume from bootstrap-failed previously having [1] passing
            new bootstrap_values and verify that the subcloud's deploy
            state is 'complete' and the bootstrap used new values.
    - PASS: Resume from bootstrap-failed previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from bootstrap-aborted previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.

    - PASS: Resume from config-failed previously having [1] passing
            new deploy_config file and verify that the subcloud's deploy
            state is 'complete' and the config used new values.
    - PASS: Resume from config-failed previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.
    - PASS: Resume from config-aborted previously having [1] without
            passing any new parameter and verify that the subcloud's
            deploy state is 'complete'.

    - PASS: Repeat previous tests but directly call the API (using
            CURL) instead of using the CLI.

  Failure cases:
  - PASS: Verify that it's not possible to resume deployment if the
          deploy state is not one of the following:
          - create-complete
          - install-complete
          - pre-install-failed
          - install-failed
          - install-aborted
          - bootstrap-complete
          - pre-bootstrap-failed
          - bootstrap-failed
          - bootstrap-aborted
          - pre-config-failed
          - config-failed
          - config-aborted
  - PASS: Call the API directly, passing bmc-password and/or
          sysadmin-password as plain text as opposed to b64encoded and
          verify that the response contains the correct error code
          and message.
  - PASS: Resume from bootstrap-complete previously having [2] and
          verify that the system alerts that the only remaining phase
          is config and there's no deploy-config file available

Story: 2010756
Task: 48316

Change-Id: I81c0a226b3ede56628e21372b02748013c3f6b35
Signed-off-by: Victor Romano <victor.gluzromano@windriver.com>
2023-07-24 14:00:06 -03:00
api-ref/source Add subcloud deploy resume option to dcmanager 2023-07-24 14:00:06 -03:00
distributedcloud Add subcloud deploy resume option to dcmanager 2023-07-24 14:00:06 -03:00
doc Turn off the legacy pip resolver for distcloud 2021-01-22 16:00:28 -06: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 Fix github mirroring for this repo 2023-04-28 12:38:50 -04: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
requirements.txt Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
test-requirements.txt Only install yamllint in py3 env 2021-04-06 11:40:45 -05:00
tox.ini Better message on SubcloudBackupOperationFailed 2023-02-22 20:39:55 -03:00