We high-spiritedly announce the release of: ironic-inspector 8.0.0: Hardware introspection for OpenStack Bare Metal This release is part of the rocky stable 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. 8.0.0 ^^^^^ New Features ************ * Adds new parameter "manage_boot" to the introspection API to allow disabling boot management (setting the boot device and rebooting) for a specific node. If it is set to "False", the boot is supposed to be managed by a 3rd party. If the new option "can_manage_boot" is set to "False" (the default is "True), then ``manage_boot" must be explicitly set to "False". * Modifies introspection rules to allow formatting to be applied to strings nested in dicts and lists in the actions. Upgrade Notes ************* * Updates the default Ironic API version to 1.38. This version is used by default within the Bare Metal Inspection service when communicating with the Bare Metal API. It is the default used by processing plugins, which may override the version, and by introspection rules, which may not override the version. 1.38 was the API version at the time of the most recent Queens series Bare Metal service release (10.1.0). See story 2002166. Bug Fixes ********* * The "dnsmasq" PXE filter no longer whitelists the MAC addresses of ports deleted from the Bare Metal service. Instead they are blacklisted unless introspection is active or the "node_not_found_hook" is set in the configuration. This ensures that no previously enrolled node accidentally boot the inspection image when no node introspection is active. Bug #2001979 (https://storyboard.openstack.org/#!/story/2001979). * Stops introspection when setting boot device is failed, as the node is not guarenteed to perform a PXE boot in this case. Other Notes *********** * The deprecated configuration option "[iptables]manage_firewall" was removed, use "[pxe_filter]driver" to set filtering driver. Changes in ironic-inspector 7.3.0..8.0.0 ---------------------------------------- 9f44231 Update HTTP API version history 269d92b Fix lock leaks in unit tests ec8eacd Clean up pxe_filter related deprecations 292c168 Follow up to pycodestyle fix 1ad6f69 Stop introspection if set boot device failed 0646970 Allow nested action value formatting b071f98 Fix gate failure due to recent oslo.policy release cce25ed Switch to using stestr 47d7fb2 Sync up Flask version with global-requirements d459db7 Force ipmi hardware type for python3 job c4abd67 PXE Filter dnsmasq: manage macs not in ironic 7c5d147 Invalid links in doc file e7c3218 Add manage_boot parameter to introspection API c4821fd Imported Translations from Zanata afa0364 Cap hacking at 1.2.0 2cfbde1 Remove unused import 0feeaf1 fix tox python3 overrides cdf79db Update default Ironic API version to 1.38 6469a1f Introduce oslo.messaging and sync rpc call Diffstat (except docs and test files) ------------------------------------- CONTRIBUTING.rst | 6 +- ironic_inspector/common/ironic.py | 8 +- ironic_inspector/common/rpc.py | 56 +++++++ ironic_inspector/conductor/__init__.py | 0 ironic_inspector/conductor/manager.py | 38 +++++ ironic_inspector/conf/default.py | 8 +- ironic_inspector/conf/iptables.py | 15 -- ironic_inspector/conf/pxe_filter.py | 6 +- ironic_inspector/db.py | 1 + ironic_inspector/introspect.py | 61 ++++---- ironic_inspector/main.py | 32 +++- .../2970d2d44edc_add_manage_boot_to_nodes.py | 33 +++++ ironic_inspector/node_cache.py | 24 ++- ironic_inspector/pxe_filter/base.py | 4 - ironic_inspector/pxe_filter/dnsmasq.py | 61 ++++++-- ironic_inspector/rules.py | 120 ++++++++++----- ironic_inspector/test/functional.py | 32 +++- .../test/unit/test_dnsmasq_pxe_filter.py | 90 ++++++++--- ironic_inspector/test/unit/test_introspect.py | 69 ++++++++- ironic_inspector/test/unit/test_main.py | 164 +++++++++++++-------- ironic_inspector/test/unit/test_manager.py | 143 ++++++++++++++++++ ironic_inspector/test/unit/test_migrations.py | 8 + ironic_inspector/test/unit/test_node_cache.py | 20 ++- ironic_inspector/test/unit/test_process.py | 5 + ironic_inspector/test/unit/test_pxe_filter.py | 14 -- ironic_inspector/test/unit/test_rules.py | 71 +++++++++ ironic_inspector/test/unit/test_utils.py | 1 + ironic_inspector/test/unit/test_wsgi_service.py | 6 + ironic_inspector/utils.py | 1 - ironic_inspector/wsgi_service.py | 6 + lower-constraints.txt | 3 +- .../ironic-inspector-tempest-dsvm-python3/run.yaml | 1 + .../notes/manage-boot-2ae986f87098576b.yaml | 10 ++ .../nested-value-formatting-e04f187475e5e475.yaml | 4 + ...anage-deleted-ironic-macs-4bb766efad8c6d02.yaml | 9 ++ ...remove-opt-group-firewall-96266983e476c29e.yaml | 5 + ...op-when-setbootdev-failed-68d84fec0843bdc8.yaml | 5 + .../notes/story-2002166-371315335fd8e62d.yaml | 14 ++ .../locale/en_GB/LC_MESSAGES/releasenotes.po | 58 +++++++- requirements.txt | 3 +- test-requirements.txt | 4 +- tox.ini | 17 ++- 44 files changed, 1014 insertions(+), 243 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 7a4e9b2..ef6c055 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9 +9 @@ eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT -Flask!=0.11,<1.0,>=0.10 # BSD +Flask!=0.11,>=0.10 # BSD @@ -26,0 +27 @@ oslo.log>=3.36.0 # Apache-2.0 +oslo.messaging>=5.32.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index c2fe6ef..aced9f8 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +7 @@ flake8-import-order>=0.13 # LGPLv3 -hacking>=1.0.0,<1.1.0 # Apache-2.0 +hacking>=1.0.0,<1.2.0 # Apache-2.0 @@ -11 +11 @@ openstackdocstheme>=1.18.1 # Apache-2.0 -os-testr>=1.0.0 # Apache-2.0 +stestr>=1.0.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org