distcloud/distributedcloud
twang4 24a825848c Add subcloud secondary status support and migration
Definition of "Day-2": User can perform the operation post
the initial deployment.

Definition of "secondary": A secondary subcloud is just in the
DB, will not do any other operations like management/sync.

Update DB of subclouds add rehome_data column.

Update "dcmanager subcloud add --secondary" to save data for
day-2's rehome/migrate purpose.

Update "dcmanager subcloud update --bootstrap-address
--bootstrap-values" to save data for day-2's
rehome/migrate purpose.

Add "dcmanager subcloud migrate" for day-2's rehome/migrate

Example of usage:
dcmanager subcloud add --secondary --bootstrap-address \
128.224.115.15 --bootstrap-values ./sub1-bootsrapvalues.yml
dcmanager subcloud migrate sub1 --sysadmin-password PASSWORD
EQUALS TO:
dcmanager subcloud add --migrate --bootstrap-address \
123.123.123.123 --bootstrap-values ./sub1-bootsrapvalues.yml \
--sysadmin-password password

This commit updates the 'subcloud add' implementation to use
the 'secondary' subcloud deployment operations.
It saves rehome necessary data as JSON format into the
'subclouds' table's 'rehome_data' column in the DB.
Additionally, it adds the 'migrate' subcommand for
subcloud day-2's migration abilities.

Test Plan:
1. PASS - Verify that 'secondary' option works for 'subcloud add'
              successfully.
2. PASS - Verify that 'bootstrap-values' could update
               subclouds' rehome_data through api.
               successfully.
3. PASS - Verify that 'bootstrap-address' could update
               subclouds' rehome_data through api.
               successfully.
4. PASS - Verify that 'migrate' command can migrate a 'secondary'
               subclouds successfully.
5. PASS - Verify original subcloud add/update functionalities
               successfully.
6. PASS - Verify 'subcloud add --secondary' can handle error
              And set secondary-failed successfully.
7. PASS - Verify delete a 'secondary-failed' subcloud
              successfully

CLI example:
dcmanager subcloud add --secondary --bootstrap-address 128.224.119.55 \
--bootstrap-values ./testsub.yml

dcmanager subcloud update testsub --bootstrap-address 128.224.119.55 \
--bootstrap-values ./testsub.yml

dcmanager subcloud migrate testsub --sysadmin-password PASSWORD
API use case:
PATCH /v1.0/subclouds/testsub/migrate

Story: 2010852
Task: 48503
Task: 48484
Change-Id: I9a308a4e2cc5057091ba195c4d05e9d1eb4a950c
Signed-off-by: Wang Tao <tao.wang@windriver.com>
2023-08-25 11:03:17 +08:00
..
centos Migrate distributedcloud .deb from dl_hooks 2023-01-13 15:46:06 +00:00
dccommon Merge "Skip route creation if a route is configured" 2023-08-18 15:53:43 +00:00
dcdbsync Implement access control for DC API 2022-09-22 18:26:35 -03:00
dcmanager Add subcloud secondary status support and migration 2023-08-25 11:03:17 +08:00
dcorch Merge "Update endpoint caches post network reconfig" 2023-03-15 14:47:27 +00:00
debian Update debian package versions to use git commits 2023-02-10 09:05:15 -08:00
etc Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
files Extend subcloud bootstrap log rotation size 2023-06-30 11:47:10 -04:00
ocf Refactor portion of dcmanager into dcmanager-state process 2022-01-27 16:33:41 -05:00
.coveragerc Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
.coveragerc_xml Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
.testr.conf Fix unit test parallelization issues 2021-09-14 10:42:56 -05:00
LICENSE Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
MANIFEST.in Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
README.rst Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
__init__.py Implement the state for Simplex Upgrade 2020-06-19 17:09:07 -04:00
babel.cfg Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
pylint.rc Make Tox compatible to Debian Python3.9 Environment 2022-07-28 12:48:25 -04:00
requirements.txt Clean up outdated configs in tox.ini and .zuul.yaml 2023-07-19 11:43:30 -03:00
setup.cfg Refactor portion of dcmanager into dcmanager-state process 2022-01-27 16:33:41 -05:00
setup.py Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
test-requirements-debian.txt Make Tox compatible to Debian Python3.9 Environment 2022-07-28 12:48:25 -04:00
test-requirements.txt Adding retries during upgrade complete state 2021-11-25 09:59:37 -06:00
tox.ini Clean up outdated configs in tox.ini and .zuul.yaml 2023-07-19 11:43:30 -03:00

README.rst

DistributedCloud

Wind River's Distributed Cloud system supports an edge computing solution by providing central management and orchestration for a geographically distributed network of Titanium Cloud systems.