[release-announce] ironic 17.1.0 (wallaby)

no-reply at openstack.org no-reply at openstack.org
Tue Oct 25 16:32:18 UTC 2022


We are thrilled to announce the release of:

ironic 17.1.0: OpenStack Bare Metal Provisioning

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

17.1.0
^^^^^^


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

* On Wallaby release, to use certification file on HTTPS connection,
  iRMC driver requires python-scciclient version to be one of
  >=0.8.2,<0.9.0, >=0.9.5,<0.10.0 or >=0.10.1,<0.11.0 and packaging
  >=16.5


Security Issues
***************

* Modifies the "irmc" hardware type to include a capability to
  control enforcement of HTTPS certificate verification. By default
  this is enforced. python-scciclient version must be one of
  >=0.8.2,<0.9.0, >=0.9.5,<0.10.0, or >=0.10.1,<0.11.0 Or certificate
  verification will not occur.


Bug Fixes
*********

* Fixes the logic for the anaconda deploy interface. If the ironic
  node's instance_info doesn't have both 'stage2' and 'ks_template'
  specified, we weren't using the instance_info at all. This has been
  fixed to use the instance_info if it was specified. Otherwise,
  'stage2' is taken from the image's properties (assumed that it is
  set there). 'ks_template' value is from the image properties if
  specified there (since it is optional); else we use the config
  setting '[anaconda] default_ks_template'.

* For the anaconda deploy interface, the 'stage2' directory was
  incorrectly being created using the full path of the stage2 file;
  this has been fixed.

* The anaconda deploy interface expects the node's instance_info to
  be populated with the 'image_url'; this is now populated (via
  PXEAnacondaDeploy's prepare() method).

* For the anaconda deploy interface, when the deploy was finished
  and the bm node was being rebooted, the node's provision state was
  incorrectly being set to 'active' -- the provisioning state-machine
  mechanism now handles that.

* For the anaconda deploy interface, the code that was doing the
  validation of the kickstart file was incorrect and resulted in
  errors; this has been addressed.

* For the anaconda deploy interface, the '%traceback' section in the
  packaged 'ks.cfg.template' file is deprecated and fails validation,
  so it has been removed.

* The anaconda deploy interface was saving internal information in
  the node's instance_info, in the user-facing 'stage2' and
  'ks_template' fields. This broke rebuilds using a different image
  with different stage2 or template specified in the image properties.
  This has been fixed by saving the information in the node's
  driver_internal_info instead.

* Fixes rebooting into the agent after changing BIOS settings in
  fast- track mode with the "redfish-virtual-media" boot interface.
  Previously, the ISO would not be configured.

* 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 "redfish" and "idrac-redfish" RAID "create_configuration",
  "apply_configuration", "delete_configuration" clean and deploy steps
  to update node's "raid_config" field at the end of the steps.

* Fixes the determination of a failed RAID configuration task in the
  "redfish" hardware type. Prior to this fix the tasks that have
  failed were reported as successful.

* Fixes the "redfish" hardware type RAID device creation and
  deletion when creating or deleting more than 1 logical disk on RAID
  controllers that require rebooting and do not allow more than 1
  running task per RAID controller. Before this fix 2nd logical disk
  would fail to be created or deleted. With this change it is now
  possible to use "redfish" "raid" interface on iDRAC systems.

* Fixes "redfish-virtual-media" "boot" interface to allow it with
  iDRAC firmware from 6.00.00.00 (released June 2022) as it has
  virtual media boot issue fixed that prevented iDRAC firmware to work
  with "redfish-virtual-media" before. Consider upgrading iDRAC
  firmware if not done already, otherwise will still get an error when
  trying to use "redfish-virtual-media" with iDRAC.

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

* Fixes the "initrd" kernel parameter when booting ramdisk directly
  from Swift/RadosGW using iPXE. Previously it was always
  "deploy_ramdisk", even when the actual file name is different.

* Adds "driver_info/irmc_verify_ca" option to specify certification
  file. Default value of driver_info/irmc_verify_ca is True.

* Fixes an issue with installation of Ansible in "driver-
  requirements.txt" on Python 3.8. Since the release of Ansible 6.0.0,
  significant backtracking occurred in the Pip resolver.

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

Changes in ironic 17.0.4..17.1.0
--------------------------------

08003c6bd Stable only: Factor out addition of packaging lib
21d16594d [Wallaby only] - Fix bashate E002/E003
67d8c30c0 Do not reboot into nowhere after BIOS settings with fast-track
6177b244a Fix iRMC driver to use certification file in HTTPS
1bffb2c02 Update raid_type handling for Redfish raid_config
35e20b62d Modify test code to avoid CONF modification affection
1126f5a8c Change molds option to appropriate class
a0dde80fc Fix Redfish RAID to update raid_config
961e1dab1 Fix Redfish RAID for non-immediate controllers
83d389956 Improve dependency resolution in driver-requirements.txt
8b920d9af Fix redfish RAID failed tasks
dd2bfabba Fix redfish-virtual-media for newer iDRACs
c9c8514a3 Fix prepare ramdisk for 'wait' states
4d9751ed3 CI: Add iweb to the use tinyipa on list
c6a8ab2fb CI: Removing ironic job queue
aa8d680ba Fix ironic-lib from source and branch detection in IPA builds
22e0671ae Fix rebuilds using anaconda deploy interface
5155cb1ac More fixes for anaconda deploy interface
ae7f3760e Build the new cirros image even when netboot is the default
c425d0042 CI: force config drive on the multinode job's subnode
d21144fd2 Ensure tox.ini is ASCII
358ee5564 CI: use a custom cirros partition image instead of the default
968ecdb3f Set correct initrd_filename for iPXE when using Swift
a746917b5 Avoid non-Stream CentOS
b3883cd27 Add additional ramdisk tests
40db1089f Set resource_url when getting all ports or portgroups
685a41bb8 Set resource_url when getting all nodes
0db8bdd76 Trivial: log current state when continuing cleaning
5385e0132 Ensure 'port' is up2date after binding:host_id
39f38705c Add dhcp options for each ip_version once
89111fddf CI: Lower test VM memory by 400MB
e57aa7598 Remove redfish cache entry upon errors
fc0f1c951 Clarify driver load error message
badf1eb2a Fix some of the SRBAC tests
794d8aa9b Fix idrac-wsman deploy with existing non-BIOS jobs
95475bfb4 Fix various issues in the anaconda deploy interface
6fe0d4e3a Minor updates to anaconda doc
f944322b8 Do not use any parts of image URL in temporary file names
dd8e4fdbe Add better error messages for invalid conf molds


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

bindep.txt                                         |   6 +-
devstack/files/debs/ironic                         |   1 +
devstack/files/rpms/ironic                         |   1 +
devstack/lib/ironic                                |  78 ++-
devstack/tools/ironic/scripts/cirros-partition.sh  |  69 +++
driver-requirements.txt                            |   4 +-
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/molds.py                             |  12 +-
ironic/common/neutron.py                           |   3 +-
ironic/common/pxe_utils.py                         | 121 ++--
ironic/conductor/cleaning.py                       |   4 +-
ironic/conf/molds.py                               |   4 +-
ironic/dhcp/neutron.py                             |   6 +-
ironic/drivers/modules/agent_base.py               |  10 +-
ironic/drivers/modules/deploy_utils.py             |  46 ++
ironic/drivers/modules/drac/boot.py                |   2 +-
ironic/drivers/modules/drac/management.py          |  44 +-
ironic/drivers/modules/ilo/boot.py                 |  18 +-
ironic/drivers/modules/image_cache.py              |   2 +-
ironic/drivers/modules/irmc/boot.py                |   8 +-
ironic/drivers/modules/irmc/common.py              | 127 ++++-
ironic/drivers/modules/irmc/packaging_version.py   | 631 +++++++++++++++++++++
ironic/drivers/modules/irmc/raid.py                |   6 +-
ironic/drivers/modules/ks.cfg.template             |  16 +-
ironic/drivers/modules/pxe.py                      |  32 +-
ironic/drivers/modules/pxe_base.py                 |   2 +-
ironic/drivers/modules/redfish/bios.py             |  26 +-
ironic/drivers/modules/redfish/boot.py             |  34 +-
ironic/drivers/modules/redfish/raid.py             | 402 ++++++++-----
ironic/drivers/modules/redfish/utils.py            |  27 +
ironic/drivers/utils.py                            |  21 +
.../drivers/ipxe_config_boot_from_ramdisk.template |  47 ++
.../unit/drivers/modules/drac/test_management.py   |  55 +-
.../unit/drivers/modules/redfish/test_bios.py      |  32 +-
.../unit/drivers/modules/redfish/test_boot.py      |  45 +-
.../unit/drivers/modules/redfish/test_raid.py      | 491 +++++++++++++++-
.../unit/drivers/modules/redfish/test_utils.py     |  72 ++-
.../unit/drivers/third_party_driver_mock_specs.py  |   5 +
...naconda-deploy-more-fixes-58d996c7031c8c4b.yaml |  33 ++
...naconda-instance-info-fix-a51837d8ac7b41de.yaml |   9 +
.../notes/fast-track-bios-fa9ae685c151dd24.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 +
.../fix-redfish-raid-config-9e868c3e069475a1.yaml  |   6 +
...redfish-raid-failed-tasks-02487c4698dea176.yaml |   6 +
...ish-raid-onreset-workflow-bfa44de6b0263a1f.yaml |   9 +
...fix-redfish-vm-boot-idrac-37ec734e6643cbac.yaml |   9 +
...x_pagination_resource_url-42fb4023fde9da2b.yaml |   5 +
...nation_resource_url_ports-8d2696a6a7ab012f.yaml |   6 +
.../notes/image-cache-size-28a9072901b98edf.yaml   |   5 +
.../notes/initrd_filename-ac68e96f1c9fb576.yaml    |   6 +
...certification-file-option-34e7a0062c768e58.yaml |  18 +
.../notes/pin-ansible-c10c572ec84bac36.yaml        |   6 +
...on-cache-pool-accesserror-743e39a2f017b990.yaml |  13 +
requirements.txt                                   |   2 +-
tox.ini                                            |   2 +-
zuul.d/ironic-jobs.yaml                            |   8 +-
zuul.d/project.yaml                                |   1 -
86 files changed, 3122 insertions(+), 597 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index 151e745bc..24d68bc53 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -9 +9 @@ pysnmp>=4.3.0,<5.0.0
-python-scciclient>=0.8.0
+python-scciclient>=0.8.0,<0.11.0
@@ -17 +17 @@ sushy>=3.7.0
-ansible>=2.7
+ansible>=2.7,<6.0.0
diff --git a/requirements.txt b/requirements.txt
index ca59703cc..3bd369c59 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -44 +44 @@ tooz>=2.7.0 # Apache-2.0
-openstacksdk>=0.48.0 # Apache-2.0
+openstacksdk>=0.48.0 # Apache-2.0
\ No newline at end of file






More information about the Release-announce mailing list