[release-announce] ironic 15.0.1 (ussuri)

no-reply at openstack.org no-reply at openstack.org
Thu Aug 20 10:06:03 UTC 2020


We are overjoyed to announce the release of:

ironic 15.0.1: OpenStack Bare Metal Provisioning

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

15.0.1
^^^^^^


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

* Adds a new "[ipmi]use_ipmitool_retries" option. When set to "True"
  and timing is supported by ipmitool, the number of retries and
  command interval will be passed to ipmitool so that ipmitool will do
  the retries.  When set to "False", ironic will do the retries.
  Default is "True".


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

* Some BMCs do not support the "Channel Cipher Suites" command that
  newer versions of ipmitool use.  These versions of ipmitool will
  resend this command for each ipmitool retry, resulting in long
  response times.  Setting "[ipmi]use_ipmitool_retries" to "false"
  will avoid this situation by implementing retries on the ironic
  level.

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


Bug Fixes
*********

* Fixes a rare issue when agent successfully powers off a node after
  deployment, but ironic never learns about it and does another
  reboot.

* Fixes deployment in fast-track mode by keeping the required
  internal fields ("agent_url" and "agent_secret_token") intact when
  starting and finishing deployment and cleaning.

* Fixes RAID "apply_configuration" deploy step for "idrac-wsman"
  where deployment failed with "TypeError". See story 2007963
  (https://storyboard.openstack.org/#!/story/2007963).

* Cleans up nodes stuck in the "deleting" state on conductor
  restart.

* Fixes deployment hanging on an invalid in-band deploy step in a
  deploy templates.

* Allows deleting nodes with a broken driver unless they require
  stopping serial console.

* Fixes fast-track deployments with the "direct" deploy interface
  that used to hang previously.

* Fixes a bug in "fast track" where Ironic would delete the "agent
  token" upon exiting cleaning steps. However, if we are in fast track
  mode, we can preserve the token and continue operations with the
  agent as it is not powered off during fast track operations.

* Fixes json_rpc client connections always using HTTP even if
  *use_ssl* was set to True.

* Fixes a workaround for hardware that does not support persistent
  boot device setting with the "redfish" or "idrac-redfish" management
  interface implementation. When such situation is detected, ironic
  falls back to one-time boot device setting, restoring it on every
  reboot or power on.

  For more information, see story 2007733
  (https://storyboard.openstack.org/#!/story/2007733).

* Fixes fast track deployment preceeded by managed inspection by
  providing the ironic API URL to the ramdisk so that it can
  heartbeat.

* When Ironic is doing IPMI retries the configured
  "min_command_interval" should be used instead of a default value of
  "1", which may be too short for some BMCs.

* Fixes missing "agent" RAID compatibility for the "ilo5" and
  "idrac" hardware type preventing software RAID for working with
  them.

* No longer tries to set "local_gb" to "MAX" when building RAID with
  the root disk using "MAX" for its size.

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

* Fixes an issue where "ironic-conductor" initialization could
  return a "NodeNotLocked" error for requests requiring locks when the
  conductor was starting. This was due to the conductor removing locks
  after beginning accepting new work. The lock removal has been moved
  to after the Database connectivity has been established but before
  the RPC bus is initialized.

* Removes stale agent token on rescue and unrescue operations.
  Previously it would cause subsequent rescue operations to fail.

* If the disk format of the image is provided in the instance_info,
  skip the memory check if it is set to *raw* and raw image streaming
  is enabled. That allows to stream raw images provided as URL and not
  through Glance.


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

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

Changes in ironic 15.0.0..15.0.1
--------------------------------

15ddcad20 Change UEFI PXE job to use tinyipa
a61bd3741 Wipe agent token and URL on rescue and unrescue
3730c92ce Update number of VM on ironic-base
528e54c79 Use TLS for json_rpc when configured
2c443946b Fix idrac-wsman RAID apply_configuration
062872bce Remove locks before RPC bus is started
ad8697674 Make the final deploy step validation actually fail deploy
2a34baa6f Force RAX hosts to run tinyipa
d1fe4b61a Change non-tinyipa jobs to use multiple cores
bc4024fac Fixes to skip validation of in-band deploy steps before agent boot
1db4f007e Stop running test_schedule_to_all_nodes in the multinode job
7908a6175 Auto extend the timeout for RAX hosts
a4311fb70 Add missing agent RAID compatibility for ilo5 and idrac
4253956c0 Allow deleting nodes with a broken driver
8825f4401 Use min_command_interval when ironic does IPMI retries
d35cd6a8b Correct Redfish boot once fallback conditional
798a585ef Stop using md5 for __repr__ of objects
dc97a2aa6 add tempest boot_mode config
ad072caa5 fix error word confiuration to configuration in docs
27df8e851 Increase vm ram size in uefi netbooted jobs
485dad97b Software RAID: don't try to set local_gb to MAX
bde1e8ea1 Fix the error message when reached max number of traits
4baa4fee1 Clean up nodes in DELETING on conductor restart
af86e8dc3 Fix fast track following managed inspection
316a868da Fix fast-track with the direct deploy interface
486f58564 Fix agent token and URL handling during fast-track deployment
0915d26cd Fix Redfish handle no continuous override boot src
f5a24f741 Enable grenade
f17b9e4ab devstack: Use uwsgi binary from path; temporary disable grenade
a7e7dcb62 Add IPv6 ci Job
d5f6f4d1a devstack: increase concurrency and worker timeout for sushy-tools
9f9a9abfb Fix fast track when exiting cleaning
0645f391d CI: raise DIB jobs memory to 3 GiB
7d9630146 Use ussuri ramdisks
e545e567e Increase timeout for introspection in ironic-inspector-tempest
3e52fd389 Increase timeout value for ironic-base job
0adedb2e6 New configuration parameter to use ipmitool retries
2860299df agent: do not hard power off if soft power off actually succeeds
09ff1dbcd Increase callback timeout
995a246a8 Add the noop management interface to the redfish hardware type
1b40644ed change devstack ipa-builder default to BRANCHLESS_TARGET_BRANCH
b1dacef6f Do not fail when raw image is larger than memory for http
475682f9b Remove iDRAC Redfish boot device known issue
0f77220df Revert "Deprecate ibmc"
07fd5b92a Collect ramdisk logs also during cleaning
48cfa42c3 Pin the python-ibmcclient upper bounds due to six usage
1e2039a44 redfish: handle hardware that is unable to set persistent boot
5774c3389 Fix pep8
9388ed196 Native zuulv3 grenade job for ironic
08887f8c5 Silence debug messages from oslo_messaging
d1a4c44e1 redfish: split reboot into power off followed by power on
ba6db8dcd Monkey patch original current_thread _active
3defeea7f Add PXE reset known issue to the docs
134f3b331 CI: migrate UEFI jobs to Cirros 0.5.1
6deed2634 Update TOX_CONSTRAINTS_FILE for stable/ussuri
39e8a1215 Update .gitreview for stable/ussuri


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

.gitreview                                         |   1 +
devstack/common_settings                           |  30 +--
devstack/lib/ironic                                | 254 ++++++++++++++++++---
devstack/plugin.sh                                 |   1 +
driver-requirements.txt                            |   2 +-
ironic/cmd/__init__.py                             |  11 +-
ironic/common/json_rpc/client.py                   |   5 +-
ironic/common/pxe_utils.py                         |   2 +-
ironic/common/raid.py                              |   3 +-
ironic/common/rpc_service.py                       |   2 +
ironic/common/states.py                            |   4 +-
ironic/conductor/base_manager.py                   |  34 ++-
ironic/conductor/cleaning.py                       |  29 +--
ironic/conductor/deployments.py                    |  14 +-
ironic/conductor/manager.py                        |  38 ++-
ironic/conductor/task_manager.py                   |   4 +
ironic/conductor/utils.py                          |  52 +++--
ironic/conf/ipmi.py                                |   8 +
ironic/conf/opts.py                                |   2 +
ironic/db/sqlalchemy/api.py                        |  12 +-
ironic/drivers/drac.py                             |   8 +-
ironic/drivers/ilo.py                              |   8 +-
ironic/drivers/modules/agent.py                    |  26 +--
ironic/drivers/modules/agent_base.py               |  45 ++--
ironic/drivers/modules/drac/raid.py                |   2 +-
ironic/drivers/modules/ibmc/management.py          |   2 -
ironic/drivers/modules/ibmc/power.py               |   2 -
ironic/drivers/modules/ibmc/vendor.py              |   2 -
ironic/drivers/modules/inspector.py                |   3 +
ironic/drivers/modules/ipmitool.py                 |  10 +-
ironic/drivers/modules/redfish/management.py       |  90 +++++++-
ironic/drivers/modules/redfish/power.py            |  57 +++--
ironic/drivers/redfish.py                          |   3 +-
ironic/drivers/utils.py                            |  10 +-
ironic/objects/fields.py                           |   7 +-
.../unit/api/controllers/v1/test_allocation.py     |   6 +-
.../unit/api/controllers/v1/test_conductor.py      |   6 +-
.../api/controllers/v1/test_deploy_template.py     |   6 +-
.../unit/api/controllers/v1/test_portgroup.py      |   6 +-
.../api/controllers/v1/test_volume_connector.py    |   6 +-
.../unit/api/controllers/v1/test_volume_target.py  |   6 +-
.../drivers/modules/redfish/test_management.py     | 113 +++++++++
.../unit/drivers/modules/redfish/test_power.py     | 125 +++++++---
playbooks/legacy/grenade-dsvm-ironic/run.yaml      | 121 ----------
playbooks/legacy/ironic-dsvm-base/post.yaml        |  15 --
playbooks/legacy/ironic-dsvm-base/pre.yaml         |  22 --
.../notes/agent-power-off-2115fcfaac030bd0.yaml    |   5 +
.../notes/agent-token-817a03776bd46d5b.yaml        |   6 +
...-raid-apply-configuration-792ccf195057016b.yaml |   6 +
.../notes/cleaning-logs-dc115b0926ae3982.yaml      |   5 +
releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml  |   4 +
.../deploy-step-validate-76b2aa97e02ba669.yaml     |   5 +
.../notes/destroy-broken-8b13de8382199aca.yaml     |   5 +
.../notes/direct-fast-track-d0f43850b6e80751.yaml  |   5 +
.../fast-track-with-cleaning-438225116a11662d.yaml |   7 +
.../fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml  |   5 +
...edfish-sadness-workaround-ed02cb310ff369f4.yaml |  11 +
.../inspection-fast-track-ab5165e11d3e9522.yaml    |   5 +
...ries-min-command-interval-070cd7eff5eb74dd.yaml |   6 +
...tool-use_ipmitool_retries-b55b2b8ed5cab603.yaml |  16 ++
.../notes/missing-sw-raid-b7fdc9259612970d.yaml    |   5 +
releasenotes/notes/raid-max-c0920cc44b9779ee.yaml  |   5 +
.../notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml  |   6 +
.../notes/redfish-power-87062756bce8b047.yaml      |   6 +
.../notes/redfish-sadness-6e2a37b3f45ef1aa.yaml    |  18 ++
.../notes/remove-locks-first-d12ac27106f800f8.yaml |   9 +
.../notes/unrescue-token-ae664a17343e0610.yaml     |   5 +
...e-format-for-memory-check-25b1f06701ccdc47.yaml |   6 +
test-requirements.txt                              |   1 +
tools/bandit.yml                                   |   1 -
tox.ini                                            |  18 +-
zuul.d/ironic-jobs.yaml                            | 184 +++++++++++++--
zuul.d/legacy-ironic-jobs.yaml                     |  45 ----
zuul.d/project.yaml                                |   6 +-
105 files changed, 1785 insertions(+), 619 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index b8d91d0bc..2d8c9671c 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -20 +20 @@ ansible>=2.7
-python-ibmcclient>=0.1.0
+python-ibmcclient>=0.1.0,<0.2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 497bcdc99..a1a53786d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -24,0 +25 @@ bandit!=1.6.0,>=1.1.0,<2.0.0 # Apache-2.0
+pycodestyle>=2.0.0,<2.6.0 # MIT






More information about the Release-announce mailing list