We are satisfied to announce the release of: ironic-inspector 3.0.0: Hardware introspection for OpenStack Bare Metal This release is part of the mitaka release series. With source available at: http://git.openstack.org/cgit/openstack/ironic-inspector With package available at: https://pypi.python.org/pypi/ironic-inspector Please report issues through launchpad: http://bugs.launchpad.net/ironic-inspector For more details, please see below. 3.0.0 ^^^^^ Starting with this release, ironic-python-agent becomes the default introspection ramdisk, with the old bash-based ramdisk being deprecated. New Features ************ * Inspector no longer requires old-style "local_gb", "memory_mb", "cpus" and "cpu_arch" fields from the introspection ramdisk. They are still supported, though, for compatibility with the old ramdisk. Upgrade Notes ************* * Removed support for introspecting nodes in maintenance mode, deprecated in the liberty cycle. Use "inspecting", "manageable" or "enroll" states instead. * The root_disk_selection processing hook will now error out if root device hints are specified on ironic node, but ironic-python-agent is not used as an introspection ramdisk. Deprecation Notes ***************** * Using old bash-based ramdisk is deprecated, please switch to ironic- python-agent as soon as possible. Bug Fixes ********* * Fixed confusing error message shown to user when something bad happens during preprocessing (https://launchpad.net/bugs/1523907). * The data processing API endpoint now validates that data received from the ramdisk is actually a JSON object instead of failing the internal error later (issue https://bugs.launchpad.net/bugs/1525876). Other Notes *********** * Make debug-level logging more compact by removing newlines from firewall logging and disabling some 3rdparty debug messages by default. * Improve logging for ramdisk logs collection. * Logging during processing is now more consistent in terms of how it identifies the node. Now we try to prefix the log message with node UUID, BMC address and PXE MAC address (if available). Logging BMC addresses can be disabled via new "log_bmc_address" option in the "processing" section. Changes in ironic-inspector 2.3.0..3.0.0 ---------------------------------------- d7a7d69 Updated from global requirements c365e54 Stringify node_info.uuid as a precaution a94e0d2 Updated from global requirements f7329d7 Revert "Block broken diskimage-builder versions to unblock the gate" 357bbcb Block broken diskimage-builder versions to unblock the gate 2a1807a Switch to IPA as a primary ramdisk 0423d93 Track node identification during the whole processing 1350b06 Updated from global requirements 2612cab Use assertTrue/False instead of assertEqual(T/F) 83ed36c Updated from global requirements cd53e6e Update ramdisk callback documentation ffcf76a Put py34 first in the env order of tox 141086a Updated from global requirements 9666475 Drop support for introspecting nodes in maintenance mode 5a5f885 Enable ramdisk log collection in devstack plugin and improve logging 2df2918 Validate that data received from the ramdisk is a JSON object 0533f46 Improve debug logging 65f584e Adjust releasenotes structure c45ba39 Updated from global requirements 22fddca Properly report preprocessing errors to a user f7d7d76 Updated from global requirements 19c34f6 Mention docs in the README now that they're published 8c234e3 Auto-fill keystone_authtoken config section Diffstat (except docs and test files) ------------------------------------- CONTRIBUTING.rst | 50 ++-- README.rst | 1 + devstack/plugin.sh | 32 ++- example.conf | 54 ++++- ironic_inspector/conf.py | 4 + ironic_inspector/firewall.py | 7 +- ironic_inspector/introspect.py | 68 +++--- ironic_inspector/main.py | 28 ++- ironic_inspector/node_cache.py | 35 ++- ironic_inspector/plugins/extra_hardware.py | 16 +- ironic_inspector/plugins/raid_device.py | 20 +- ironic_inspector/plugins/rules.py | 10 +- ironic_inspector/plugins/standard.py | 265 ++++++++++++++------- ironic_inspector/process.py | 84 +++---- ironic_inspector/rules.py | 77 +++--- ironic_inspector/test/functional.py | 27 ++- ironic_inspector/test/test_introspect.py | 58 +---- ironic_inspector/test/test_main.py | 18 +- ironic_inspector/test/test_plugins_standard.py | 114 +++++++-- ironic_inspector/test/test_process.py | 7 +- ironic_inspector/test/test_utils.py | 73 +++++- ironic_inspector/utils.py | 140 ++++++++--- .../compact-debug-logging-b15dd9bbdd3ce27a.yaml | 4 + .../notes/drop-maintenance-a9a87a9a2af051ad.yaml | 5 + .../notes/ipa-inventory-0a1e8d644da850ff.yaml | 15 ++ .../logs-collector-logging-356e56cd70a04a2b.yaml | 3 + .../preprocessing-error-01e55b4db20fb7fc.yaml | 4 + ...rocessing-data-type-check-7c914339d3ab15ba.yaml | 5 + .../notes/processing-logging-e2d27bbac95a7213.yaml | 6 + releasenotes/source/current-series.rst | 5 + releasenotes/source/index.rst | 9 +- releasenotes/source/mitaka.rst | 6 + releasenotes/source/unreleased.rst | 6 +- requirements.txt | 36 +-- test-requirements.txt | 6 +- tox.ini | 2 +- 39 files changed, 953 insertions(+), 508 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 9d51e03..ca0b5f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,12 +4,12 @@ -alembic>=0.8.0 -Babel>=1.3 -eventlet>=0.17.4 -Flask<1.0,>=0.10 -jsonpath-rw<2.0,>=1.2.0 -jsonschema!=2.5.0,<3.0.0,>=2.0.0 -keystonemiddleware!=2.4.0,>=2.0.0 -netaddr!=0.7.16,>=0.7.12 -pbr>=1.6 -python-ironicclient>=0.8.0 -python-keystoneclient!=1.8.0,>=1.6.0 -python-swiftclient>=2.2.0 +alembic>=0.8.0 # MIT +Babel>=1.3 # BSD +eventlet>=0.17.4 # MIT +Flask<1.0,>=0.10 # BSD +jsonpath-rw<2.0,>=1.2.0 # Apache-2.0 +jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT +keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 +netaddr!=0.7.16,>=0.7.12 # BSD +pbr>=1.6 # Apache-2.0 +python-ironicclient>=0.8.0 # Apache-2.0 +python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +python-swiftclient>=2.2.0 # Apache-2.0 @@ -17,2 +17,2 @@ oslo.concurrency>=2.3.0 # Apache-2.0 -oslo.config>=2.7.0 # Apache-2.0 -oslo.db>=3.2.0 # Apache-2.0 +oslo.config>=3.2.0 # Apache-2.0 +oslo.db>=4.1.0 # Apache-2.0 @@ -20 +20 @@ oslo.i18n>=1.5.0 # Apache-2.0 -oslo.log>=1.12.0 # Apache-2.0 +oslo.log>=1.14.0 # Apache-2.0 @@ -22,2 +22,2 @@ oslo.rootwrap>=2.0.0 # Apache-2.0 -oslo.utils>=2.8.0 # Apache-2.0 -six>=1.9.0 +oslo.utils>=3.4.0 # Apache-2.0 +six>=1.9.0 # MIT @@ -25 +25 @@ stevedore>=1.5.0 # Apache-2.0 -SQLAlchemy<1.1.0,>=0.9.9 +SQLAlchemy<1.1.0,>=1.0.10 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 0d893f8..87e394c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4 +4 @@ -coverage>=3.6 +coverage>=3.6 # Apache-2.0 @@ -7,2 +7,2 @@ hacking<0.11,>=0.10.0 -mock>=1.2 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 +mock>=1.2 # BSD +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD