[release-announce] ironic 17.0.4 (wallaby)
no-reply at openstack.org
no-reply at openstack.org
Thu Oct 7 09:58:51 UTC 2021
We enthusiastically announce the release of:
ironic 17.0.4: 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.0.4
^^^^^^
Upgrade Notes
*************
* The query pattern for the database when lists of nodes are
retrieved has been changed to a more efficient pattern at scale,
where a list of nodes is generated, and then additional queries are
executed to composite this data together. This is from a model where
the database client in the conductor was having to deduplicate the
resulting data set which is overall less efficent.
Critical Issues
***************
* Fixes upgrade failure caused by the missing version of
"BIOSSetting" database objects.
Bug Fixes
*********
* Skips port creation during redfish inspect for devices reported
without a MAC address.
* Fixes potential cache coherency issues by caching the AgentClient
per task, rather than globally.
* Fixes a regression in the "ramdisk" deploy where custom kernel
parameters were not used during inspection and cleaning.
* Slow database retrieval of nodes has been addressed at the lower
layer by explicitly passing and handling only the requested fields.
The result is excess discarded work is not performed, making the
overall process more efficent. This is particullarly beneficial for
OpenStack Nova's syncronization with Ironic.
* Fixes configuring Redfish RAID using "interface_type" when error
"failed to find matching physical disks for all logical disks"
occurs.
* Fixes issue in "idrac-redfish" clean/deploy step
"import_configuration" where partially successful jobs were treated
as fully successful. Such jobs, completed with errors, are now
treated as failures.
* Fix "idrac-redfish" clean/deploy step "import_configuration" to
handle completed import configuration tasks that are deleted by
iDRAC before Ironic has checked task's status. Prior iDRAC firmware
version 5.00.00.00 completed tasks are deleted after 1 minute in
iDRAC Redfish. That is not always sufficient to check for their
status in periodic check that runs every minute by default. Before
this fix node got stuck in wait mode forever. This is fixed by
failing the step with error informing to decrease periodic check
interval or upgrade iDRAC firmware if not done already.
* Fixes "idrac-wsman" BIOS and RAID interface steps to correctly
check status of iDRAC job that completed with errors. Now these jobs
are treated as failures. Before this fix node stayed in wait state
as it was only checking for "Completed" or "Failed" job status, but
not "Completed with Errors".
* Fixes "idrac-wsman" power interface to wait for the hardware to
reach the target state before returning. For systems where soft
power off at the end of deployment to boot to instance failed and
forced hard power off was used, this left node successfully deployed
in off state without any errors. This broke other workflows
expecting node to be on booted into OS at the end of deployment.
Additional information can be found in story 2009204
(https://storyboard.openstack.org/#!/story/2009204).
* When an "http(s)://" image is used, the cached copy of the image
will always be updated if the HTTP server does not provide the last
modification date and time. Previously the cached image would be
considered up-to-date, which could cause invalid behavior if the
image is generated on fly or was modified while being served.
* Improves record retrieval performance for baremetal nodes by
enabling ironic to not make redundant calls as part of generating
API result sets for the baremetal nodes endpoint.
* Fixes the pattern of execution for periodic tasks such that the
majority of drivers now evaluate *if* work needs to be performed in
advance of creating a node task. Depending on the individual driver
query pattern, this prevents excess database queries from being
triggered with every task execution.
* Removes unused local images after ejecting a virtual media device
via the "eject_vmedia" vendor passthru call of the "redfish" vendor
interface.
* In Redfish RAID clean and deploy steps skip non-RAID storage
controllers for RAID operations. In Redfish systems that do not
implement "SupportedRAIDTypes" they are still processed and could
result in unexpected errors.
* Retries "ssl.SSLError" when connecting to the agent.
* Fixes an issue of powering off with the "idrac-wsman" management
interface while the execution of a clear job queue cleaning step is
proceeding. Prior to this fix, the clean step would fail when
powering off a node.
Other Notes
***********
* The default database query pattern has been changed which will
result in additional database queries when compositing lists of
"nodes" by separately querying "traits" and "tags". Previously this
was a joined query which requires deduplication of the result set
before building composite objects.
Changes in ironic 17.0.3..17.0.4
--------------------------------
b4e655625 Add iDRAC configuration mold docs
7a0cb9f1f Devstack: don't scan /opt, /etc looking for isolinux
8d88bcf42 Fix idrac-wsman having Completed with Errors jobs
4983afa08 Update iDRAC doc for idrac-redfish RAID
c5beaa95c Remove images from the OS profiler docs
6ec6c44ce Always update cache for HTTP images if Last Modified is unknown
18264d3a5 Redfish RAID: Use identity instead of durable_name
8e5221ae3 Fix iDRAC import configuration job with errors
e32a795be Fix iDRAC import configuration missing task handling
e8c06e206 Fix driver task pattern to reduce periodic db load
14985866f Fix idrac-wsman set_power_state to wait on HW
d56cf5f75 Improve edge-case debugging for deployment and cleaning
d593c4f43 Retry stdlib ssl.SSLError
db9649b6a Use shim-signed on Ubuntu, shim is empty now
449018366 Defer checking image size until instance info is built
5b801be7a Fix regression in ramdisk deploy kernel parameters
f64a1881a Fix iPXE docs: snponly is not always available
9d0aee276 Fix Redfish RAID interface_type physical disk hint
085281fbf Redfish: Skip non-RAID controllers for RAID
12117e1ca Update Redfish RAID disk_type unit test
e95b4cfde Redfish: Get only RAID controller's physical disks
f43e80411 Add missing BIOSSettings version mapping for older releases
ccecf7aff Clean up images when ejecting an ISO with Redfish
e0d241fa4 Ironic index docs/command check backport
831cd5a15 Use selectinload for all list queries
cb1a5a3c9 Allow node_sanitize function to be provided overrides
5a4783e4a API to pass fields to node object list
145765671 Set stage for objects to handle selected field lists.
c71d529e7 Only return the requested fields from the DB
5cc097ed9 Skip port create if MAC is blank
39aec4446 Avoid double file removal in create_boot_iso
973d83af6 Cache AgentClient on Task, not globally
fe7c58aef Suppress policy deprecation and default change warnings
e1652c467 Update the clear job id's constant
68e08b52a Remove redundant/legacy is_admin logic
28d88acba Fix ramdisk boot option handling
b88956550 Add documentation for anaconda deploy interface
Diffstat (except docs and test files)
-------------------------------------
bindep.txt | 2 +-
devstack/lib/ironic | 19 +-
devstack/upgrade/upgrade.sh | 10 +-
ironic/api/controllers/v1/collection.py | 13 +-
ironic/api/controllers/v1/node.py | 277 +++--
ironic/api/hooks.py | 3 -
ironic/cmd/status.py | 37 +
ironic/common/context.py | 4 -
ironic/common/glance_service/service_utils.py | 7 +-
ironic/common/images.py | 11 +-
ironic/common/policy.py | 7 +
ironic/common/raid.py | 10 +
ironic/common/release_mappings.py | 13 +
ironic/conductor/cleaning.py | 8 +-
ironic/conductor/deployments.py | 6 +-
ironic/conductor/steps.py | 9 +
ironic/db/api.py | 6 +-
ironic/db/sqlalchemy/api.py | 160 ++-
ironic/drivers/modules/agent.py | 23 +-
ironic/drivers/modules/agent_base.py | 31 +-
ironic/drivers/modules/agent_client.py | 12 +-
ironic/drivers/modules/ansible/deploy.py | 6 +-
ironic/drivers/modules/deploy_utils.py | 10 +
ironic/drivers/modules/drac/bios.py | 11 +-
ironic/drivers/modules/drac/management.py | 59 +-
ironic/drivers/modules/drac/power.py | 45 +-
ironic/drivers/modules/drac/raid.py | 15 +-
ironic/drivers/modules/image_cache.py | 28 +-
ironic/drivers/modules/image_utils.py | 9 +-
ironic/drivers/modules/irmc/raid.py | 9 +-
ironic/drivers/modules/iscsi_deploy.py | 5 +-
ironic/drivers/modules/pxe.py | 13 -
ironic/drivers/modules/redfish/boot.py | 14 +-
ironic/drivers/modules/redfish/management.py | 27 +-
ironic/drivers/modules/redfish/raid.py | 114 +-
ironic/drivers/modules/redfish/utils.py | 21 +-
ironic/objects/base.py | 6 +-
ironic/objects/node.py | 38 +-
.../unit/drivers/modules/drac/test_management.py | 106 +-
.../drivers/modules/drac/test_periodic_task.py | 33 +
.../unit/drivers/modules/redfish/test_boot.py | 15 +-
.../unit/drivers/modules/redfish/test_inspect.py | 15 +
.../unit/drivers/modules/redfish/test_raid.py | 216 +++-
.../unit/drivers/modules/redfish/test_vendor.py | 49 +-
.../unit/drivers/modules/test_agent_client.py | 12 +-
.../unit/drivers/modules/test_iscsi_deploy.py | 3 +-
.../unit/drivers/third_party_driver_mock_specs.py | 8 +-
.../notes/bios-version-dfd5c95805c295c5.yaml | 5 +
releasenotes/notes/blank-mac-f8e0b37e0bd6d719.yaml | 5 +
...ache-agentclient-per-task-ec2231684e6876d9.yaml | 5 +
...ss-pattern-for-node-lists-a333dd9c5afa737d.yaml | 16 +
.../custom-params-cleaning-f938549964ff6df0.yaml | 5 +
...-field-overhead-reduction-40be1821e38b468c.yaml | 9 +
...dfish-raid-interface-type-4b3566b637cc2301.yaml | 5 +
...port-conf-partial-success-86b8bd1983d227f6.yaml | 6 +
...onfiguration-task-deleted-2a0e6a96509394b6.yaml | 12 +
...man-completed-with-errors-f65c9a48ed4c02d4.yaml | 8 +
...sman-set-power-state-wait-cd8f9ff41b19c7a7.yaml | 10 +
.../notes/image-cache-4082178dabd64249.yaml | 8 +
...ode-retrieval-performance-cf5a02eb629bf32c.yaml | 6 +
...imize-driver-task-pattern-322e02b6a2233919.yaml | 8 +
.../notes/redfish-eject-iso-9875388ae09bc8f6.yaml | 6 +
.../skip-nonraid-controllers-f4a79e2c9e8080ce.yaml | 7 +
releasenotes/notes/sslerror-287edf7f8b3c5f1c.yaml | 4 +
...clear-job-id-constant-fix-c69cf96c55364bb3.yaml | 7 +
89 files changed, 2177 insertions(+), 2393 deletions(-)
More information about the Release-announce
mailing list