distcloud/distributedcloud/dcmanager/manager
Hugo Brito 3d7cb75e22 Generalize subcloud network reconfiguration
This commit refactors the subcloud network reconfiguration,
allowing for a more flexible and generalized approach, adding
the option to fallback to the management network as well.

Test Plan:
PASS: Run dcmanager subcloud update with network paramaters
(dcmanager subcloud update --sysadmin-password <password>
--management-subnet <network-subnet>
--management-gateway-ip <network-gateway-ip>
--management-start-ip <network-start-ip>
--management-end-ip <network-end-ip>
--bootstrap-address <bootstrap-address> <subcloud_name>)
- The update_playbook will be called and update the subcloud
(subcloud route to systemcontroller and admin endpoints)
- A new route to the subcloud is created on the system controller.
- Subcloud service endpoint URLs are updated in keystone
(openstack endpoint list|grep <subcloud-name>) on the system controller.
PASS: verify successful deployment of a new subcloud
PASS: verify successful reconfiguration of a subcloud from mgmt to
admin network

Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/878504

Story: 2010319
Task: 47706

Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
Change-Id: I1df57a206e21fa2444bd645c456c4d5d1b539066
2023-04-04 13:00:03 -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
service.py Set open file limit for dcmanager services 2023-03-30 16:52:13 -03:00
subcloud_manager.py Generalize subcloud network reconfiguration 2023-04-04 13:00:03 -03: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.