We are pleased to announce the release of: ironic 11.1.4: OpenStack Bare Metal Provisioning This release is part of the rocky 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. 11.1.4 ^^^^^^ Bug Fixes * Fixes a deployment issue encountered during deployment, more precisely during the configdrive partition creation step. On some specific devices like NVMe drives, the created configdrive partition could not be correctly identified (required to dump data onto it afterward). https://storyboard.openstack.org/#!/story/2005764 * Fixes an issue with using serial number as root device hints with the "ansible" deploy interface. * Fixes an issue regarding the "ansible" deploy interface. Node deployment was broken for any image that was not public because the original request context was not available anymore at the time some image information was fetched. * Fixes issue where the resource list API returned results with requested fields only until the API MAX_LIMIT. After the API MAX_LIMIT is reached the API started ignoring user requested fields. This fix will make sure that the next url generated by the pagination code will include the user requested fields as query parameter. * Fixes an issue where the pagination marker was not being set if "uuid" was not in the list of requested fields when executing a list query. The affected API endpoints were: port, portgroup, volume_target, volume_connector, node and chassis. See story 2003192 for more details (https://storyboard.openstack.org/#!/story/2003192). * Fixes an issue where baremetal node deployment would fail on clouds with a high number of security groups. Listing the security groups took too long. Instead of listing all security groups, a query filter was added to list only the security groups to be used for the network. (See bug 2006256 (https://storyboard.openstack.org/#!/story/2006256).) * Fixes a bug with the grub ramdisk boot template handling, such that the template now properly references the user provided kernal and ramdisk. Previously the deployment ramdisk and kernel was referenced in the template. * Fixes an issue in updating firmware using "update_firmware_sum" clean step from management interface of "ilo" hardware type with an error stating that unable to connect to iLO address due to authentication failure. See story 2006223 for details. Changes in ironic 11.1.3..11.1.4 -------------------------------- 0362f7263 tell reno to ignore the kilo branch bcdb5c734 [stable] consume virtualbmc from pip packages 800442570 Change MTU logic to allow for lower MTUs automatically 1d35f4643 Do not ignore 'fields' query parameter when building next url 7c9131bc6 Ensure pagination marker is always set f4575b9fa grub configuration should use user kernel & ramdisk ade6fd8af Change log level based on node status 5b9dea88c Fix typo in handling of exception FailedToGetIPAddressOnPort ab79afd57 DRAC: Fix OOB introspection to use pxe_enabled flag in idrac driver a4ce38512 CI: remove quotation marks from TEMPEST_PLUGINS variable 3f2b81e9d iLO firmware update fails with 'update_firmware_sum' clean step faa0e6592 Ansible driver: fix deployment with serial specified as root device hint 193990956 Filter security group list on the ID's we expect 60d24ec94 CI: stop using pyghmi from git master 11911e0d7 Ansible module: fix deployment for private and/or shared images 246b86615 Ansible module: fix configdrive partition creation step f78ccef3f Place upper bound on python-dracclient version Diffstat (except docs and test files) ------------------------------------- devstack/settings | 6 +- driver-requirements.txt | 2 +- ironic/api/controllers/v1/chassis.py | 48 +- ironic/api/controllers/v1/collection.py | 5 + ironic/api/controllers/v1/node.py | 113 +-- ironic/api/controllers/v1/port.py | 65 +- ironic/api/controllers/v1/portgroup.py | 55 +- ironic/api/controllers/v1/volume_connector.py | 51 +- ironic/api/controllers/v1/volume_target.py | 49 +- ironic/common/neutron.py | 21 +- ironic/common/pxe_utils.py | 2 +- ironic/conductor/task_manager.py | 20 +- ironic/drivers/modules/ansible/deploy.py | 16 +- .../modules/ansible/playbooks/library/facts_wwn.py | 5 +- .../roles/deploy/files/partition_configdrive.sh | 24 +- ironic/drivers/modules/drac/inspect.py | 89 ++- ironic/drivers/modules/ilo/management.py | 3 + ironic/drivers/modules/pxe_grub_config.template | 4 +- .../unit/api/controllers/v1/test_portgroup.py | 40 ++ .../api/controllers/v1/test_volume_connector.py | 41 ++ .../unit/api/controllers/v1/test_volume_target.py | 35 + .../unit/drivers/modules/ansible/test_deploy.py | 48 +- .../unit/drivers/modules/drac/test_inspect.py | 156 ++++- .../drivers/modules/drac/wsman_mocks/__init__.py | 0 .../drac/wsman_mocks/nic_enumeration-enum-ok.xml | 767 +++++++++++++++++++++ .../unit/drivers/modules/ilo/test_management.py | 22 +- .../unit/drivers/third_party_driver_mock_specs.py | 1 + .../run.yaml | 2 - playbooks/legacy/grenade-dsvm-ironic/run.yaml | 2 - playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml | 2 - .../run.yaml | 2 - .../run.yaml | 2 - .../legacy/tempest-dsvm-ironic-inspector/run.yaml | 2 - .../run.yaml | 2 - .../tempest-dsvm-ironic-pxe_ipa-full/run.yaml | 2 - .../notes/bug-2005764-15f45e11b9f9c96d.yaml | 8 + .../notes/bug-2006275-a5ca234683ca4c32.yaml | 5 + releasenotes/notes/bug-35702-25da234580ca0c31.yaml | 7 + ...lds-missing-from-next-url-fd9fddf8e70b65ea.yaml | 8 + ...r-with-custom-field-query-65ca29001a03e036.yaml | 8 + ...up-list-add-query-filters-f72cfcefa1e093d2.yaml | 9 + ...b-use-user-kernel-ramdisk-7d572fe130932605.yaml | 5 + ...sum-firmware-update-fails-622883e4785313c1.yaml | 8 + reno.yaml | 4 + zuul.d/ironic-jobs.yaml | 5 +- zuul.d/legacy-ironic-jobs.yaml | 10 - 54 files changed, 1724 insertions(+), 242 deletions(-) Requirements updates -------------------- diff --git a/driver-requirements.txt b/driver-requirements.txt index e8cb3f36a..47bc09007 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -15 +15 @@ UcsSdk==0.8.2.2 -python-dracclient>=1.3.0 +python-dracclient>=1.3.0,<2.0.0