distcloud/distributedcloud/dcmanager/manager
albailey 5e5c416a9b Implement import-load and starting-upgrade strategy states
This commit allows the state machine to be defined through an
ordered list of states. The states are mapped to by a dictionary
to state handler classes.

This greatly simplifies the software upgrade orch thread so that it
can be refactored in the future to share functionality with other orch
thread strategy types.

The following states have been implemented:
 - 'importing load'
 - 'starting upgrade'
 - 'activating upgrade'
 - 'completing upgrade'

The 'installing license' state now uses this design pattern.
Its functionality and unit tests are now in their own files.

The 'unlocking' state requires additional changes for the
'activating' and 'completing' states to pass.

Change-Id: Iedc40bdea406461dd4c2ce3887a37be6ec3c999f
Story: 2007403
Task: 40001
Signed-off-by: albailey <Al.Bailey@windriver.com>
2020-06-09 15:34:27 -05:00
..
states Implement import-load and starting-upgrade strategy states 2020-06-09 15:34:27 -05:00
__init__.py Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
patch_orch_thread.py Combine the patch audit with the subcloud audit 2020-05-29 13:13:11 -04:00
README.rst Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
service.py Combine the patch audit with the subcloud audit 2020-05-29 13:13:11 -04:00
subcloud_install.py Keystone token and resource caching 2020-03-23 21:31:04 -04:00
subcloud_manager.py Fix slow subcloud manage due to sysinv auth 2020-05-25 13:46:00 -04:00
sw_update_manager.py Merge "Implementing Lock and Unlock upgrade strategy states" 2020-06-02 14:58:05 +00:00
sw_upgrade_orch_thread.py Implement import-load and starting-upgrade strategy states 2020-06-09 15:34:27 -05:00

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.