3b41868802
Hostnames with underscores caused a deployment failure. Update to use a double underscore as a delimiter and provide a design validator to check that hostnames do not contain it. Closes #78 Change-Id: Ib148aed5cffe7fd8bc08441eaef8a45af6601bdd |
||
---|---|---|
.. | ||
db | ||
design | ||
__init__.py | ||
readme.rst | ||
state.py |
Statemgmt - Persisted State Management
Statemgmt is the interface to the persistence store for managing task data and build data for nodes. Currently Drydock only supports a Postgres database backend. This module will also resolve design references to retrieve the design data from the specified external reference
Tables
tasks
The tasks
table stores all tasks - Queued, Running,
Complete. The orchestrator will source all tasks from this table.
result_message
The result_message
table is used for storing all of the
detailed messages produced while executing a task. These are sequenced
and attached to the task when serializing a task.
build_data
The build_data
table is used for storing the build
history and details of nodes in the site. When a node is destroyed and
redeployed, the history will persist showing that transition.
active_instance
active_instance
is a small semaphore table so that
multiple instances of Drydock can organize and ensure only a single
orchestrator instance is executing tasks.
Design References
Rather than Drydock storing design data internally, it instead supports a URI-based reference scheme. The URI should specify the driver and transport details required to source the data. Once the data is retrieved by the driver, it will be sent to an ingester for translation into the internal Drydock object model.
Example design reference URI:
deckhand+https://deckhand-api.ucp.svc.cluster.local:8443/e50b4d74-9fab-11e7-b7cc-080027ef795a
Current Drivers
Drydock currently can resolve design references to simple
file://
and http://
endpoints with no
authentication required. Local files must provide absolute paths.
Planned Drivers
There is planned support for https://
and
deckhand+https://
endpoints.