Pike Series (6.0.0 - 6.0.x) Release Notes¶
Fixes insufficient input filtering when looking up a node by information from the introspection data. It could potentially allow SQL injections via the
/v1/continueAPI endpoint. See story 2005678 for details.
Fixes bug in which the
switch_idfield in a port’s
local_link_connectioncan be set to a non-MAC address if the processed LLDP has a value other than a MAC address for
ChassisID. The bare metal API requires the
switch_idfield to be a MAC address, and will return an error otherwise. See bug 1748022 for details.
ipmi_addressfield in the introspection data no longer has priority over the newer
bmc_addressinventory field during lookup. This fixes lookup based on MAC addresses, when the BMC address is reported as
0.0.0.0for any reason (see bug 1714944).
Querying ironic-inspector rules API now also returns the
multipleattributes of the associated conditions.
add_ports, so discovered nodes can be created without creating ports.
Add a check from the
link_local_connectionplugin to use data stored by the
lldp_basic; this avoids parsing the LLDP packets twice.
Adds node state to the
GET /v1/introspection/<node UUID or name>and
GET /v1/introspectionAPI response data.
Processing hooks can now define dependencies on other processing hooks. ironic-inspector start up fails when required hooks are not enabled before the hook that requires them.
pxe_enabledfield on ports. It is set to
Truefor the PXE-booting port and
Falsefor the remaining ports. Both newly discovered and existing ports are affected.
Experimental setting IPMI credentials support was removed from all versions of the API. The current ironic-inspector API version was bumped to 1.12 to mark this change.
The default API version was synchronized with the current API version again after removal of the IPMI credentials setting.
Ports creating logic was moved from core processing code to the
validate_interfacesprocessing hook. This may affect deployments that disable this hook or replace it with something else. Also make sure to place this hook before any hooks expecting ports to be created.
Bare metal API version 1.19 is now required.
Removes deprecated configuration options:
introspection_delay_driversfrom the default section and
Support for rollback actions in introspection rules was removed.
Old status records are no longer removed by default. They are still removed if a node is removed from Ironic.
node_status_keep_timeconfiguration option is deprecated. Now that we can remove status information about nodes removed from ironic, this option does not make much sense, and may be confusing
Timeout in an active state led to an undefined transition error. This is fixed and an introspection finishes now with
0.0.0.0and an empty string in the
bmc_addressinventory field are now correctly treated as missing BMC address.
For postgreSQL, the database migration command
ironic-inspector-dbsync upgradealways failed (with enum NODE_STATE does not exist). This is fixed and the migration now works.
Do not fail the whole introspection due to a value formatting error during introspection rules rollback. See bug 1686942 for an example and detailed investigation.
The POST /v1/introspection/<Node ID>/data/unprocessed API updates the started_at time when ironic inspector begins processing the node.
Exception CalledProcessError is raised when running iptables cmd on start up. The issue is caused by eventlet bug, see: https://github.com/eventlet/eventlet/issues/357 The issue affects ironic-inspector only if it manages firewall - configured with
manage_firewall = Trueconfiguration option.
Wrong provision state name ‘inspectfail’ in ironic-inspector valid states for node inspection. This issue leads to state inconsistency between ironic and ironic-inspector. For example, if ironic inspection timeout is lower than ironic-inspector’s, and inspection timeout occurs, ironic will transition node into ‘inspect failed’ provision state. In such case when node inspection finishes without errors the node will be in ‘inspect failed’ provision state with inspection in ‘finished’ state.