drydock/python/drydock_provisioner/statemgmt/readme.rst
Scott Hussey 0f39a55942 Refactor build to include Go
Adding the baclient code to Drydock requires a refactor
of the build automation to support multiple languages
and multiple artifacts included in a single Docker image

NOTE: the go source here is a placeholder 'hello world' sample

Change-Id: I1b4883f018b33b3d4fcd7cbcb6cba660fcdc93de
2018-09-04 13:13:21 -05:00

59 lines
1.9 KiB
ReStructuredText

======================================
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.