[release-announce] ironic 21.3.0 (antelope)

no-reply at openstack.org no-reply at openstack.org
Tue Jan 31 15:43:47 UTC 2023


We exuberantly announce the release of:

ironic 21.3.0: OpenStack Bare Metal Provisioning

This release is part of the antelope release series.

The source is available from:

    https://opendev.org/openstack/ironic

Download the package from:

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

Please report issues through:

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

For more details, please see below.

21.3.0
^^^^^^


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

* Adds API version "1.81" which enables fetching node inventory
  which might have been stored during introspection

* Adds verify step and node vendor passthru method to deal with a
  firmware incompatibility issue with iRMC versions S6 2.00 and later
  in which HTTP connection to REST API is not supported and HTTPS
  connections to REST API is required.

  Verify step checks connection to iRMC REST API and if connection
  succeeds, it fetches version of iRMC firmware and store it in
  "driver_internal_info/irmc_fw_version". Ironic operators use node
  vendor passthru method to fetch & update iRMC firmware version
  cached in "driver_internal_info/irmc_fw_version".


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

* Since iRMC versions S6 2.00 and later, iRMC firmware doesn't
  support HTTP connection to REST API. Operators need to set "[irmc]
  port" in ironic.conf or "driver_info/irmc_port" to 443.

* When Ironic operator uses irmc driver against Fujitsu server which
  runs iRMC version S6 2.00 or later, operator may need to set Redfish
  parameters in "driver_info" so this fix can operate properly or
  operator should enable IPMI over LAN through BMC settings, if
  possible.


Bug Fixes
*********

* Fixes an issue where if selinux is enabled and enforcing, and the
  published image is a hardlink, the source selinux context is
  preserved, causing access denied when retrieving the image using
  hardlink URL.

* Fixes the default value for the "[DEFAULT]grub_config_path"
  variable to be the default path for UEFI bootloader configurations,
  where as the default was previously the BIOS grub2 configuration
  path.

* Fixes a firmware incompatibility issue with iRMC versions S6 2.00
  and later now doesn't support IPMI over LAN by default. To deal with
  this problem, irmc driver first tries IPMI operation then, if IPMI
  operation fails, it tries Redfish API of Fujitsu server. The
  operator must set Redfish parameters in the "driver_info" if iRMC
  disable or doesn't support IPMI over LAN.

* Fixes "'NoneType' object is not iterable" in conductor logs for
  "redfish" and "idrac-redfish" RAID clean and deploy steps. The
  message should no longer appear. For affected nodes re-create the
  node or delete "raid_configs" entry from "driver_internal_info"
  field.

Changes in ironic 21.2.0..21.3.0
--------------------------------

fbe22b23b Move and fix reno config for releasenotes job
692a383fd [CI] Swap anaconda urls
b63d15ccd Make reno ignore bugfix eol tags
38777e503 Clarify release docs: bugfix releases optional
fe69e06c7 Reorganise Inventory Storage
8604a799a Docs: Troubleshooting: how to exit clean failed
f8608dbd9 Use new get_rpc_client API from oslo.messaging
9a85e4787 CI: Fix race prone unit test in networking
f11321099 Create [inventory]
d23f72ee5 [iRMC] Handle IPMI incompatibility in iRMC S6 2.x
eae33a0ac [iRMC] identify BMC firmware version
2e80ea909 API for node inventory
c05c09fd3 Fix selinux context of published image hardlink
2f4a156d2 Fix grub config path default
5cd7bfc52 Docs: Add considerations to anaconda docs
05f6003fe [DOC] Add entry regarding cleaning+raid
ca5ed66d5 setup.py: Remove 'py_modules'
0230d361f CI: Reset VM footprint to 2.6GB
1d07be823 Use centos grub artifacts with centos ramdisk for vmedia
cab04afe6 Create IRONIC_VM_MACS_CSV_FILE if it does not exist
7150478cd Fix unbound variable in devstack plugin
93158aadd Use tinycore 13 for base ramdisk image
6b84fbf8f Fix CI
facd1bca6 Remove lib/neutron-legacy leftovers
17c9e58c9 Fix "'NoneType' object is not iterable" in RAID
ef772c2c1 Fixes for tox 4.0
8b00932e4 Use association_proxy for ports node_uuid
44ccc397c Add doc for lsblk: /dev/nvme0n1p2: not a block device
973d3b6ea Enable alternative storage for inventory


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

.../source/baremetal-api-v1-nodes-inventory.inc    |  40 +++
api-ref/source/parameters.yaml                     |  12 +
.../source/samples/node-inventory-response.json    |  31 ++
devstack/lib/ironic                                |  21 +-
devstack/plugin.sh                                 |   2 +-
devstack/upgrade/upgrade.sh                        |   2 +-
ironic/api/controllers/v1/node.py                  |  25 +-
ironic/api/controllers/v1/port.py                  |   8 +-
ironic/api/controllers/v1/utils.py                 |   5 +
ironic/api/controllers/v1/versions.py              |   4 +-
ironic/common/policy.py                            |  13 +
ironic/common/release_mappings.py                  |   4 +-
ironic/common/rpc.py                               |   7 +-
ironic/common/swift.py                             |  42 +++
ironic/conf/__init__.py                            |   2 +
ironic/conf/default.py                             |   2 +-
ironic/conf/inventory.py                           |  34 +++
ironic/conf/opts.py                                |   1 +
ironic/db/sqlalchemy/api.py                        |   4 +-
ironic/db/sqlalchemy/models.py                     |  10 +
ironic/drivers/irmc.py                             |   6 +
ironic/drivers/modules/image_utils.py              |  10 +
ironic/drivers/modules/inspect_utils.py            |  87 ++++++
ironic/drivers/modules/inspector.py                |  14 +-
ironic/drivers/modules/irmc/common.py              | 219 +++++++++++++
ironic/drivers/modules/irmc/inspect.py             |  89 ++++--
ironic/drivers/modules/irmc/management.py          | 287 +++++++++++++++---
ironic/drivers/modules/irmc/power.py               |  57 +++-
ironic/drivers/modules/irmc/vendor.py              |  75 +++++
ironic/drivers/modules/redfish/raid.py             |   8 +-
ironic/objects/port.py                             |   8 +-
.../unit/drivers/modules/irmc/test_inspect.py      | 107 ++++++-
.../unit/drivers/modules/irmc/test_management.py   | 337 ++++++++++++++++++++-
.../unit/drivers/modules/network/test_common.py    |   4 +-
.../unit/drivers/modules/redfish/test_raid.py      |   4 +
.../unit/drivers/modules/test_inspect_utils.py     | 121 ++++++++
.../unit/drivers/third_party_driver_mock_specs.py  |   2 +
releasenotes/config.yaml                           |   5 +
.../notes/add-node-inventory-7cde961b14caa11e.yaml |   5 +
...ix-context-image-hardlink-16f452974abc7327.yaml |   7 +
...ix-grub2-uefi-config-path-f1b4c5083cc97ee5.yaml |  14 +
...2.00-http-incompatibility-61a31d12aa33fbd8.yaml |  19 ++
...2.00-ipmi-incompatibility-118484a424df02b1.yaml |  15 +
...pe-object-is-not-iterable-0592926d890d6c11.yaml |   7 +
reno.yaml                                          |   4 -
requirements.txt                                   |   2 +-
setup.cfg                                          |   1 +
setup.py                                           |   4 +-
tox.ini                                            |  12 +-
zuul.d/ironic-jobs.yaml                            |  10 +-
67 files changed, 2303 insertions(+), 209 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 8a57727ec..0c73e632e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -42 +42 @@ keystonemiddleware>=9.5.0 # Apache-2.0
-oslo.messaging>=5.29.0 # Apache-2.0
+oslo.messaging>=14.1.0 # Apache-2.0






More information about the Release-announce mailing list