[release-announce] ironic 16.2.0 (wallaby)
no-reply at openstack.org
no-reply at openstack.org
Tue Feb 16 11:32:58 UTC 2021
We are satisfied to announce the release of:
ironic 16.2.0: OpenStack Bare Metal Provisioning
This release is part of the wallaby 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.
16.2.0
^^^^^^
New Features
************
* Adds support for "deploy_steps" parameter to provisioning endpoint
"/v1/nodes/{node_ident}/states/provision". Available and optional
when target is 'active' or 'rebuild'. When overlapping, these steps
override deploy template and driver steps. "deploy_steps" is a list
of dictionaries with required keys 'interface', 'step', 'priority'
and 'args'.
* By default Ironic will now not start new memory intensive work IF
insufficent system memory exists. This can be disabled by setting
the "[DEFAULT]minimum_memory_warning_only" value to "True".
* The "force_persistent_boot_device" parameter now consistently
applies to all boot interfaces, rather than only PXE and iPXE.
* Supports setting boot mode via an "instance_info" capability.
* The "ironic-conductor" process now has a concept of an internal
memory limit. The intent of this is to prevent the conductor from
running the host out of memory when a large number of deployments
have been requested.
These settings can be tuned using
"[DEFAULT]minimum_required_memory",
"[DEFAULT]mimimum_memory_wait_time",
"[DEFAULT]minimum_memory_wait_retries", and
"[DEFAULT]minimum_memory_warning_only".
Where possible, Ironic will attempt to wait out the time window,
thus consuming the conductor worker thread which will resume if the
memory becomes available. This will effectively rate limit
concurrency.
If raw image conversions with-in the conductor is required, and a
situation exists where insufficent memory exists and it cannot be
waited, the deployment operation will fail. For the "iscsi"
deployment interface, which is the other location in ironic that may
consume large amounts of memory, the conductor will wait until the
next agent heartbeat.
* Supports attaching configdrives when doing "ramdisk" deploy with
the "redfish-virtual-media" boot. A configdrive is attached to a
free USB slot.
* Adds the "[DEFAULT]raw_image_growth_factor" configuration option
which is a scale factor used for estimating the size of a raw image
converted from compact image formats such as QCOW2. By default this
is set to 2.0.
When clearing the cache to make space for a converted raw image, the
full virtual size is attempted first, and if not enough space is
available a second attempt is made with the (smaller) estimated
size.
* Adds support for automatically configuring secure boot for nodes
using the "redfish" management interface.
* The "pxe" and "ipxe" boot interfaces now automatically configure
secure boot if the management interface supports it.
Upgrade Notes
*************
* The default value of "[oslo_policy]policy_file" config option has
been changed from "policy.json" to "policy.yaml". Operators who are
utilizing customized policy files or previously generated static
policy files (which are not needed by default), should generate new
policy files and modify them to meet their needs in the event of any
new policies or rules have been added. Please consult the
oslopolicy-convert-json-to-yaml
(https://docs.openstack.org/oslo.policy/latest/cli/oslopolicy-
convert-json-to-yaml.html) tool to convert a JSON to YAML formatted
policy file in backward compatible way.
Deprecation Notes
*****************
* Use of legacy policy format was deprecated by the "oslo.policy"
library during the Victoria development cycle. As a result, this
deprecation is being noted in the Wallaby with an anticipated future
removal of support by "oslo.policy". As such operators will need to
convert to YAML policy files. Please see the upgrade notes for
details on migration of any custom policy files.
* Using "instance_info/deploy_boot_mode" is deprecated, use the
"boot_mode" capability in "instance_info/capabilities" instead.
* Currently the bare metal API permits setting the "secure_boot"
capability for nodes, which driver does not support setting secure
boot. This is deprecated and will become a failure in the Xena
cycle.
Bug Fixes
*********
* Fixes fast-track to prevent marking the agent as alive if trying
to rebuild a node before the fast-track timeout has expired.
* Fixes redfish firmware update for "ilo5" hardware type by fixing
the Redfish task message detection and correctly preparing the
ramdisk before rebooting.
* Boot mode is now correctly handled when using "redfish-virtual-
media" boot with locally booted images.
* The "redfish-virtual-media" boot interface now makes fewer calls
to the BMC when preparing boot.
* The "redfish-virtual-media" boot interface no longer passes
validation for Dell nodes. The "idrac-redfish-virtual-media" boot
interface must be used for these nodes instead.
* Failed cleaning no longer results in maintenance mode if no clean
step is running, e.g. on PXE timeout or failed clean steps
validation.
* Retries virtual media insert on failure to allow for an eject that
may not have finished (see story 2008504
(https://storyboard.openstack.org/#!/story/2008504)).
* When Ironic configures the BootSourceOverrideTarget setting via
Redfish, on Supermicro BMCs it must always configure
BootSourceOverrideEnabled or that will revert to default (Once) on
the BMC, see story 2008547
(https://storyboard.openstack.org/#!/story/2008547) for details.
This is different than what is currently implemented for other BMCs
in which the BootSourceOverrideEnabled is not configured if it
matches the current setting (see story 2007355
(https://storyboard.openstack.org/#!/story/2007355)).
This requires that "node.properties['vendor']" be "supermicro" which
will be set on transition to "manageable" based on the Redfish
system object or can be set manually.
Other Notes
***********
* Register all conductor hardware interfaces together. Adds all
conductor hardware interfaces in to the database in a single
transaction and to allow this update the
"register_hardware_interfaces" API. This allows Restful API
consumers to understand if the conductor is fully on-line via the
presence of driver entries. Previously this was done one driver at a
time.
* Extends "ManagementInterface" with two new calls:
"get_secure_boot_state" and "set_secure_boot_state". They are
optional and may be implemented for hardware that supports
dynamically enabling/disabling secure boot.
Changes in ironic 16.1.0..16.2.0
--------------------------------
7eadc5240 Trivial: update version for deploy steps
e77d1b553 Introduce common personas for secure RBAC
d4ddc213e Duplicate testing for system scoped ACL testing
606549c1c Populate existing policy tests
af4a7b0d9 Prepare 16.2 and clean up release note
235115099 Generate policy.yaml.sample
cf22604c5 Prevent redfish-virtual-media from being used with Dell nodes
4287951d7 Don't mark an agent as alive if rebooted
3138acc83 Add 'deploy steps' parameter for provisioning API
b8a2dcaf8 Trivial: log the newly detected vendor
561ed9039 Swap Metalsmith job out for centos8-uefi
ccc6c551c Make boot_mode more consistent with other capabilities
6c8dad946 ilo: do not change deploy_boot_mode in instance_info
a5f7d75ba Apply force_persistent_boot_device to all boot interfaces
64ff84bd2 Add release version to release notes
13e77e217 Fix Mis-Ordering of Bash Variable Definition in DevStack
2e6777d75 Fixes issue of redfish firmware update
1162f2e94 Update python packages to python3 in quickstart.rst
5f6a51e17 Set default to prevent out of memory conditions
d9913370d Guard conductor from consuming all of the ram
4a7d50ce5 For Supermicro BMCs set enable when changing boot device
121b3348c Refactor vendor detection and add Redfish implementation
4c4c7a869 Add a few words about UEFI user images
33d51f221 Redfish secure boot management
04400eea4 Add centralized secure boot documentation
72044aaa8 Pass context objects directly to policy enforcement
bb318008b redfish-virtual-media: allow a link to raw configdrive image
5165edaf9 Update minversion of tox
c7f24e8ce Attempt to slim down protection test base class
36d819e2f Write stub ACL test for every existing API call
b0df0960e Update iDRAC doc with missing interfaces
71ccbf595 Raw image size estimation improved
6ea73bdfb Bump oslo.log requirement to 4.3.0
b6f4587f0 Common framework for configuring secure boot
3ca8671a2 redfish-virtual-media: make fewer calls when preparing boot
1a0f1cd54 Add a delay/retry is vmedia insert fails
ad044d9e0 Fix redfish-virtual-media boot mode handling ordering
04a1f17ef Enable testing to dynamicly leverage ACL roles
fe380bbba Follow-up for ramdisk deploy configdrive support
7d85b35c8 Register all hardware_interfaces together
ad696c9ba Do not enter maintenance if cleaning fails before running the 1st step
2404d486a Policy json to yaml migration
1e96ecbdb Add troubleshooting on changing ironic.conf default interfaces
182a6fcff Modify port group document for ironic
378557b7f add openstack-python3-wallaby-jobs-arm64 job
382a43627 Mark the iSCSI deploy as deprecated in the docs
d99a52f2c update python packages to python3 in quickstart.rst
06a1d38fc Support configdrive when doing ramdisk deploy with redfish-virtual-media
5ee7185f9 Rewrite existing ACL tests with ddt, yaml
20f25068c Document using ramdisks with the ramdisk deploy interface
a0728ad65 docs: Add information on post-branch release tasks for bifrost
Diffstat (except docs and test files)
-------------------------------------
.../source/baremetal-api-v1-node-management.inc | 9 +
api-ref/source/parameters.yaml | 9 +
.../node-set-active-state-deploy-steps.json | 14 +
bindep.txt | 2 +
devstack/lib/ironic | 16 +-
driver-requirements.txt | 2 +-
ironic/api/controllers/v1/deploy_template.py | 23 +-
ironic/api/controllers/v1/node.py | 87 +-
ironic/api/controllers/v1/utils.py | 71 +-
ironic/api/controllers/v1/versions.py | 4 +-
ironic/cmd/status.py | 8 +
ironic/common/exception.py | 12 +-
ironic/common/images.py | 25 +-
ironic/common/policy.py | 67 +-
ironic/common/release_mappings.py | 20 +-
ironic/common/utils.py | 66 +
ironic/conductor/base_manager.py | 15 +-
ironic/conductor/deployments.py | 25 +-
ironic/conductor/manager.py | 19 +-
ironic/conductor/rpcapi.py | 16 +-
ironic/conductor/steps.py | 59 +-
ironic/conductor/utils.py | 79 +-
ironic/conf/default.py | 33 +
ironic/db/sqlalchemy/api.py | 20 +-
ironic/drivers/base.py | 34 +
ironic/drivers/modules/boot_mode_utils.py | 88 +-
ironic/drivers/modules/drac/boot.py | 3 +
ironic/drivers/modules/ilo/boot.py | 9 +-
ironic/drivers/modules/ilo/common.py | 12 +-
ironic/drivers/modules/image_cache.py | 18 +-
ironic/drivers/modules/image_utils.py | 134 +-
ironic/drivers/modules/ipmitool.py | 45 +-
ironic/drivers/modules/irmc/boot.py | 2 +
ironic/drivers/modules/iscsi_deploy.py | 14 +-
ironic/drivers/modules/pxe.py | 15 +-
ironic/drivers/modules/pxe_base.py | 40 +-
ironic/drivers/modules/redfish/boot.py | 153 +-
ironic/drivers/modules/redfish/management.py | 156 +-
ironic/drivers/utils.py | 14 +
ironic/objects/conductor.py | 19 +-
.../unit/drivers/modules/redfish/test_boot.py | 301 ++-
.../drivers/modules/redfish/test_management.py | 190 +-
.../unit/drivers/modules/test_boot_mode_utils.py | 111 ++
.../unit/drivers/modules/test_deploy_utils.py | 35 -
.../unit/drivers/modules/test_iscsi_deploy.py | 22 +-
.../unit/drivers/third_party_driver_mock_specs.py | 5 +-
.../add-deploy-steps-arg-9d8c58559c14288c.yaml | 8 +
.../notes/agent-rebooted-fab20d012fe6cbe8.yaml | 6 +
...-waits-when-low-on-memory-d73892a79cde0516.yaml | 6 +
...efault-policy-file-change-474a342d6b5a041a.yaml | 20 +
...ish-firmware-update-issue-c6dfcd71a2f659a5.yaml | 6 +
.../force-persistent-common-6ef2537f7ccd0dcb.yaml | 5 +
.../instance-info-boot-mode-25732c767593f849.yaml | 8 +
.../limit-memory-consumption-c7949a49853ba83d.yaml | 23 +
.../ramdisk-configdrive-142149339dd00b47.yaml | 6 +
.../raw_image_growth_factor-cba37029650e67db.yaml | 10 +
.../notes/redfish-boot-mode-a44fc569f1baca8f.yaml | 5 +
.../redfish-secure-boot-8e3b2fcad137e31e.yaml | 5 +
.../notes/redfish-vmedia-opt-59cafdde83fb2be7.yaml | 5 +
.../redfish-vmedia-vendor-fc76086893d99415.yaml | 6 +
.../redundant-maintenance-09849674334f656a.yaml | 5 +
...dware_interfaces_together-7b458a59f5e8f41f.yaml | 10 +
.../notes/retry-vmedia-1999742c84f11103.yaml | 6 +
.../notes/secure-boot-cf1c134bfb75768d.yaml | 16 +
...-redfish-override-enabled-aa51686ed33d3061.yaml | 15 +
releasenotes/source/victoria.rst | 6 +-
requirements.txt | 10 +-
tools/policy/ironic-policy-generator.conf | 2 +-
tox.ini | 2 +-
zuul.d/project.yaml | 5 +-
123 files changed, 5821 insertions(+), 1000 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index b00680fa2..55d076e36 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -14 +14 @@ python-xclarityclient>=0.1.6
-sushy>=3.4.0
+sushy>=3.6.0
diff --git a/requirements.txt b/requirements.txt
index b36a38789..df346381b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -19 +19 @@ oslo.concurrency>=4.2.0 # Apache-2.0
-oslo.config>=5.2.0 # Apache-2.0
+oslo.config>=6.8.0 # Apache-2.0
@@ -23 +23 @@ oslo.rootwrap>=5.8.0 # Apache-2.0
-oslo.log>=3.36.0 # Apache-2.0
+oslo.log>=4.3.0 # Apache-2.0
@@ -25 +25 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=1.30.0 # Apache-2.0
+oslo.policy>=3.6.0 # Apache-2.0
@@ -28,2 +28,2 @@ oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
-oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.38.0 # Apache-2.0
+oslo.upgradecheck>=1.3.0 # Apache-2.0
+oslo.utils>=4.5.0 # Apache-2.0
More information about the Release-announce
mailing list