[openstack-announce] [release][ironic] ironic-inspector 3.3.0 release (newton)

no-reply at openstack.org no-reply at openstack.org
Wed May 11 14:36:54 UTC 2016


We are stoked to announce the release of:

ironic-inspector 3.3.0: Hardware introspection for OpenStack Bare
Metal

This release is part of the newton release series.

With source available at:

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

Please report issues through launchpad:

    http://bugs.launchpad.net/ironic-inspector

For more details, please see below.

3.3.0
^^^^^


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

* 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.


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

* 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.


Deprecation Notes
*****************

* 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.


Bug Fixes
*********

* 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.

Changes in ironic-inspector 3.2.0..3.3.0
----------------------------------------

ef80336 Ensure rules documentation examples are valid JSON
a48fc0c Updated from global requirements
af6fbf0 Support Ironic node names in our API
cdf6c74 Updated from global requirements
50b9894 is-empty conditions should accept missing values
b65ab06 Store ramdisk logs on all processing failures, not only reported by the ramdisk
3505a8e Use PortOpt type for port options
5074e32 Refactor test_process
154a1bd use openstack cli instead of keystone cli
73c7582 Updated from global requirements
41580ad Make sure to clean the blacklist cache when disabling the firewall
d02be94 Updated from global requirements
50783c1 Tempest plugin initial commit
1659451 Make tox respect upper-constraints.txt
2a12cff Updated from global requirements
f9e9a88 Allow rerunning introspection on stored data
cba6394 Updated from global requirements
30ae1e7 Move unit tests to "unit" directory
0ec02d3 Drop the TestInit node_cache unit test
abe5341 Updated from global requirements
f974aa0 Update versions on the release notes page
a94486d Remove downgrades from migrations
3aebf1f Set config options for keystoneauth.
35f3325 Use keystoneauth for Ironic and Swift clients
a12d1af Better error handling when converting eDeploy data
7b7fba7 Update reno for stable/mitaka
b638c70 Use all valid MAC's for lookup

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

CONTRIBUTING.rst                                   |   4 +
devstack/exercise.sh                               |   4 +-
devstack/plugin.sh                                 |  24 +-
example.conf                                       | 262 +++++--
ironic_inspector/common/ironic.py                  | 132 ++--
ironic_inspector/common/keystone.py                | 129 ++++
ironic_inspector/common/swift.py                   | 132 ++--
ironic_inspector/conf.py                           |   8 +-
ironic_inspector/dbsync.py                         |   2 +-
ironic_inspector/firewall.py                       |   3 +-
ironic_inspector/introspect.py                     |  22 +-
ironic_inspector/main.py                           |  53 +-
ironic_inspector/migrations/script.py.mako         |   4 -
.../versions/578f84f38d_inital_db_schema.py        |   6 -
.../migrations/versions/d588418040d_add_rules.py   |   6 -
...9a4a81d88_add_invert_field_to_rule_condition.py |   4 -
ironic_inspector/node_cache.py                     |  22 +-
ironic_inspector/plugins/discovery.py              |   2 +-
ironic_inspector/plugins/extra_hardware.py         |   2 +-
ironic_inspector/plugins/rules.py                  |   1 +
ironic_inspector/plugins/standard.py               |  63 +-
ironic_inspector/process.py                        | 259 +++++--
ironic_inspector/test/functional.py                |  67 ++
.../test/inspector_tempest_plugin/README.rst       |  18 +
.../test/inspector_tempest_plugin/__init__.py      |   0
.../test/inspector_tempest_plugin/config.py        |  13 +
.../test/inspector_tempest_plugin/plugin.py        |  34 +
.../inspector_tempest_plugin/services/__init__.py  |   0
ironic_inspector/test/test_common_ironic.py        | 118 ----
ironic_inspector/test/test_firewall.py             | 332 ---------
ironic_inspector/test/test_introspect.py           | 519 --------------
ironic_inspector/test/test_main.py                 | 608 -----------------
ironic_inspector/test/test_migrations.py           | 380 -----------
ironic_inspector/test/test_node_cache.py           | 719 --------------------
ironic_inspector/test/test_plugins_base.py         |  44 --
ironic_inspector/test/test_plugins_discovery.py    | 128 ----
.../test/test_plugins_extra_hardware.py            |  86 ---
ironic_inspector/test/test_plugins_raid_device.py  | 132 ----
ironic_inspector/test/test_plugins_rules.py        | 221 ------
ironic_inspector/test/test_plugins_standard.py     | 480 -------------
ironic_inspector/test/test_process.py              | 460 -------------
ironic_inspector/test/test_rules.py                | 497 --------------
ironic_inspector/test/test_swift.py                | 179 -----
ironic_inspector/test/test_utils.py                | 172 -----
ironic_inspector/test/unit/__init__.py             |   0
ironic_inspector/test/unit/test_common_ironic.py   | 125 ++++
ironic_inspector/test/unit/test_firewall.py        | 338 +++++++++
ironic_inspector/test/unit/test_introspect.py      | 519 ++++++++++++++
ironic_inspector/test/unit/test_keystone.py        | 115 ++++
ironic_inspector/test/unit/test_main.py            | 698 +++++++++++++++++++
ironic_inspector/test/unit/test_migrations.py      | 380 +++++++++++
ironic_inspector/test/unit/test_node_cache.py      | 727 ++++++++++++++++++++
ironic_inspector/test/unit/test_plugins_base.py    |  44 ++
.../test/unit/test_plugins_discovery.py            | 131 ++++
.../test/unit/test_plugins_extra_hardware.py       |  97 +++
.../test/unit/test_plugins_raid_device.py          | 132 ++++
ironic_inspector/test/unit/test_plugins_rules.py   | 221 ++++++
.../test/unit/test_plugins_standard.py             | 405 +++++++++++
ironic_inspector/test/unit/test_process.py         | 752 +++++++++++++++++++++
ironic_inspector/test/unit/test_rules.py           | 497 ++++++++++++++
ironic_inspector/test/unit/test_swift.py           | 142 ++++
ironic_inspector/test/unit/test_utils.py           | 172 +++++
ironic_inspector/utils.py                          |   7 +
.../notes/edeploy-typeerror-6486e31923d91666.yaml  |   5 +
.../notes/firewall-rerun-f2d0f64cca2698ff.yaml     |   4 +
.../notes/is-empty-missing-a590d580cb62761d.yaml   |   3 +
.../keystoneauth-plugins-aab6cbe1d0e884bf.yaml     |  17 +
.../notes/lookup-all-macs-eead528c0b764ad7.yaml    |   6 +
releasenotes/notes/names-82d9f84153a228ec.yaml     |   5 +
.../no-downgrade-migrations-514bf872d9f944ed.yaml  |   5 +
...disk-logs-on-all-failures-24da41edf3a98400.yaml |  11 +
.../reapply-introspection-5edbbfaf498dbd12.yaml    |   4 +
releasenotes/source/index.rst                      |   4 +-
releasenotes/source/mitaka.rst                     |   8 +-
requirements.txt                                   |  10 +-
setup.cfg                                          |   3 +
test-requirements.txt                              |   4 +-
tox.ini                                            |  23 +-
85 files changed, 6730 insertions(+), 5431 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index ae36002..fe6f250 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,2 +4,2 @@
-alembic>=0.8.0 # MIT
-Babel>=1.3 # BSD
+alembic>=0.8.4 # MIT
+Babel>=2.3.4 # BSD
@@ -10,0 +11 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
+keystoneauth1>=2.1.0 # Apache-2.0
@@ -15 +15,0 @@ python-ironicclient>=1.1.0 # Apache-2.0
-python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0
@@ -18 +18 @@ oslo.concurrency>=3.5.0 # Apache-2.0
-oslo.config>=3.7.0 # Apache-2.0
+oslo.config>=3.9.0 # Apache-2.0
@@ -26 +26 @@ six>=1.9.0 # MIT
-stevedore>=1.5.0 # Apache-2.0
+stevedore>=1.10.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index c77cbb7..166089b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10,2 +10,2 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
-reno>=0.1.1 # Apache2
-fixtures>=1.3.1 # Apache-2.0/BSD
+reno>=1.6.2 # Apache2
+fixtures<2.0,>=1.3.1 # Apache-2.0/BSD





More information about the OpenStack-announce mailing list