[release-announce] [ironic] ironic-inspector 6.0.0 (pike)

no-reply at openstack.org no-reply at openstack.org
Thu Aug 17 14:07:13 UTC 2017


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






More information about the Release-announce mailing list