[release-announce] ironic 18.2.1 (xena)

no-reply at openstack.org no-reply at openstack.org
Mon Feb 7 10:33:15 UTC 2022


We are psyched to announce the release of:

ironic 18.2.1: OpenStack Bare Metal Provisioning

This release is part of the xena stable 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.

18.2.1
^^^^^^

Bug Fixes

* No longer validates boot interface parameters when adopting a node
  that uses local boot.

* Fixes installation and unit testing of ironic when using the sushy
  library by setting an appropriate upper constraint. This version of
  Ironic is not compatible with Sushy 4.0.0.

* Fixes a bug in the anaconda deploy interface where the
  'ks_options' key was not found when rendering the default kickstart
  template.

* Fixes issue where PXEAnacondaDeploy interface's deploy() method
  did not return states.DEPLOYWAIT so the instance went straight to
  'active' instead of 'wait call-back'.

* Fixes an issue where the anaconda deploy interface mistakenly
  expected 'squashfs_id' instead of 'stage2_id'  property on the
  image.

* Fixes the heartbeat mechanism in the default kickstart template
  ks.cfg.template as the heartbeat API only accepts 'POST' and expects
  a mandatory 'callback_url' parameter.

* Fixes handling of tarball images in anaconda deploy interface.
  Allows user specified file extensions to be appended to the disk
  image symlink. Users can now set the file extensions by setting the
  'disk_file_extension' property on the OS image. This enables users
  to deploy tarballs with anaconda deploy interface.

* Fixes issue where automated cleaning was not supported when
  anaconda deploy interface is used.

* Fixed an issue where duplicate extra DHCP options was passed in
  the port update request to the Networking service. The duplicate
  DHCP options caused an error in the Networking service and node
  provisioning would fail. See bug: 2009774
  (https://storyboard.openstack.org/#!/story/2009774).

* Fixes "idrac-wsman" management interface "set_boot_device" method
  that would fail deployment when there are existing jobs present with
  error "Failed to change power state to ''power on'' by
  ''rebooting''. Error: DRAC operation failed. Reason: Unfinished
  config jobs found: <list of existing jobs>. Make sure they are
  completed before retrying.". Now there can be non-BIOS jobs present
  during deployment. This will still fail for cases when there are
  BIOS jobs present. In such cases should consider moving to "idrac-
  redfish" that does not have this limitation when setting boot
  device.

* Fixed an issue where provisioning/cleaning would fail on IPv6
  routed provider networks. See bug: 2009773
  (https://storyboard.openstack.org/#!/story/2009773).

* Fixes validation of input argument "firmware_images" of "redfish"
  hardware type clean step "update_firmware". Now it validates the
  argument at the beginning of clean step. Prior to this fix issues
  were determined at the time of executing firmware update or not at
  all (for example, mistyping optional field 'wait').

* Fixes "redfish" hardware type "update_firmware" cleaning step to
  work with Sushy version 4.0.0 or greater.

* Fixes an issue where clients would get a 404 due to the node
  pagination breaking at max_limit due to an uninitialised
  resource_url.

* Fixes an issue where clients would get a 404 due to the port and
  portgroups pagination breaking at max_limit due to an uninitialised
  resource_url.

* Fixes "File name too long" in the image caching code when a URL
  contains a long query string.

* Inspection no longer fails when one of the NICs reports NIC
  address that is not a valid MAC (e.g. a WWN).

* Fixed the bug of repeated resume cleaning due to the value of
  *fgi_status* not being updated correctly when obtaining the RAID
  configuration status of the node managed by the *irmc* hardware
  type.

* When configuring RAID on iRMC machines through ironic, polling is
  not set when RAID is created. After creating the RAID, set up
  polling will notify ironic to wait for the RAID configuration to
  complete before proceeding to the next step instead of check IPA.

* Fixes connection caching issues with Redfish BMCs where
  AccessErrors were previously not disqualifying the cached connection
  from being re-used. Ironic will now explicitly open a new connection
  instead of using the previous connection in the cache. Under normal
  circumstances, the "sushy" redfish library would detect and refresh
  sessions, however a prior case exists where it may not detect a
  failure and contain cached session credential data which is
  ultimately invalid, blocking future access to the BMC via Redfish
  until the cache entry expired or the "ironic-conductor" service was
  restarted. For more information please see story 2009719
  (https://storyboard.openstack.org/#!/story/2009719).

* Removing *?filename=file.iso* suffix from the virtual media image
  URL when the image is a regular file due to incompatibility with
  SuperMicro X12 machines which do not accept special characters such
  as *=* or *?* in the URL. Historically, this suffix was being added
  to improve compatibility with those BMCs which require *.iso* suffix
  in the URL while using swift as the image store. Old behaviour will
  remain for swift backed images.

Changes in ironic 18.2.0..18.2.1
--------------------------------

9c6cd3f5d Set resource_url when getting all ports or portgroups
7ae288c77 Set resource_url when getting all nodes
09423854b Do not fail inspection on invalid MAC
884e290a6 Fix validating input for redfish update_firmware
9a7bc0582 Ensure 'port' is up2date after binding:host_id
2326d8680 Add dhcp options for each ip_version once
ff375734b Fix redfish update_firmware for newer Sushy
20a0c2329 Adoption: do not validate boot interface when local booting
561630f8d CI: Lower test VM memory by 200MB
bb929d508 Remove redfish cache entry upon errors
1dbec7340 CI: reduce api worker processes to 1
b3a835bd2 Explicitly pin upper sushy version
2166672ca Trivial: log current state when continuing cleaning
a783ef702 Clarify driver load error message
dbd1a9e4d Do not assume sushy constants are strings - part 2
4bdcb2b3d Stop relying on explicit values of Redfish constants
51666ed62 Fix some of the SRBAC tests
31a42a167 Avoid handling a deploy failure twice
4ee49e7b2 Fix idrac-wsman deploy with existing non-BIOS jobs
c9297ce78 Fix various issues in the anaconda deploy interface
dd8e6c6c7 Do not append filename parameter to image URL when using local file
2e9d2b5ec Do not use any parts of image URL in temporary file names
bb02e1ca5 [iRMC] Set polling after RAID is built
5155ade35 [iRMC] Avoid repeatedly resuming clean after creating raid configuration
2e7b09b7e Fix iDRAC configuration mold docs
155de2419 Set IPA download branch and MAX_MICROVERSION
703d88c1c Devstack: don't scan /opt, /etc looking for isolinux
8e3c146b4 Update iDRAC doc for idrac-redfish RAID
db8e9e753 Update TOX_CONSTRAINTS_FILE for stable/xena
aca7f304e Update .gitreview for stable/xena


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

.gitreview                                         |   1 +
devstack/lib/ironic                                |   6 +-
driver-requirements.txt                            |   2 +-
ironic/api/controllers/v1/node.py                  |   2 +
ironic/api/controllers/v1/port.py                  |   6 +-
ironic/api/controllers/v1/portgroup.py             |   2 +
ironic/common/exception.py                         |   3 +-
ironic/common/neutron.py                           |   3 +-
ironic/common/pxe_utils.py                         |  10 +--
ironic/conductor/cleaning.py                       |   4 +-
ironic/conductor/deployments.py                    |  43 +++++-----
ironic/conductor/manager.py                        |  17 ++--
ironic/dhcp/neutron.py                             |   6 +-
ironic/drivers/modules/agent_base.py               |  19 ++++-
ironic/drivers/modules/deploy_utils.py             |  22 +++++-
ironic/drivers/modules/drac/management.py          |   2 +-
ironic/drivers/modules/image_cache.py              |   2 +-
ironic/drivers/modules/image_utils.py              |   5 +-
ironic/drivers/modules/inspect_utils.py            |   7 ++
ironic/drivers/modules/irmc/raid.py                |   9 ++-
ironic/drivers/modules/ks.cfg.template             |  12 +--
ironic/drivers/modules/pxe.py                      |   8 +-
ironic/drivers/modules/redfish/boot.py             |   2 +-
ironic/drivers/modules/redfish/firmware_utils.py   |  58 ++++++++++++++
ironic/drivers/modules/redfish/management.py       |  29 ++++++-
ironic/drivers/modules/redfish/utils.py            |  27 +++++++
ironic/ironic.sqlite-shm                           | Bin 0 -> 32768 bytes
ironic/ironic.sqlite-wal                           | Bin 0 -> 148352 bytes
.../unit/drivers/modules/drac/test_management.py   |   9 ++-
.../drivers/modules/irmc/test_periodic_task.py     |  38 +++++++++
.../drivers/modules/redfish/test_firmware_utils.py |  88 +++++++++++++++++++++
.../unit/drivers/modules/redfish/test_inspect.py   |  13 +--
.../drivers/modules/redfish/test_management.py     |  43 +++++++---
.../unit/drivers/modules/redfish/test_raid.py      |   4 +-
.../unit/drivers/modules/redfish/test_utils.py     |  72 ++++++++++++++++-
.../unit/drivers/modules/test_deploy_utils.py      |   2 +-
.../unit/drivers/modules/test_inspect_utils.py     |   9 ++-
.../notes/adopt-validation-7249ceb57016f0e4.yaml   |   5 ++
...licit-upper-pin-for-sushy-63d449024ddf70d0.yaml |   6 ++
...anaconda-deploy-interface-bfa2cfca22b04680.yaml |  25 ++++++
...plcate-extra-dhcp-options-4edb729cb5bcf552.yaml |   8 ++
...th-existing-non-bios-jobs-78aa2195d0c3016f.yaml |  12 +++
...g-routed-provider-network-bbd0c46559f618ac.yaml |   6 ++
...irmware-images-validation-9b5b2fd28314ce66.yaml |   8 ++
...-redfish-firmware-upgrade-7ef2fcb6bfd74e67.yaml |   5 ++
...x_pagination_resource_url-42fb4023fde9da2b.yaml |   5 ++
...nation_resource_url_ports-8d2696a6a7ab012f.yaml |   6 ++
.../notes/image-cache-size-28a9072901b98edf.yaml   |   5 ++
.../notes/invalid-mac-b0e3d99f23afeb30.yaml        |   5 ++
...repeatedly-resuming-clean-020f0dfc2e30d7bc.yaml |   7 ++
...-polling-after-raid-build-5f78ee3e93a92553.yaml |   8 ++
...on-cache-pool-accesserror-743e39a2f017b990.yaml |  13 +++
...ame-param-from-vmedia-url-bf4773ede44f2206.yaml |  10 +++
tox.ini                                            |  10 +--
zuul.d/ironic-jobs.yaml                            |   6 +-
70 files changed, 830 insertions(+), 170 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index d5285a3df..8c3a06752 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -14 +14 @@ python-xclarityclient>=0.1.6
-sushy>=3.10.0
+sushy>=3.10.0,<4.0.0






More information about the Release-announce mailing list