distcloud/distributedcloud/dcmanager/manager
Zhang Rong(Jon) 6cb974bd50 Auditor automatic reconciliation of subclouds
This commit will automatically delete the subcloud that was removed
from SPG on the peer site after the peer site migrated the SGP.

Conduct syntax checks for managing, unmanaging, deleting, and updating
subclouds, add or remove subcloud from SPG.
Specifically, If the secondary site leads the current SPG, the
subcloud can be removed from the SPG only when the primary site is
unavailable.

Test Plan:
PASS - Shutdown site1, migrate SPG to site2, and verify the status of
       subclouds upon site1 recovery. As anticipated, the subclouds
       transitioned to the secondary status.
PASS - Shutdown site1, migrate SPG to site2, then remove a subcloud
       from the SPG on site2. Upon site1 recovery, verify the subclouds'
       status. As expected, the subcloud was deleted in site1
       corresponding to the removal of the subcloud from the SPG in
       site2.
PASS - Shutdown site1, migrate SPG to site2, then remove a subcloud from
       the SPG on site2 and subsequently delete it. Check the status of
       subclouds upon site1 recovery. As expected, the subcloud was
       deleted in site1 corresponding to the removal of the subcloud
       from the SPG in site2.
PASS - Removal subcloud from the SPG in the primary site when it is the
       current leader was successful as expected.
PASS - Keep site1 online, migrate SPG to site2, remove a subcloud from
       SPG in site2 should not be allowed if site1 is online.
PASS - Add a subcloud that is offline/unmanaged to an SPG failed in
       the primary site as expected.
PASS - Manage/unmanage subcloud failed when it associated to SPG.
PASS - Update subcloud successful when it associated to SPG in the
       primary site and the SPG is the current leader.
PASS - Update subcloud failed when it associated to SPG in the secondary
       site as expected.

Closes-bug: 2052415
Closes-bug: 2052584

Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Change-Id: I210e2865228d166d7f5a5b26015ab07b4d09db47
2024-03-05 17:51:51 +08: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
peer_group_audit_manager.py Auditor automatic reconciliation of subclouds 2024-03-05 17:51:51 +08:00
peer_monitor_manager.py Fix issues introduced by pylint/pep8 for dcmanager 2024-01-19 11:29:25 -03:00
service.py Update tox pylint/pep8 for dcmanager 2024-01-18 21:51:25 +00:00
subcloud_manager.py Merge "Report rehoming playbook failures" 2024-01-31 17:29:40 +00:00
system_peer_manager.py Synchronize install values with secondary subclouds 2024-01-19 12:07:50 +00:00

README.rst

Service

DC Manager Service has responsibility for:

Main subcloud state machine as well as all operations on subclouds including creation, deletion and update.

service.py:

run DC Manager service in multi-worker mode, and establish RPC server

subcloud_manager.py:

Manages all subcloud related activities such as creation, deletion, availability status, management state

audit_manager.py:

A Periodic audit to contact each subcloud and ensure that at least one of each service group is up and active, which is a pre-requisite for declaring a subcloud as online.

scheduler.py:

Thread group manager, also responsible for periodic timer tasks - ie. audit.