Also creates a required "venv" environment, drops version handling
from __init__.py and updates requirements.
Closes-Bug: #1466477
Change-Id: I57ce71ee52cc48e0239cdecb69fd2272fc99ea41
Nodes that don't exist in the inspector node cache maybe still be
booted and return inspection information to process, this patch allows
an operator to hook into the point when the not found error is thrown
so that they may handle that information in anyway they decide to.
Change-Id: Ib17491a8201cf534d498c68d916b5b37b07f5ff6
Implements: blueprint node-not-found-hook
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
This refactoring patch fixes a few naming problems:
* namespace for processing hooks implied that it's the only type
of hooks, added ".processing" postfix
* node_info -> introspection_data
* cached_node -> node_info
Change-Id: I8401f95236e269583257c3c5ba3762d0920d32e8
Implements: blueprint plugin-interface-v2
As agreed on the summit I'm renaming the python modules
and doing some adjustments:
* This is a breaking change, so version is bumped to 2.0.0
* Used this chance to split conf options over proper sections
* RELEASES.rst is gone; it's too hard to keep it up-to-date;
anyway git does better job at doing history
* Dropped deprecated option ports_for_inactive_interfaces
* Dropped old /v1/discover endpoint and associated client call
* No longer set on_discovery and newly_discovered in Node.extra
(deprecated since 1.0.0, superseded by the get status API)
* Default firewall chain name is "ironic-inspector" and
is configurable
Notes:
* Some links will be updated after real move.
* Stable branches will probably use the old name.
* Some usage of discovery word is left in context of
"discovered data"
* DIB element will probably be deprecated, so leaving it
alone for now.
* Some usages of word "discovery" in the README will be updated
later to make this patch a bit smaller
* Ramdisk code will be moved to IPA, so not touching it too much
Change-Id: I59f1f5bfb1248ab69973dab845aa028df493054e
This is Python script for implementing a full-featured ironic-discoverd
ramdisk, including support for 'edeploy' plugin. It was initially
developed downstream.
Missing in this patch are:
* support for updating IPMI credentials
* support for serving logs via HTTP
Change-Id: I6987d46d7b6a1411d0d38f97373e5cd036ba6162
Implements: bluepring python-ramdisk-code
This patch set adds support for generating config files
using oslo-config-generator.
Old invocation without --config-file is no longer supported.
Co-Authored-By: Dmitry Tantsur <dtantsur@redhat.com>
Change-Id: If640e6dc83c971a8f82f9b245a4496d298dfd042
Closes-Bug: #1398359
Currently, log format is not following to oslo.i18n.
This patch set makes ironic-discoverd possible to use oslo.i18n.
Change-Id: I623281239cb12abffbeb377ec6f77f8aa9b90c0c
Partial-Bug: #1411272
In some cases (eg. DRAC), the driver doesn't provide any information to
figure out the root device during RAID configuration. A workaround for
that is creating the RAID disks in 2 runs: one run for the root device
and another one for the rest. In between ironic-discoverd can be used to
examine the changes in the block devices.
This patch adds this capability as a plugin to gather the block device
serials, save it temporarly and expose the root device hint.
Change-Id: I71c42cb131a4e8f0b4fe4eb2f42ac7cde2bceea9
It receives eDeploy's hardware discovery to classify hardware
according to hardware profiles and extracts the needed information for
the configuration of the node.
Change-Id: I11b4cf21ec81ce8efd3222597a5226fe260721e2
Implements: blueprint edeploy
Introduces module ironic_discoverd.plugins.standard.
Moves currently unused handling of ramdisk error to a plugin.
Change-Id: I3dff43e27e5354b3f4155f005b7bc66897f81ec4