StarlingX Distributed Cloud
Go to file
Gustavo Herzmann 32f6fc5805 Add 'subcloud deploy bootstrap' command to dcmanager
Adds the subcloud deploy bootstrap command to dcmanager. It only
performs the bootstrap phase, where all parameters are validated and
the bootstrap playbook is executed.

The bootstrap values can be updated using the bootstrap-values
parameter, otherwise the system will use the boostrap values from the
subcloud deploy create command.

Test Plan:
  The following tests were run twice, once using the CLI, and once
  using CURL to request the API directly.
  The subcloud was created using the follwing command:
  dcmanager subcloud deploy create
    --bootstrap-address <bootstrap-address>
    --bootstrap-values <bootstrap-values>
  Except for the different release test, where the --release 21.12
  parameter was also used.

  The following commands were used to test the bootstrap (changing the
  parameters accordingly for each test):
  CLI: dcmanager subcloud deploy bootstrap
    --bootstrap-address <bootstrap-address>
    --bootstrap-values <bootstrap-values>
    --sysadmin-password <password>
    <subcloud name or id>
  CURL: curl -X PATCH -H "X-Auth-Token: ${TOKEN//[$'\t\r\n']}"
    "http://$MGMT_IP:8119/v1.0/phased-subcloud-deploy/
    <subcloud name or id>/bootstrap"
    -F bootstrap_values=@<bootstrap-values>
    -F bootstrap-address=<bootstrap-address>
    -F sysadmin_password=<b64 encoded password>

  Success cases:
    1. PASS - Bootstrap a subcloud without the bootstrap-values and
              bootstrap-address parameters (omit them from the CLI/CURL
              command) and verify that it uses the existing values
              (from the deploy create command);
    2. PASS - Bootstrap a subcloud with the same bootstrap-values and
              bootstrap-address parameters used during deploy create
              (include the parameters in the CLI/CURL command, using
              the same values used during deploy create);
    3. PASS - Bootstrap a subcloud with bootstrap-values containing a
              new value for management_subnet, verifying that the
              routes and endpoints are updated accordingly;
    4. PASS - Verify that if a new bootstrap-address is used, the
              subcloud inventory file is updated accordingly;
    5. PASS - Verify subcloud bootstrap with previous release version
              (tested with 21.12);
  Failure cases:
    6. PASS - Verify that it's not possible to bootstrap with a
              management_subnet that conflicts with the subnet of an
              existing subcloud;
    7. PASS - Verify that it's not possible to bootstrap when the
              deploy status is not in one of the following states:
              'install-complete', 'bootstrap-failed',
              'bootstrap-aborted', 'bootstrap-complete' and
              'create-complete';
    8. PASS - Verify that it's not possible to bootstrap when the
              'name' parameter from bootstrap-values doesn't match the
              subcloud name;
    9. PASS - Verify that it's not possible to bootstrap without
              passing the 'sysadmin-password' parameter (using CURL,
              since the CLI will prompt for the password if it's
              omited);
    10. PASS - Verify that it's not possible to bootstrap with a
              'sysadmin-password' that's not b64encoded (using CURL,
              since the CLI automatically encodes the password).

Story: 2010756
Task: 48114

Change-Id: Ic987406bbcc154a8edbaa008c40ccabe1766d03d
Signed-off-by: Gustavo Herzmann <gustavo.herzmann@windriver.com>
2023-06-20 17:44:55 -03:00
api-ref/source Add 'subcloud deploy bootstrap' command to dcmanager 2023-06-20 17:44:55 -03:00
distributedcloud Add 'subcloud deploy bootstrap' command to dcmanager 2023-06-20 17:44:55 -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