0f39a55942
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
59 lines
1.9 KiB
ReStructuredText
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.
|