[release-announce] ironic-inspector 7.3.0 (rocky)

no-reply at openstack.org no-reply at openstack.org
Wed May 16 13:50:36 UTC 2018


We are pumped to announce the release of:

ironic-inspector 7.3.0: Hardware introspection for OpenStack Bare
Metal

This release is part of the rocky release series.

The source is available from:

    https://git.openstack.org/cgit/openstack/ironic-inspector

Download the package from:

    https://tarballs.openstack.org/ironic-inspector/

Please report issues through launchpad:

    https://storyboard.openstack.org/#!/project/944

For more details, please see below.

7.3.0
^^^^^


New Features
************

* Adds wildcard ignore entry to "dnsmasq" PXE filter. When node
  introspection is active, or if "node_not_found_hook" is set in the
  configuration the ignore is removed from the wildcard entry. This
  ensures that unknown nodes do not accidentally boot into the
  introspection image when no node introspection is active.

  This brings "dnsmasq" PXE filter driver feature parity with the
  "iptables" PXE filter driver, which uses a firewall rule to block
  any DHCP request on the interface where Ironic Inspector's DHCP
  server is listening.

* Issuing a SIGHUP to the ironic-inspector service will cause the
  service to reload and use any changed values for *mutable*
  configuration options.

  Mutable configuration options are indicated as such in the sample
  configuration file (https://docs.openstack.org/ironic-
  inspector/latest/configuration/sample-config.html) by "Note: This
  option can be changed without restarting".

  A warning is logged for any changes to immutable configuration
  options.


Upgrade Notes
*************

* The "[discovery]enroll_node_driver" option, specifying the
  hardware type or driver to use for newly discovered nodes, was
  changed from "fake" classic driver to "fake-hardware" hardware type.

* Adds dependency on the retrying
  (https://github.com/rholder/retrying) python library.


Bug Fixes
*********

* Fixes bug in which the "switch_id" field in a port's
  "local_link_connection" can 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_id" field to be a MAC
  address, and will return an error otherwise. See bug 1748022
  (https://bugs.launchpad.net/ironic-inspector/+bug/1748022) for
  details.

* Ironic introspection no longer tries to access the Identity
  service if the "auth_strategy" option is set to "noauth" and the
  "auth_type" option is not set to "none".

* The periodic PXE filter update task now retries fetching port list
  from the Bare Metal service 5 times (with 1 second delay) before
  giving up. This ensures that a temporary networking glitch will not
  result in the ironic-inspector service stopping.

Changes in ironic-inspector 7.1.0..7.3.0
----------------------------------------

737dbea Raise KeyboardInterrupt on SIGTERM - Workaround
be3f7ee Gate fix: Cap hacking to avoid gate failure
868965c Fix pycodestyle warnings/errors now visible with hacking 1.1.0
2c5cf4e Fix dnsmasq filter nits
5e54e72 PXE Filter dnsmasq: blacklist unknown host
bded1ab Imported Translations from Zanata
66f318b Change the default discovery driver to fake-hardware
50a5aa1 Trivial: Update pypi url to new url
3b3a3ef Fix lower constraints and uncap eventlet
03db5d8 Update auth_uri option to www_authenticate_uri
76898b7 Support reload configuration on SIGHUP
f257c57 Add 'inspect wait' as a valid state
1b0adcb Switch the grenade job to hardware types and clean up its playbook
1ae010b Disable automated cleaning in grenade
5128a63 Imported Translations from Zanata
47e4e40 Update launchpad to storyboard references
1fc3bfa Support zuul's standard override-checkout variable
697a2c1 Enable custom IRONIC_INSPECTOR_EXTRA_KERNEL_CMDLINE
3946a94 Updated from global requirements
5113ef5 add lower-constraints job
0c159b0 test_failure_to_write fails with root user
faf9d35 Switch documentation to hardware types
5cb04f5 devstack: enable "fake" inspection implementation
46ec5a2 Updated from global requirements
f440bcb Updated from global requirements
1292657 Updated from global requirements
5c63f14 Prevent mocks in test_dnsmasq_pxe_filter from conflicting with oslo.config
4bba042 Fix typo in README.md
e73ebb7 Correct Queens release notes versions
0561fc6 Imported Translations from Zanata
e9d9d63 Imported Translations from Zanata
11c26d2 Updated from global requirements
3237511 Retry port lists on failure in PXE filter periodic sync
97282c6 Only set switch_id in local_link_connection if it is a mac address
fbeb078 ironic_inspector: ironic: Fix 'auth_type' when 'auth_strategy' is used
50a0f84 Remove redundant "the" from a docstring
7697821 Update reno for stable/queens


Diffstat (except docs and test files)
-------------------------------------

CONTRIBUTING.rst                                   |   6 +-
README.rst                                         |   8 +-
devstack/example.local.conf                        |  34 ++++--
devstack/plugin.sh                                 |   6 +-
ironic-inspector.8                                 |   2 +-
ironic_inspector/cmd/all.py                        |   1 +
ironic_inspector/common/ironic.py                  |  37 ++++--
ironic_inspector/common/lldp_parsers.py            |   2 +-
ironic_inspector/common/lldp_tlvs.py               |   1 +
ironic_inspector/conf/discovery.py                 |   2 +-
ironic_inspector/introspection_state.py            |   1 +
.../locale/en_GB/LC_MESSAGES/ironic_inspector.po   |   6 +-
ironic_inspector/main.py                           |   2 +-
ironic_inspector/migrations/env.py                 |   1 +
.../18440d0834af_introducing_the_aborting_state.py |  12 +-
.../versions/578f84f38d_inital_db_schema.py        |   6 +-
.../882b2d84cb1b_attribute_constraints_relaxing.py |  11 +-
...d00d6e3f38c4_change_created_finished_at_type.py |  11 +-
...2e48801c8ef_introducing_node_state_attribute.py |  13 +-
.../migrations/versions/d588418040d_add_rules.py   |   9 +-
...9a4a81d88_add_invert_field_to_rule_condition.py |   7 +-
ironic_inspector/plugins/local_link_connection.py  |  15 ++-
ironic_inspector/plugins/pci_devices.py            |   1 +
ironic_inspector/pxe_filter/dnsmasq.py             |  52 +++++++-
ironic_inspector/pxe_filter/iptables.py            |   9 +-
ironic_inspector/test/base.py                      |   2 +-
ironic_inspector/test/functional.py                |   2 +-
ironic_inspector/test/unit/test_common_ironic.py   |  78 ++++++++++--
.../test/unit/test_dnsmasq_pxe_filter.py           | 107 ++++++++++++++++-
ironic_inspector/test/unit/test_introspect.py      |  10 ++
ironic_inspector/test/unit/test_iptables.py        |  19 +++
ironic_inspector/test/unit/test_plugins_base.py    |   4 +-
.../test/unit/test_plugins_discovery.py            |   5 +-
.../unit/test_plugins_local_link_connection.py     |  18 +++
ironic_inspector/test/unit/test_process.py         |  11 +-
ironic_inspector/test/unit/test_utils.py           |   5 +-
ironic_inspector/test/unit/test_wsgi_service.py    |  17 +++
ironic_inspector/wsgi_service.py                   |  16 +++
lower-constraints.txt                              | 131 +++++++++++++++++++++
.../legacy/ironic-inspector-grenade-dsvm/run.yaml  |  66 ++---------
.../run.yaml                                       |   3 +-
.../ironic-inspector-tempest-dsvm-python3/run.yaml |   3 +-
.../discovery-default-driver-94f990bb0676369b.yaml |   6 +
...fix-llc-switch-id-not-mac-e2de3adc0945ee70.yaml |   9 ++
.../notes/keystone-noauth-9ba5ad9884c6273c.yaml    |   6 +
.../notes/port-list-retry-745d1cf41780e961.yaml    |  11 ++
...sq-not-known-hosts-filter-76ae5bd7a8db6f75.yaml |  13 ++
.../notes/sighup-support-e6eaec034d963108.yaml     |  11 ++
releasenotes/source/index.rst                      |   1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       | 118 +++++++++++++++++--
releasenotes/source/queens.rst                     |   6 +
requirements.txt                                   |  13 +-
test-requirements.txt                              |   4 +-
tox.ini                                            |  11 +-
zuul.d/project.yaml                                |   2 +
57 files changed, 790 insertions(+), 193 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 10d82ee..7a4e9b2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,2 +7,2 @@ Babel!=2.4.0,>=2.3.4 # BSD
-construct>=2.8.10 # MIT
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+construct<2.9,>=2.8.10 # MIT
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
@@ -14 +14 @@ jsonschema<3.0.0,>=2.6.0 # MIT
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -18 +18 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-python-ironicclient>=2.2.0 # Apache-2.0
+python-ironicclient>=2.3.0 # Apache-2.0
@@ -21,2 +21,2 @@ pytz>=2013.6 # MIT
-oslo.concurrency>=3.25.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -31,0 +32 @@ oslo.utils>=3.33.0 # Apache-2.0
+retrying!=1.3.0,>=1.2.3 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 47029ef..c2fe6ef 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ flake8-import-order>=0.13 # LGPLv3
-hacking>=1.0.0 # Apache-2.0
+hacking>=1.0.0,<1.1.0 # Apache-2.0
@@ -9 +9 @@ mock>=2.0.0 # BSD
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD






More information about the Release-announce mailing list