Implement bootaction API

- Implement boot action rendering and API
- Reorganize DB integration tests and add a tox -e postgres entrypoint
- Add boot action unit tests
- Add node filter unit test
- Add boot action context creation to deployment workflow
- Fix regression bug in MaaS Machines model
- Downgrade to Python 3.5 due to CICD limitations

Change-Id: I6c8f100cbe209f9b1c6c6ff1285365d89343ae2a
This commit is contained in:
Scott Hussey
2017-10-26 11:28:51 -05:00
parent 7af8623d91
commit f4dba218ac
45 changed files with 1394 additions and 454 deletions

View File

@@ -70,8 +70,9 @@ are separate pipelines for the ``location`` field to build the URL that referenc
be sourced from and the ``data`` field (or the data sourced from resolving the ``location`` field).
The ``location`` string will be passed through the ``location_pipeline`` before it is queried. This response
or the ``data`` field will then be passed through the ``data_pipeline``. Below are pipeline segments available
for use.
or the ``data`` field will then be passed through the ``data_pipeline``. The data entity will start the pipeline
as a bytestring meaning if it is defined in the ``data`` field, it will first be encoded into a bytestring.
Below are pipeline segments available for use.
base64_decode
Decode the data element from base64
@@ -79,6 +80,12 @@ base64_decode
base64_encode
Encode the data element in base64
utf8_decode
Decode the data element from bytes to UTF-8 string
utf8_encode
Encode the data element from a UTF-8 string to bytes
template
Treat the data element as a Jinja2 template and apply a node context to it. The defined context available
to the template is below.