[release-announce] ironic 20.1.2 (yoga)

no-reply at openstack.org no-reply at openstack.org
Thu Sep 21 11:28:56 UTC 2023


We enthusiastically announce the release of:

ironic 20.1.2: OpenStack Bare Metal Provisioning

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

20.1.2
^^^^^^


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

* Adds "sha256", "sha384" and "sha512" as supported SNMPv3
  authentication protocols to iRMC driver.


Bug Fixes
*********

* Fixes Ironic integration with Cinder because of changes which
  resulted as part of the recent Security related fix in bug 2004555
  (https://launchpad.net/bugs/2004555). The work in Ironic to track
  this fix was logged in bug 2019892
  (https://bugs.launchpad.net/ironic/+bug/2019892). Ironic now sends a
  service token to Cinder, which allows for access restrictions added
  as part of the original CVE-2023-2088 fix to be appropriately
  bypassed. Ironic was not vulnerable, but the restrictions added as a
  result did impact Ironic's usage. This is because Ironic volume
  attachments are not on a shared "compute node", but instead mapped
  to the physical machines and Ironic handles the attachment life-
  cycle after initial attachment.

* When aborting cleaning, the "last_error" field is no longer
  initially empty. It is now populated on the state transition to
  "clean failed".

* When cleaning or deployment fails, the "last_error" field is no
  longer temporary set to "None" while the power off action is
  running.

* 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 bug of iRMC driver in parse_driver_info where, if FIPS is
  enabled, SNMP version is always required to be version 3 even though
  iRMC driver's xxx_interface doesn't use SNMP actually.

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

* Fixes an issue in the online upgrade logic where database models
  for Node Traits and BIOS Settings resulted in an error when
  performing the online data migration. This was because these tables
  were originally created as extensions of the Nodes database table,
  and the schema of the database was slightly different enough to
  result in an error if there was data to migrate in these tables upon
  upgrade, which would have occured if an early BIOS Setting adopter
  had data in the database prior to upgrading to the Yoga release of
  Ironic.

  The online upgrade parameter now subsitutes an alternate primary key
  name name when applicable.

* Fixes SNMPv3 message authentication and encryption functionality
  of iRMC driver. The SNMPv3 authentication between iRMC driver and
  iRMC was only by the security name with no passwords and encryption.
  To increase security, the following parameters are now added to the
  node's "driver_info", and can be used for authentication:

  * "irmc_snmp_user"

  * "irmc_snmp_auth_password"

  * "irmc_snmp_priv_password"

  * "irmc_snmp_auth_proto" (Optional, defaults to "sha")

  * "irmc_snmp_priv_proto" (Optional, defaults to "aes")

  "irmc_snmp_user" replaces "irmc_snmp_security". "irmc_snmp_security"
  will be ignored if "irmc_snmp_user" is set. "irmc_snmp_auth_proto"
  and "irmc_snmp_priv_proto" can also be set through the following
  options in the "[irmc]" section of "/etc/ironic/ironic.conf":

  * "snmp_auth_proto"

  * "snmp_priv_proto"

* Fixes a race condition in PXE initialization where logic to retry
  what we suspect as potentially failed PXE boot operations was not
  consulting if an "agent token" had been established, which is the
  very first step in agent initialization.

* Fixes an issue where an agent token was being orphaned if a
  baremetal node timed out during cleaning operations, leading to
  issues where the node would not be able to establish a new token
  with Ironic upon future in some cases. We now always wipe the token
  in this case.


Other Notes
***********

* Updates the minimum version of "python-scciclient" library to
  "0.12.2".

Changes in ironic 20.1.1..20.1.2
--------------------------------

72d124856 [iRMC] Fix parse_driver_info bug enforcing SNMP v3 under FIPS mode
4ec0ee677 [ci] [stable-only] Cinder fixed; make BFV job vote
d1ad9e8d0 [stable-only] [CI] BFV, RBAC jobs marked non-voting
94358e471 Fix Cinder Integration fallout from CVE-2023-2088
ad227de24 Fix online upgrades for Bios/Traits
59cdb9aeb Wipe Agent Token when cleaning timeout occcurs
92c187a32 Do not move nodes to CLEAN FAILED with empty last_error
e5267b58e Move and fix reno config for releasenotes job
31a0b0c1d Fix selinux context of published image hardlink
959fc9163 Fix "'NoneType' object is not iterable" in RAID
26573bed3 Prevent pxe retry when agent token exists
177e93de9 Fixes for tox 4.0
1f4fabf88 Add support auth protocols for iRMC
c274231bf Add SNMPv3 authentication functionality


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

devstack/lib/ironic                                |   2 +-
ironic/common/cinder.py                            |  71 +++++-
ironic/common/keystone.py                          |  24 +-
ironic/common/states.py                            |   3 +
ironic/common/utils.py                             |  12 +
ironic/conductor/cleaning.py                       |  26 +-
ironic/conductor/manager.py                        |   3 +-
ironic/conductor/task_manager.py                   |  11 +-
ironic/conductor/utils.py                          |  12 +-
ironic/conf/irmc.py                                |  28 ++-
ironic/db/sqlalchemy/api.py                        |  33 ++-
ironic/drivers/modules/image_utils.py              |  10 +
ironic/drivers/modules/irmc/common.py              | 249 +++++++++++++++---
ironic/drivers/modules/irmc/inspect.py             |  24 +-
ironic/drivers/modules/irmc/power.py               |  22 +-
ironic/drivers/modules/pxe_base.py                 |   6 +
ironic/drivers/modules/redfish/raid.py             |   8 +-
.../unit/drivers/modules/redfish/test_raid.py      |   4 +
releasenotes/config.yaml                           |   5 +
.../notes/cinder-2019892-6b5a9de5c5f05aa6.yaml     |  16 ++
.../notes/cleaning-error-5c13c33c58404b97.yaml     |   8 +
...ix-context-image-hardlink-16f452974abc7327.yaml |   7 +
...nforcing-snmpv3-with-fips-e45971d363925ec3.yaml |   6 +
...pe-object-is-not-iterable-0592926d890d6c11.yaml |   7 +
...-online-version-migration-db432a7b239647fa.yaml |  14 ++
...c-add-snmp-auth-protocols-3ff7597cea7ef9dd.yaml |   5 +
.../irmc-add-snmpv3-security-fca05bfc30f50d1a.yaml |  28 +++
...e-retry-when-token-exists-a4f38f7da56c1397.yaml |   7 +
...ken-upon-cleaning-timeout-c9add514fad1b02c.yaml |   7 +
reno.yaml                                          |   4 -
tox.ini                                            |   9 +-
zuul.d/project.yaml                                |  11 +-
43 files changed, 1052 insertions(+), 151 deletions(-)







More information about the Release-announce mailing list