distcloud/dcorch/api
Tyler Smith 96db1d7ee0 Distributed Cloud enhancements for Horizon
- Adding endpoints for the subcloud's platform services to the central
  keystone.  This was done so horizon can reach all subclouds
- Allowing version requests to bypass the authtoken validator in the
  dcorch proxy.  version requests do not require authentication and
  they are required by horizon to work in the SystemController region

Change-Id: I508e0168e77d1f46b8f5720fd16047177b4920c2
Partial-Bug: 1846239
Signed-off-by: Tyler Smith <tyler.smith@windriver.com>
2019-10-18 16:57:16 -04:00
..
controllers StarlingX open source release updates 2018-08-07 11:51:21 -04:00
proxy Distributed Cloud enhancements for Horizon 2019-10-18 16:57:16 -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 Orchestrator API is Web Server Gateway Interface (WSGI) applications 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 Orchestrator Engine through the queue. If the job will be processed by DC Orchestrator Engine in synchronous way, the DC Orchestrator API will wait for the response from the DC Orchestrator Engine. Otherwise, the DC Orchestrator API will send response to the API caller first, and then send the job to DC Orchestrator Engine in asynchronous way.

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

Multiple DC Orchestrator API will be designed and run in stateless mode, persistent data will be accessed (read and write) from the DC Orchestrator 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

apicfg.py:

API configuration loading and init

enforcer.py

Enforces policies on the version2 API's