distcloud/dcmanager/api
Tyler Smith 36702d225c Adding arbitrary deploy playbook execution to subcloud add command
This commit introduces the ability to pass a playbook and playbook
values file to the dcmanager subcloud add command.  The deployment
is now split into two phases: bootstrapping, where the bootstrap
ansible playbook is run with the supplied bootstrap values yaml file,
and deploying, where the specified ansible playbook is executed with
the given yaml values file pointing to the subcloud.

Change-Id: I2ff3034b1db88d9da89e634220a394ab9dfce64b
Story: 2004766
Task: 36712
Signed-off-by: Tyler Smith <tyler.smith@windriver.com>
2019-09-23 11:01:11 -04:00
..
controllers Adding arbitrary deploy playbook execution to subcloud add command 2019-09-23 11:01:11 -04:00
README.rst StarlingX open source release updates 2018-08-07 11:51:21 -04:00
__init__.py StarlingX open source release updates 2018-08-07 11:51:21 -04:00
api_config.py StarlingX open source release updates 2018-08-07 11:51:21 -04:00
app.py StarlingX open source release updates 2018-08-07 11:51:21 -04:00
enforcer.py StarlingX open source release updates 2018-08-07 11:51:21 -04: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