[ironic] ironic-inspector 6.0.0 (pike)
We enthusiastically announce the release of: ironic-inspector 6.0.0: Hardware introspection for OpenStack Bare Metal This release is part of the pike stable release series. The source is available from: http://git.openstack.org/cgit/openstack/ironic-inspector Download the package from: https://tarballs.openstack.org/ironic-inspector/ Please report issues through launchpad: http://bugs.launchpad.net/ironic-inspector For more details, please see below. 6.0.0 ^^^^^ New Features ************ * Querying **ironic-inspector** rules API now also returns the "invert" and "multiple" attributes of the associated conditions. * Add "disabled" option to "add_ports", so discovered nodes can be created without creating ports. * Add a check from the "link_local_connection" plugin 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/introspection" API 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. * Update "pxe_enabled" field on ports. It is set to "True" for the PXE-booting port and "False" for the remaining ports. Both newly discovered and existing ports are affected. Upgrade Notes ************* * 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_interfaces" processing 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_drivers" from the default section and "log_bmc_address" from the "processing" section. * 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. Deprecation Notes ***************** * The "node_status_keep_time" configuration 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 (https://bugs.launchpad.net/ironic-inspector/+bug/1695858) Bug Fixes ********* * Timeout in an active state led to an undefined transition error (https://bugs.launchpad.net/ironic-inspector/+bug/1662494). This is fixed and an introspection finishes now with "Timeout" error. * "0.0.0.0" and an empty string in the "bmc_address" inventory field are now correctly treated as missing BMC address. * For postgreSQL, the database migration command "ironic-inspector- dbsync upgrade" always failed (with enum NODE_STATE does not exist (https://bugs.launchpad.net/ironic-inspector/+bug/1696950)). 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 (https://bugs.launchpad.net/ironic-inspector/+bug/1686942) for an example and detailed investigation. Changes in ironic-inspector 5.1.0..6.0.0 ---------------------------------------- 552b3ef PXE filter options have no effect yet 7d4488b Syncing example.conf 52c5c0c Clean up current release notes 2a4c9d8 Treat 0.0.0.0 and '' as missing BMC address 28da7b6 Configuration documentation migrated 8fd9f73 Clean up deprecated config options c28dd31 Update the documentation link for doc migration b4391de Updated from global requirements 112ab52 Add selinux check in Troubleshooting PXE boot document c08fa16 Docs migration conclusion c38ac86 Introducing the user content bc546fc PGSQL: create Enum before using 93d6f69 Introducing the installation content 9a0bd29 Updated from global requirements cc7b98a Introducing the contributor content b908a30 Updated from global requirements c23a79b Update URL home-page in documents according to document migration aa5ad2e switch from oslosphinx to openstackdocstheme 74e27b9 [Devstack] cleanup upgrade settings 7fa31ac Updated from global requirements e02bc75 PXE boot filtering drivers f61a75a add disabled option to VALID_ADD_PORTS_VALUES 8b2e7d1 Updated from global requirements 5890625 Updated from global requirements fcec378 Use new oslo db EngineFacade 69157e5 grenade: Only 'enable_plugin ironic-inspector' if not already in conf 1e2c73f Updated from global requirements dd37dba Deprecate removing old status and disable it by default bcfdc2e Regenerate example.conf 75033ec Remove pbr warnerrors in favor of sphinx check a46e708 [refactoring] simplify signature of _finish function 3a3d344 Updated from global requirements fa58797 Updated from global requirements e052570 Completely remove support for setting IPMI credentials 50ed0bd Preparing for service splitting 30ac752 Updated from global requirements b1d3d89 Updated from global requirements 1583d70 Replace the deprecated tempest.test.attr with decorators.attr 00635e2 Follow up: conditions optional fields 5a40f24 Remove rollback support from introspection rules b1ce6f9 Bump pydot2 to pydot3 095cea5 Updated from global requirements ce4fb10 Do not fail rules rollback on bad formatting key 23bb748 Updated from global requirements ade2365 Allow timeout in active states 33a28f3 Inspector rules API does not return all attributes 703b780 Logging ironic port creation f274673 Updated from global requirements f430fdd Fix `clean up` error logging formatting 41fcfe6 Connect brbm-inspector and brbm when needed 7f3f8b0 Remove redundant copy operation in pxe_enabled update code 90c7e48 [devstack] fix working with USE_SYSTEMD=True 9f12562 Add new transaction starting -> error on timeout fc2e029 Adds node state to the API response data 10522e0 Allow hooks to have dependencies on other hooks dffdf36 Remove unneeded validation code in ValidateInterfacesHook d6b00fa Fix slave_connection string for unit tests 782ee92 Set pxe_enabled on new and existing ports on introspection f1990e4 Mock ironic client per test in functional tests 2e5deef Updated from global requirements 9575d31 Move port creation to validate_interfaces hook 07c9439 Use processed lldp data, if available, for local_link_connection plugin 8991924 Updated from global requirements 758d88c Update `create migration` manual 0568d5c Add missing test for NodeInfo.create_ports 5092a7d Updated from global requirements db529f3 Don't set MTU for inspector veth iface on hardware 328acd4 [Devstack]: pick correct MTU for br-inspector veth 7a670bf Unpin python3 version for functional tests 6917c21 Update config sample 392ba0b Update the url of ironic inspection documentation 67292f1 Updated from global requirements aa2bd67 Trivial: don't create unused temporary directory Diffstat (except docs and test files) ------------------------------------- .gitignore | 5 +- CONTRIBUTING.rst | 85 ++++- README.rst | 10 +- devstack/example.local.conf | 2 +- devstack/plugin.sh | 23 +- devstack/upgrade/settings | 7 - example.conf | 137 +++---- ironic_inspector/cmd/__init__.py | 2 + ironic_inspector/cmd/all.py | 29 ++ ironic_inspector/common/ironic.py | 15 +- ironic_inspector/common/service_utils.py | 35 ++ ironic_inspector/conf.py | 35 +- ironic_inspector/db.py | 77 ++-- ironic_inspector/introspect.py | 104 ++---- ironic_inspector/introspection_state.py | 4 + ironic_inspector/main.py | 195 +--------- ironic_inspector/migrations/env.py | 4 +- ...2e48801c8ef_introducing_node_state_attribute.py | 6 +- ironic_inspector/node_cache.py | 59 +-- ironic_inspector/plugins/base.py | 60 ++-- ironic_inspector/plugins/local_link_connection.py | 112 +++--- ironic_inspector/plugins/standard.py | 84 +++-- ironic_inspector/process.py | 59 +-- ironic_inspector/pxe_filter/__init__.py | 0 ironic_inspector/pxe_filter/base.py | 224 ++++++++++++ ironic_inspector/pxe_filter/interface.py | 64 ++++ ironic_inspector/rules.py | 35 +- ironic_inspector/test/base.py | 30 +- ironic_inspector/test/functional.py | 294 ++++++--------- .../test/inspector_tempest_plugin/README.rst | 4 +- ironic_inspector/test/unit/test_db.py | 77 ++++ ironic_inspector/test/unit/test_introspect.py | 110 ------ ironic_inspector/test/unit/test_main.py | 195 +--------- ironic_inspector/test/unit/test_migrations.py | 15 +- ironic_inspector/test/unit/test_node_cache.py | 147 ++++++-- ironic_inspector/test/unit/test_plugins_base.py | 48 +++ .../unit/test_plugins_local_link_connection.py | 51 +++ .../test/unit/test_plugins_standard.py | 129 +++++-- ironic_inspector/test/unit/test_process.py | 84 ++--- ironic_inspector/test/unit/test_pxe_filter.py | 272 ++++++++++++++ ironic_inspector/test/unit/test_rules.py | 86 ++--- ironic_inspector/test/unit/test_utils.py | 12 - ironic_inspector/test/unit/test_wsgi_service.py | 207 +++++++++++ ironic_inspector/utils.py | 17 +- ironic_inspector/wsgi_service.py | 196 ++++++++++ ...not_return_all_attributes-98a9765726c405d5.yaml | 5 + .../active_states_timeout-3e3ab110870483ec.yaml | 6 + ...abled-option-to-add-ports-f8c6c9b3e6797652.yaml | 5 + ...dd-lldp-plugin-dependency-c323412654f71b3e.yaml | 5 + ...ntrospection-api-response-85fb7f4e72ae386a.yaml | 4 + .../notes/empty-ipmi-address-5b5ca186a066ed32.yaml | 5 + releasenotes/notes/hook-deps-83a867c7af0300e4.yaml | 6 + .../ipmi-credentials-removal-0021f89424fbf7a3.yaml | 9 + .../pgsql-imperative-enum-dda76f150a205d0a.yaml | 6 + .../port-creation-plugin-c0405ec646b1051d.yaml | 7 + .../notes/pxe-enabled-cbc3287ebe3fcd49.yaml | 9 + ...move-deprecated-conf-opts-361ab0bb342f0e7e.yaml | 6 + .../rollback-formatting-7d61c9af2600d42f.yaml | 7 + .../notes/rollback-removal-a03a989e2e9f776b.yaml | 4 + .../notes/status-removal-fa1d9a98ffad9f60.yaml | 11 + releasenotes/source/conf.py | 17 +- requirements.txt | 24 +- setup.cfg | 9 +- test-requirements.txt | 9 +- tox.ini | 3 +- 88 files changed, 3941 insertions(+), 2930 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 852e512..b02ff1b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +6 @@ alembic>=0.8.10 # MIT -Babel>=2.3.4 # BSD +Babel!=2.4.0,>=2.3.4 # BSD @@ -8 +8 @@ construct>=2.8.10 # MIT -eventlet!=0.18.3,>=0.18.2 # MIT +eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT @@ -14 +14 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT -keystoneauth1>=2.18.0 # Apache-2.0 +keystoneauth1>=3.1.0 # Apache-2.0 @@ -17,2 +17,2 @@ netaddr!=0.7.16,>=0.7.13 # BSD -pbr>=2.0.0 # Apache-2.0 -python-ironicclient>=1.11.0 # Apache-2.0 +pbr!=2.1.0,>=2.0.0 # Apache-2.0 +python-ironicclient>=1.14.0 # Apache-2.0 @@ -22,5 +22,5 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.config>=3.22.0 # Apache-2.0 -oslo.db>=4.15.0 # Apache-2.0 -oslo.i18n>=2.1.0 # Apache-2.0 -oslo.log>=3.11.0 # Apache-2.0 -oslo.middleware>=3.10.0 # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 +oslo.db>=4.24.0 # Apache-2.0 +oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 +oslo.log>=3.22.0 # Apache-2.0 +oslo.middleware>=3.27.0 # Apache-2.0 @@ -28 +28 @@ oslo.rootwrap>=5.0.0 # Apache-2.0 -oslo.serialization>=1.10.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 @@ -32 +32 @@ stevedore>=1.20.0 # Apache-2.0 -SQLAlchemy>=1.0.10 # MIT +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index e628054..e54b32e 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4 +4 @@ -coverage>=4.0 # Apache-2.0 +coverage!=4.4,>=4.0 # Apache-2.0 @@ -9,3 +9,3 @@ mock>=2.0 # BSD -sphinx>=1.5.1 # BSD -oslosphinx>=4.7.0 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +sphinx>=1.6.2 # BSD +openstackdocstheme>=1.16.0 # Apache-2.0 +reno!=2.3.1,>=1.8.0 # Apache-2.0 @@ -15,0 +16 @@ oslotest>=1.10.0 # Apache-2.0 +pydot3>=1.0.8 # MIT License
participants (1)
-
no-reply@openstack.org