We contentedly announce the release of: ironic-inspector 10.8.0: Hardware introspection for OpenStack Bare Metal This release is part of the xena stable release series. The source is available from: https://opendev.org/openstack/ironic-inspector Download the package from: https://tarballs.openstack.org/ironic-inspector/ Please report issues through: https://storyboard.openstack.org/#!/project/944 For more details, please see below. 10.8.0 ^^^^^^ New Features ************ * The new "[healthcheck] enabled" option has been added. When this option is set to "True", the healthcheck middleware is enabled in API pipeline and the additional API endpoint to monitor service availability becomes available at "/healthcheck" path. Bug Fixes ********* * Inspector now ignores failures to list ironic ports during pxe filter driver sync, and just skips the sync in this case. Previously such errors resulted in pxe filter driver being stuck in an uninitialized state until ironic inspector was restarted. See bug 2008971 (https://storyboard.openstack.org/#!/story/2008971). * Fixes issues in Inspector where various tasks would not have retry logic applied to them and may sporadically fail. This is because the OpenStack SDK does not comprehend the NodeLocked error, which previously python-ironicclient silently handled. Basic operations such as "power reboot" and "set boot device" will now be retried automatically if they fail. For more information, please see story 2009107 (https://storyboard.openstack.org/#!/story/2009107). Changes in ironic-inspector 10.7.0..10.8.0 ------------------------------------------ 4bc7532 Fix sqlalchemy d7400b5 Add optional healthcheck middleware 62f79a1 Include ironic/tests in irrelevant-files 6e72471 Update parameters for authtoken middleware 7f6c4c4 Handle NodeLocked failures 424b53e Add lower-constraints job to current development branch 9cfd98e Increase version of hacking and pycodestyle c3b3166 Do not reset FSM when ironic ports cant be queried Diffstat (except docs and test files) ------------------------------------- ironic_inspector/conf/__init__.py | 2 + ironic_inspector/conf/healthcheck.py | 33 +++++ ironic_inspector/conf/opts.py | 1 + ironic_inspector/introspect.py | 10 +- ironic_inspector/main.py | 2 + ironic_inspector/node_cache.py | 9 +- ironic_inspector/pxe_filter/dnsmasq.py | 14 +- ironic_inspector/pxe_filter/iptables.py | 19 ++- ironic_inspector/test/unit/test_common_ironic.py | 12 +- .../test/unit/test_dnsmasq_pxe_filter.py | 16 +++ ironic_inspector/test/unit/test_introspect.py | 39 +++++- ironic_inspector/test/unit/test_iptables.py | 16 +++ ironic_inspector/test/unit/test_migrations.py | 151 ++++++++++++--------- ironic_inspector/test/unit/test_node_cache.py | 9 ++ ironic_inspector/test/unit/test_utils.py | 11 +- ironic_inspector/utils.py | 9 ++ lower-constraints.txt | 43 ++++++ .../healthcheck-middleware-5994e8a8b54dbdb4.yaml | 7 + .../pxe-filter-driver-stuck-ea5844cf3eafa61f.yaml | 9 ++ ...handle_transient_failures-e1da302fd1d06528.yaml | 11 ++ tools/config-generator.conf | 1 + tox.ini | 4 +- zuul.d/ironic-inspector-jobs.yaml | 1 + zuul.d/project.yaml | 1 + 24 files changed, 325 insertions(+), 105 deletions(-)