distcloud/distributedcloud/dcmanager/api/controllers
Gustavo Herzmann 226e127fc0 Improve rehome_data semantic check and name update
This commit adds a new rehome_data semantic check when attempting to
update which peer group a subcloud is part of. If rehome_data
is not already present, the request payload must contain both the
bootstrap-values and bootstrap-address; otherwise, the request will
be aborted.

Additionally, this commit updates the rehome_data during the subcloud
rename operation, guarenteeing that name is up-to-date.

Test Plan:
1. PASS - Attempt to add a subcloud with no rehome_data to a peer
          group under the following conditions and verify that it
          fails:
          - Without passing bootstrap-address and bootstrap-values
          - Passing only the bootstrap-address
          - Passing only the bootstrap-values
2. PASS - Add a subcloud with rehome_data to a peer group and verify
          that the operation succeeds regardless of the presence of
          bootstrap-address and bootstrap-values.
3. PASS - Rename a subcloud with rehome_data and verify that the
          rehome_data name field is updated to the new name.
4. PASS - Rename a subcloud without rehome_data and verify that the
          rename operation still works.
5. PASS - Migrate a renamed subcloud back and forth and verify that
          the migration completes successfully.

Closes-Bug: 2055883
Closes-Bug: 2056796

Change-Id: I4403dc50062db07a0de24e04139e3af8087c546f
Signed-off-by: Gustavo Herzmann <gustavo.herzmann@windriver.com>
2024-03-12 11:22:01 -03:00
..
v1 Improve rehome_data semantic check and name update 2024-03-12 11:22:01 -03:00
README.rst Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
__init__.py Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
restcomm.py Fix subcloud-group endpoint routing conflict 2022-12-06 13:21:14 +00:00
root.py Update tox pylint/pep8 for dcmanager 2024-01-18 21:51:25 +00:00

README.rst

controllers

API request processing

root.py:

API root request

subclouds.py

Controller for all the subcloud related requests

restcomm.py:

common functionality used in API