59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
# drydock_provisioner
|
|
A python REST orchestrator to translate a YAML host topology to a provisioned set of hosts and provide a set of cloud-init post-provisioning instructions.
|
|
|
|
To run:
|
|
|
|
$ virtualenv -p python3 /var/tmp/drydock
|
|
$ . /var/tmp/drydock/bin/activate
|
|
$ python setup.py install
|
|
$ uwsgi --http :9000 -w drydock_provisioner.drydock --callable drydock --enable-threads -L
|
|
|
|
## Modular service
|
|
|
|
### Design Consumer ###
|
|
|
|
aka ingester
|
|
|
|
Pluggable service to ingest a inventory/design specification, convert it to a standard
|
|
internal representaion, and persist it to the Design State API. Initial implementation
|
|
is the consumer of YAML schema.
|
|
|
|
### Design State API ###
|
|
|
|
aka statemgmt
|
|
|
|
API for querying and updating the current design specification and persisted orchestration status.
|
|
CRUD support of CIs that are not bootstrap-related, but can be used by other automation.
|
|
|
|
### Control API ###
|
|
|
|
aka control
|
|
|
|
User-approachable API for initiating orchestration actions or accessing other internal
|
|
APIs
|
|
|
|
### Infrastructure Orchestrator ###
|
|
|
|
aka orchestrator
|
|
|
|
Handle validation of complete design, ordering and managing downstream API calls for hardware
|
|
provisioning/bootstrapping
|
|
|
|
### OOB Driver ###
|
|
|
|
Pluggable provider for server OOB (ILO) management
|
|
|
|
aka driver/oob
|
|
|
|
### Node Driver ###
|
|
|
|
aka driver/node
|
|
|
|
Pluggable provisioner for server bootstrapping. Initial implementation is MaaS client.
|
|
|
|
### Introspection API ###
|
|
|
|
aka introspection
|
|
|
|
API for bootstrapping nodes to load self data. Possibly pluggable as this is basically an
|
|
authenticated bridge to the Design State API |