This adds the ability to store all of the data collected
during introspection. The configuration option
"[processing] store_data" (defaults to 'none'), determines
this behavior. Initially, only 'none' and 'swift' are
supported. If 'swift' is used, the data is stored in Swift
with the object name of "inspector_data-<UUID>".
Adds an endpoint /v1/introspection/<UUID>/data which
retrieves the data according to the method in
"[processing] store_data". Returns 404 if this option
is disabled.
There is a further option to store the location of the data
in the Ironic Node.extra column. For 'swift', this will be
the name of the swift object. The option,
"[processing] store_data_location" determines the key
name in the Node.extra column. (defaults to not storing
the location).
Change-Id: Ibc38064f7ea56f85b9f5a77ef6f62a50f0381ff4
Implements: blueprint store-introspection-data
Since this plugin is now usable in a more generic way, the name is
changed from edeploy to extra_hardware.
Depends-On: Ie9e017df735a95350991ce419fa3b64249819d70
Change-Id: I690c5c00bc2b0ad1a3f329c9366910f2488e7a0a
The edeploy plugin stores all of the facts it collects in the extra
column of the Ironic db. When using real hardware, edeploy collects a
large amount of facts and can lead to overflowing that column.
This patch fixes this by storing the collected data in Swift instead.
This makes it usable more generically as well. Anything stored on the
'data' key in the dictionary returned by the ramdisk is stored as a
JSON encoded string in a Swift object. The object is named
'extra_hardware-<node uuid>' and is stored in the 'ironic-inspector'
container.
Change-Id: Ie9e017df735a95350991ce419fa3b64249819d70
Closes-Bug: 1461252
The matching functionality will be moved to a seperate utility
located at github/rdo-management/ahc-tools.
Change-Id: I3b82fb89056c33f3671983a0ca7efe8682b7cc1a
Closes-Bug: 1449568
* Switch from docutils to doc8 for checking docs
* Split away plugin-requirements
* Update to Kilo
Change-Id: Icf1411bd80aa7870996b5536b0ac1aec96783dab