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
participants (1)
-
no-reply@openstack.org