a20ecbfba0
Add statemgmt methods for accessing build data tables. - Add post_build_data for saving new build data - Add get_build_data for selecting build data based on node name or task ID. - YAPF formatting that was wider scope than expected Change-Id: I415eb795e2e5cab6f6a4cc0dc90aa79497c41328 |
||
---|---|---|
.. | ||
db | ||
design | ||
__init__.py | ||
readme.rst | ||
state.py |
readme.rst
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.