Newton Series (3.3.0 - 4.2.x) Release Notes¶
Loopback BMC addresses (useful e.g. with virtualbmc) are no longer used for lookup.
LLC hook now formats the chassis id and port id MAC addresses into Unix format as expected by ironic.
LLC hook ensures that correct port information is passed to patch_port function
LLC hook no longer assumes all inspected ports are added to ironic
Adds new processing hook pci_devices for setting node capabilities based on PCI devices present on a node and rules in the [pci_devices] aliases configuration option. Requires “pci-devices” collector to be enabled in IPA.
Use only single quotes for strings inside SQL statements. Fixes a crash when PostgreSQL is used as a database backend.
Set the node to the error state when it failed get data from swift.
Added GenericLocalLinkConnectionHook processing plugin to process LLDP data returned during inspection and set port ID and switch ID in an Ironic node’s port local link connection information using that data.
Add configuration option processing.power_off defaulting to True, which allows to leave nodes powered on after introspection.
Fix setting non string ‘value’ field for rule’s actions. As non string value is obviously not a formatted value, add the check to avoid AttributeError exception.
Starting with this release only ironic-python-agent (IPA) is supported as an introspection ramdisk.
Added a new “capabilities” processing hook detecting the CPU and boot mode capabilities (the latter disabled by default).
File name for stored ramdisk logs can now be customized via “ramdisk_logs_filename_format” option.
The default file name for stored ramdisk logs was change to contain only node UUID (if known) and the current date time. A proper “.tar.gz” extension is now appended.
API “POST /v1/rules” returns 201 response code instead of 200 on creating success. API version was bumped to 1.6. API less than 1.6 continues to return 200.
Default API version was changed from minimum to maximum which Inspector can support.
Support for the old bash-based ramdisk was removed. Please switch to IPA before upgrading.
Removed the deprecated “root_device_hint” alias for the “raid_device” hook.
Fixed “/v1/continue” to return HTTP 500 on unexpected exceptions, not HTTP 400.
Fix response return code for rule creating endpoint, it returns 201 now instead of 200 on success.
The “size” root device hint is now always converted to an integer for consistency with IPA.
Ironic-Inspector is now using keystoneauth and proper auth_plugins instead of keystoneclient for communicating with Ironic and Swift. It allows to finely tune authentification for each service independently. For each service, the keystone session is created and reused, minimizing the number of authentification requests to Keystone.
Add support for using Ironic node names in API instead of UUIDs. Note that using node names in the introspection status API will require a call to Ironic to be made by the service.
Database migrations downgrade was removed. More info about database migration/rollback could be found here http://docs.openstack.org/openstack-ops/content/ops_upgrades-roll-back.html
Introduced API “POST /v1/introspection/UUID/data/unprocessed” for reapplying the introspection over stored data.
Operators are advised to specify a proper keystoneauth plugin and its appropriate settings in [ironic] and [swift] config sections. Backward compatibility with previous authentification options is included. Using authentification informaiton for Ironic and Swift from [keystone_authtoken] config section is no longer supported.
Handling ramdisk logs was moved out of the “ramdisk_error” plugin, so disabling it will no longer disable handling ramdisk logs. As before, you can set “ramdisk_logs_dir” option to an empty value (the default) to disable storing ramdisk logs.
Most of current authentification options for either Ironic or Swift are deprecated and will be removed in a future release. Please configure the keystoneauth auth plugin authentification instead.
Fixes a problem which caused an unhandled TypeError exception to bubble up when inspector was attempting to convert some eDeploy data to integer.
Fixed a regression in the firewall code, which causes re-running introspection for an already inspected node to fail.
Fixed the “is-empty” condition to return True on missing values.
The lookup procedure now uses all valid MAC’s, not only the MAC(s) that will be used for creating port(s).
The “enroll” node_not_found_hook now uses all valid MAC’s to check node existence, not only the MAC(s) that will be used for creating port(s).
The ramdisk logs are now stored on all preprocessing errors, not only ones reported by the ramdisk itself. This required moving the ramdisk logs handling from the “ramdisk_error” plugin to the generic processing code.