[release-announce] ironic 13.0.4 (train)

no-reply at openstack.org no-reply at openstack.org
Fri Jun 19 14:52:50 UTC 2020


We contentedly announce the release of:

ironic 13.0.4: OpenStack Bare Metal Provisioning

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

13.0.4
^^^^^^


New Features
************

* For baremetal operations on DHCPv6-stateful networks multiple IPv6
  addresses can now be allocated for neutron ports created for
  provisioning, cleaning, rescue or inspection. The new parameter
  "[neutron]/dhcpv6_stateful_address_count" controls the number of
  addresses to allocate (Default: 1).

* Makes management interface of "redfish" hardware type not changing
  current boot frequency if currently set is the same as the desired
  one. The goal is to avoid touching potentially faulty BMC option
  whenever possible.

* Adds a new "[ipmi]debug" option that allows users to explicitly
  turn IPMI command debugging on, as opposed to relying upon the
  system debug setting "[DEFAULT]debug". Users wishing to continue to
  log this output should set "[ipmi]debug" to "True" in their
  ironic.conf.


Known Issues
************

* Some redfish-enabled hardware is known not to support persistent
  boot device setting that is used by the Bare Metal service for
  deployed instances. The "redfish" hardware type tries to work around
  this problem, but rebooting such an instance in-band may cause it to
  boot incorrectly. A predictable boot order should be configured in
  the node's boot firmware to avoid issues and at least metadata
  cleaning must be enabled. See this mailing list thread
  (http://lists.openstack.org/pipermail/openstack-
  discuss/2020-April/014543.html) for technical details.


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

* Changing minimum version of Ansible for use with the "ansible"
  "deploy_interface" to version 2.5.

* The version of "sushy" can now be updated to "3.2.0" or later to
  address issues with managing persistant boot mode setting with
  Redfish Baseboard Management Controllers.

* If "[DEFAULT]force_raw_images" is set to "true", then MD5 will not
  be utilized to recalculate the image checksum. This requires the
  "ironic-python-agent" ramdisk to be at least version 3.4.0.

* Debug logging control has been moved to the "[ipmi]debug"
  configuration setting as opposed to the "conductor" "[DEFAULT]debug"
  setting as the existing "ipmitool" output can be extremely
  misleading for users. Operators who wish to continue to log
  "ipmitool" verbose output in their logs should explicitly set the
  "[ipmi]debug" command to True.


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

* Image checksum recalculation when images are forced to raw images,
  are now calculated using SHA3-256 if MD5 was selected. This is now
  unconditional.


Bug Fixes
*********

* Fixes an issue with the agent client code where checks of the
  agent command status had no logic to prevent an intermittent or
  transient connection failure from causing the entire operation to
  fail.

* Fixes the default disk detection in the "ansible" deploy interface
  with Python 3. Previously a random disk was used, resulting in boot
  failures, now the first disk is used (as intended). This required
  bumping the minimum required Ansible version to 2.5.

* Fixes 'Invalid parameter value for SpanLength' when configuring
  RAID using Python 3. This passed incorrect data type to iDRAC, e.g.,
  instead of *2* it passed *2.0*. See story 2004265
  (https://storyboard.openstack.org/#!/story/2004265).

* Fixes RAID configuration using *idrac-wsman* RAID interface where
  node remains in 'clean wait' provisioning state forever. See story
  2007567 (https://storyboard.openstack.org/#!/story/2007567).

* Fixes an issue where a node may be locked from changes if a
  conductor's hostname case is changed before restarting the conductor
  service.

* Improves interoperability with Redfish BMCs by untying node boot
  mode change from other boot parameters change (such as boot device,
  boot frequency). This fix requires a newer version of the "sushy"
  library, version "3.2.0".

* Fixes vague node "last_error" field reporting upon deploy step
  failure by providing the exception error message in addition to the
  step that failed.

* The 'no address available' problem seen when network booting on
  DHCPv6-stateful networks is fixed with the support for allocating
  multiple IPv6 addresses. See bug: 1861032
  (https://bugs.launchpad.net/neutron/+bug/1861032).

* Fixes an agent command issue in the bootloader installation
  process that can present itself as a connection timeout under heavy
  IO load conditions. Now installation commands have an internal
  timeout which is double the conductor wide "[agent]command_timeout".
  For more information, see bug 2007483
  (https://storyboard.openstack.org/#!/story/2007483).

* Fixed a bug where rebooting a node managed by the "idrac" hardware
  type when using the WS-MAN power interface sometimes fails with a
  "The command failed to set RequestedState" error.  See bug 2007487
  (https://storyboard.openstack.org/#!/story/2007487) for details.

* To provide a workaround for incorrect boot order problems on some
  hardware, the "redfish" hardware type now supports the "noop"
  management interface, similarly to IPMI and SNMP.

* Rebooting a node with the "redfish" power interface is now
  implemented via a power off request followed by power on to avoid
  returning success when a node stays powered on after the reboot
  request.

* Provides a workaround for hardware that does not support
  persistent boot device setting with the "redfish" hardware type.
  When such situation is detected, ironic will fall back to one-time
  boot device setting, restoring it on every reboot.


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

* Ramdisk logs are now collected during cleaning the same way as
  during deployment.

Changes in ironic 13.0.3..13.0.4
--------------------------------

555494870 devstack: increase concurrency and worker timeout for sushy-tools
f2eac72e8 redfish: handle hardware that is unable to set persistent boot
64fcd4040 Add the noop management interface to the redfish hardware type
e277c4d3a Collect ramdisk logs also during cleaning
72e7514ce Revert "Add timeout and retries to JSON RPC client"
3904d0202 Pin the python-ibmcclient upper bounds due to six usage
aaa7fe765 Improve `redfish` set-boot-device behaviour
8bc07ba05 Improve `redfish` set-boot-mode implementation
901402d11 Add timeout and retries to JSON RPC client
0eaaa1427 Silence debug messages from oslo_messaging
2e47bad7d redfish: split reboot into power off followed by power on
d19fcbcd2 DRAC: Added redfish management interface issue
166673046 Add link to other Redfish parms to iDRAC doc
8b21d31fc Add note about UEFI support in Train
78d91c15d Fix RAID configuration with idrac-wsman interface
10c20e29d Update iDRAC doc about soft power off timeout
33af6b119 Update iDRAC doc about vendor passthru timeout
3ebb15ffe Fix issue where server fails to reboot
dbf92aefb Fix enabled_hardware_types from idrac-wsman to idrac
41ef959eb Fix SpanLength calculation for DRAC RAID configuration
7c84ade16 Additional IP addresses to IPv6 stateful ports
253253ed8 Make deploy step failure logging indicate the error
cea889dac Do not autoescape all Jinja2 templates
3e5816e10 Move ipmi logging to a separate option
9001b2b9d Extend install_bootloader command timeout
fc0967189 Document deploy_boot_mode and boot_option for standalone deployments
81748b61f Retry agent get_command_status upon failures
32e6071f6 Documentation clarifications for software RAID
771cc7fc1 Change force_raw_images to use sha256 if md5 is selected
a18f5ef18 Make reservation checks caseless
f2418d75f Docs: split away user image building and highlight whole disk images
361f00f0c Using loop instead of with_X


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

devstack/lib/ironic                                |   3 +
driver-requirements.txt                            |   5 +-
ironic/common/neutron.py                           |  29 ++++
ironic/common/utils.py                             |  35 ++++-
ironic/conductor/manager.py                        |  10 +-
ironic/conf/agent.py                               |   6 +-
ironic/conf/ipmi.py                                |   6 +
ironic/conf/neutron.py                             |  10 ++
ironic/conf/opts.py                                |   2 +
ironic/db/sqlalchemy/api.py                        |   9 +-
ironic/drivers/modules/agent_base_vendor.py        |   4 +
ironic/drivers/modules/agent_client.py             |  42 ++++-
.../playbooks/roles/discover/tasks/main.yaml       |   2 +-
ironic/drivers/modules/deploy_utils.py             |  25 +--
ironic/drivers/modules/drac/power.py               |  80 +++++++---
ironic/drivers/modules/drac/raid.py                |   4 +-
ironic/drivers/modules/ipmitool.py                 |   2 +-
ironic/drivers/modules/redfish/management.py       | 137 ++++++++++++++---
ironic/drivers/modules/redfish/power.py            |  57 +++++--
ironic/drivers/redfish.py                          |   3 +-
ironic/drivers/utils.py                            |  10 +-
.../drivers/modules/drac/test_periodic_task.py     |  37 +++--
.../drivers/modules/redfish/test_management.py     | 171 ++++++++++++++++++++-
.../unit/drivers/modules/redfish/test_power.py     | 125 +++++++++++----
.../unit/drivers/modules/test_agent_base_vendor.py |  11 +-
.../unit/drivers/modules/test_agent_client.py      |  14 +-
.../unit/drivers/modules/test_deploy_utils.py      |  28 +---
...gent-command-status-retry-f9b6f53a823c6b01.yaml |   6 +
.../notes/ansible-loops-de0eef0d5b79a9ff.yaml      |  11 ++
.../notes/bug-2004265-cd9056868295f374.yaml        |   7 +
.../bug-2007567-wsman-raid-48483affdd9f9894.yaml   |   6 +
...s-conductor-restart-check-f70005fbf65f6bb6.yaml |   5 +
.../notes/cleaning-logs-dc115b0926ae3982.yaml      |   5 +
.../decouple-boot-params-2b05806435ad21e5.yaml     |  12 ++
.../notes/deploy-step-error-d343e8cb7d1b2305.yaml  |   6 +
...v6-stateful-address-count-0f94ac6a55bd9e51.yaml |  14 ++
...nstall-bootloader-timeout-8fce9590bf405cdf.yaml |   8 +
.../idrac-fix-reboot-failure-c740e765ff41bcf0.yaml |   7 +
...ksum-recalculation-sha256-fd3d5b4b0b757e86.yaml |  10 ++
...e-redfish-set-boot-device-e38e9e9442ab5750.yaml |   7 +
.../notes/ipmi-debug-1c7e090c6cc71903.yaml         |  13 ++
.../notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml  |   6 +
.../notes/redfish-power-87062756bce8b047.yaml      |   6 +
.../notes/redfish-sadness-6e2a37b3f45ef1aa.yaml    |  18 +++
zuul.d/ironic-jobs.yaml                            |   2 +-
62 files changed, 1273 insertions(+), 265 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index beb542186..f0902eecb 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -17 +17 @@ sushy>=1.9.0
-ansible>=2.4
+ansible>=2.5
@@ -20 +20,2 @@ ansible>=2.4
-python-ibmcclient>=0.1.0
+python-ibmcclient>=0.1.0,<0.2.0
+






More information about the Release-announce mailing list