distcloud/distributedcloud/dcmanager/api
Jessica Castelino 4fd65e9913 CLI command to deploy a subcloud
If deployment failed, the user has no option than to delete and
re-add it. If the user was re-adding the subcloud without
re-installing, it would further result in a bootstrap failure.
Thus, to simplify things, a new CLI command is provided to allow
re-deployment. Furthermore, if the user still chooses to delete
the subcloud and re-add it without a re-install, a better error
message is provided asking them to re-install the host.

CLI:
dcmanager subcloud reconfig <id/name> --deploy-config <file>

Test Cases:
1) Successfully add a subcloud with or without deployment option
2) Fail to re-add a subcloud without re-installation after a failed
   deployment
3) Re-deploy with new CLI command after successful and unsuccessful deployment
4) Re-deploy with new CLI command before and after the subcloud is unlocked
5) Test new CLI command by passing wrong parameters

Change-Id: I9fe7e3791e3887160668281048c3c12a7f40c2af
Partial-Bug: 1864756
Signed-off-by: Jessica Castelino <jessica.castelino@windriver.com>
2020-06-10 13:05:27 -04:00
..
controllers CLI command to deploy a subcloud 2020-06-10 13:05:27 -04: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
api_config.py Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
app.py Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00
enforcer.py Move content to subdir to support relocated packaging 2019-11-04 13:57:02 -05:00

README.rst

api

DC Manager API is Web Server Gateway Interface (WSGI) application to receive and process API calls, including keystonemiddleware to do the authentication, parameter check and validation, convert API calls to job rpc message, and then send the job to DC Manager Manager through the queue. If the job will be processed by DC Manager Manager in synchronous way, the DC Manager API will wait for the response from the DC Manager Manager. Otherwise, the DC Manager API will send response to the API caller first, and then send the job to DC Manager Manager in asynchronous way.

Multiple DC Manager API could run in parallel, and also can work in multi-worker mode.

Multiple DC Manager API will be designed and run in stateless mode, persistent data will be accessed (read and write) from the DC Manager Database through the DAL module.

Setup and encapsulate the API WSGI app

app.py:

Setup and encapsulate the API WSGI app, including integrate the keystonemiddleware app

api_config.py:

API configuration loading and init

enforcer.py

Enforces policies on the version2 APIs