We are pleased to announce the release of: ironic 26.0.0: OpenStack Bare Metal Provisioning This release is part of the dalmatian 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://bugs.launchpad.net/ironic/+bugs For more details, please see below. 26.0.0 ^^^^^^ New Features ************ * Adds support for updating BIOS in configurations where a single BMC is managing multiple systems (e.g. sushy-tools emulator with multiple VMs). In such cases, Targets parameter is added to SimpleUpdate API call. * Adds configuration options for operators to specify any or what boot modes to disallow for enrollment (*disallowed_enrollment_boot_modes*) and/or deployment (*disallowed_deployment_boot_modes*). Defaults are empty lists, indicating all boot modes are allowed. * Adds a new configuration option "store_cred_in_env" to allow switching between file-based and environment variable persistence for IPMI credentials. Defaults to "False". * Makes redfish driver firmware update feature a service step, enabling operators to perform firmware updates on active nodes. Upgrade Notes ************* * Adds upgrade checks for the following situations: * Error on unknown hardware types or interfaces in the configuration. * Warning on deprecated hardware types or interfaces in the configuration. * Warning on unknown hardware types or interfaces used on any nodes. * The deprecated "ibmc" hardware type has been removed from Ironic. * The deprecated "idrac-wsman" and related "idrac" interface aliases have been removed from the "idrac" hardware type. * The deprecated "xclarity" hardware type has been removed from Ironic. Security Issues *************** * Log the node UUID instead of the full node object in ironic/conductor/cleaning.py, to avoid logging the node's driver_info property (containing its BMC username and password). * Agent communication now requires an HTTPS url by default. This can be changed using the "[agent]require_tls" setting. Bug Fixes ********* * [bug 2069413 (https://bugs.launchpad.net/ironic/+bug/2069413)] Fixes an issue with node servicing that caused node to be put into 'service failed' state when Ironic configuration option [pxe]enable_netboot_fallback was enabled. * [bug 2069430 (https://bugs.launchpad.net/ironic/+bug/2069430)] Fixes an issue that prevented Ironic from being able to execute node servicing steps exposed by IPA's HardwareManager * Fixes an issue in Redfish generic attach and detach virtual media where the virtual media devices were not recognized causing a failure when attaching or detaching a single virtual media device. * Fixes the default grub initial configuration to be simpler and directly load the generated configuration file. The template also includes output which also help operators understand the context as to where the node is booting from, should issues be encountered. * Replaces deprecated "Storage.StorageControllers" in Redfish RAID with "Storage.Controllers", which provides an array of links to controller objects instead of embedding the full controller objects. The old field is now used as a fallback. * During node deployment, unless explicitly configured otherwise, Ironic now only creates PXE link files for ports with pxe_enabled=True, preventing unintended booting from disabled ports. Other Notes *********** * The Redfish interoperability profile 1.0.0 has been replaced with version 1.1.0 that adds a lot of missing resources and fields, and clarifies their purpose. Changes in ironic 25.0.0..26.0.0 -------------------------------- 88ad9a7bb Log node UUID and not entire node instance to avoid logging its driver_info field acf1c7d43 idrac driver doc should mention all dependencies 58f84d285 Allow disabling specific boot modes during deployment/enrollment 1e52143f0 Imported Translations from Zanata 3a4034759 Add Targets to firmware.update on multi system BMCs 11ce62d34 Imported Translations from Zanata fc69f9aad Follow-up to change; #922951 breaks RAID 74113c41e Fix anaconda boot interface 4d46bbf71 grub: directly load linked config file 8730a1a4b CI: Remove grub http boot from standalone CI test e2dad9128 Localdev: disable caching and related periodic 54c7ce513 Fixup: Move release note to proper directory 3dcbc1954 Add tox env for local dev; update documentation 1db409747 Inspector migration: mention switching over to ironicclient bb4cd9ea7 Upgrade check on removed or deprecated hardware types and interfaces 944ee5eee Deprecated field in Redfish Driver 62ff8a949 Make redfish firmware update a service step b9d1ace72 Add RPC calls and handlers needed to support async service steps be5c4b7d6 Render the redfish interop profile in the docs d28a61b2c Update the redfish interoperability profile e95d5a844 Fix log statement about starting inspection 7fe19631b Test empty media type in redfish virtual media boot 578f24bf1 Remove deprecated idrac wsman driver interfaces 3fd1fb351 Follow up to change on testing CI on ARM 656f93b6e Reorganize the documentation front page a36fd0095 Rework the navigation in the contributor guide 2548f022c Flexible IPMI credential persistence method configuration ef1ea4d36 Fix rendering of Redfish properties in the documentation c21b7d703 Enable HTTP network boot for Redfish hardware a88cc4d9d Documentation: migration guide from inspector 209ba7973 Provision ARM (aarch64) fake-bare-metal-vms f14794ca2 Remove ibmc hardware type c02ad76fe Remove deprecated xclarity hardware type 4f924f2d6 Fix execution of node servicing steps exposed by IPA's HardwareManager 78f54dfef Build PXE config for node in SERVICING state d189465b1 Update version change log with special treatment of .json removal d3fd725ef Fix and document redfish metrics 95784428a Decompose the Redfish documentation aaf62c678 Makes metal3 integration job vote again 28e83a087 metal3 integration is unstable currently, disable 8cd3fcd78 Trivial: Cleanup in neutron common code e958b379c Link MACs with PXE config to pxe_enabled ports 316274a9d Fix wrong option mentioned in release notes 46cc9e1d9 ci: fix https boot artifact path af33d8bd7 minor: additional tests for interaction around node lookup ed4f44e97 Remove unused parameter in ansible driver eaa0521be fix: Fix class typo for portgroup. Portgroup instead of PortGroup 613348d11 docs: add some additional context around iPXE and secure boot b00c49965 Correct bond_mode enum value for 802.3ad e736513be Follow up to broken Zuul config 6095b4017 Change [agent]require_tls to True by default Diffstat (except docs and test files) ------------------------------------- .gitignore | 1 + devstack/common_settings | 8 +- devstack/lib/ironic | 244 ++- devstack/tools/ironic/scripts/cirros-partition.sh | 2 +- devstack/tools/ironic/scripts/configure-vm.py | 3 +- devstack/tools/ironic/scripts/create-node.sh | 6 +- devstack/tools/ironic/templates/vm.xml | 13 +- driver-requirements.txt | 5 - ironic/api/controllers/v1/network-data-schema.json | 4 +- ironic/api/controllers/v1/node.py | 12 + ironic/api/controllers/v1/port.py | 2 +- ironic/api/controllers/v1/ramdisk.py | 10 +- ironic/api/controllers/v1/utils.py | 16 + ironic/api/controllers/v1/versions.py | 1 + ironic/cmd/status.py | 52 + ironic/common/exception.py | 20 +- ironic/common/neutron.py | 6 +- ironic/common/pxe_utils.py | 5 +- ironic/common/release_mappings.py | 2 +- ironic/conductor/cleaning.py | 2 +- ironic/conductor/deployments.py | 9 +- ironic/conductor/manager.py | 42 +- ironic/conductor/rpcapi.py | 17 +- ironic/conductor/utils.py | 28 + ironic/conf/__init__.py | 4 - ironic/conf/agent.py | 8 +- ironic/conf/api.py | 11 + ironic/conf/conductor.py | 12 + ironic/conf/ibmc.py | 35 - ironic/conf/ipmi.py | 5 + ironic/conf/opts.py | 1 - ironic/conf/xclarity.py | 44 - ironic/drivers/drac.py | 22 +- ironic/drivers/ibmc.py | 47 - ironic/drivers/modules/agent_base.py | 53 +- .../roles/deploy/files/partition_configdrive.sh | 1 - ironic/drivers/modules/drac/bios.py | 621 ------ ironic/drivers/modules/drac/common.py | 117 - ironic/drivers/modules/drac/inspect.py | 236 +- ironic/drivers/modules/drac/job.py | 116 - ironic/drivers/modules/drac/management.py | 385 +--- ironic/drivers/modules/drac/power.py | 243 --- ironic/drivers/modules/drac/raid.py | 1498 +------------ ironic/drivers/modules/drac/vendor_passthru.py | 179 -- ironic/drivers/modules/ibmc/management.py | 241 --- ironic/drivers/modules/ibmc/mappings.py | 70 - ironic/drivers/modules/ibmc/power.py | 149 -- ironic/drivers/modules/ibmc/raid.py | 203 -- ironic/drivers/modules/ibmc/utils.py | 172 -- ironic/drivers/modules/ibmc/vendor.py | 112 - ironic/drivers/modules/initial_grub_cfg.template | 9 +- ironic/drivers/modules/inspector/agent.py | 2 +- ironic/drivers/modules/inspector/interface.py | 11 +- ironic/drivers/modules/ipmitool.py | 110 +- ironic/drivers/modules/redfish/firmware.py | 47 +- ironic/drivers/modules/redfish/management.py | 4 - ironic/drivers/modules/redfish/raid.py | 9 +- ironic/drivers/modules/redfish/utils.py | 40 + ironic/drivers/modules/xclarity/common.py | 178 -- ironic/drivers/modules/xclarity/management.py | 248 --- ironic/drivers/modules/xclarity/power.py | 134 -- ironic/drivers/redfish.py | 8 +- ironic/drivers/xclarity.py | 35 - .../json_samples/systems_collection_dual.json | 19 + .../json_samples/systems_collection_single.json | 15 + .../unit/drivers/modules/drac/test_inspect.py | 491 ----- .../unit/drivers/modules/drac/test_management.py | 803 +------ .../drivers/modules/drac/test_periodic_task.py | 458 ---- .../unit/drivers/modules/ibmc/test_management.py | 294 --- .../modules/network/json_samples/network_data.json | 2 +- .../unit/drivers/modules/redfish/test_boot.py | 20 + .../unit/drivers/modules/redfish/test_firmware.py | 188 +- .../drivers/modules/redfish/test_management.py | 13 - .../unit/drivers/modules/redfish/test_raid.py | 72 +- .../unit/drivers/modules/redfish/test_utils.py | 19 + .../unit/drivers/modules/xclarity/test_common.py | 113 - .../drivers/modules/xclarity/test_management.py | 158 -- .../unit/drivers/modules/xclarity/test_power.py | 146 -- .../unit/drivers/third_party_driver_mock_specs.py | 55 - .../OpenStackIronicProfile.v1_0_0.json | 221 -- .../OpenStackIronicProfile.v1_1_0.json | 561 +++++ .../notes/accurate_alive-d2687bca802211a4.yaml | 4 +- ...-for-simpleupdate-targets-1ac970f4ff458981.yaml | 6 + ...isabling-bios-deployments-356f3215f80a879e.yaml | 7 + .../notes/bug-2069413-fc9262c573f2fe10.yaml | 7 + .../notes/bug-2069430-cb58c9beaa7a35de.yaml | 6 + .../driver-upgrade-check-d3afaf127cafbc06.yaml | 8 + ...ice_type-redfish-advmedia-dff448c2f9085a47.yaml | 0 ...ence_method_configuration-e5ed052576576d71.yaml | 6 + ...b-default-template-change-a7bacdef4543a9ae.yaml | 7 + ...mware-update-service-step-885f47cf051b57ee.yaml | 6 + .../notes/redfish-interop-1c2b5e3aeb10fea4.yaml | 6 + ...ve-deprecated-ibmc-driver-0c90817d8ad0ccc4.yaml | 4 + ...ve-deprecated-idrac-wsman-c31861acd8742eb9.yaml | 5 + ...object-from-log-statement-f1b92a8ca26686c2.yaml | 7 + ...ve-xclarity-hardware-type-aa1a26bcbb5b9670.yaml | 4 + ...d_field_in_redfish_driver-eb75e6bf67913963.yaml | 8 + ...to-only-pxe-enabled-ports-d2ca5386bdd04bef.yaml | 6 + .../set-agent-to-require-tls-08a9571793e75943.yaml | 5 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 79 +- .../source/locale/ja/LC_MESSAGES/releasenotes.po | 159 -- setup.cfg | 19 - tools/ironic.conf.localdev | 26 + tox.ini | 26 + zuul.d/ironic-jobs.yaml | 104 +- zuul.d/project.yaml | 2 + 167 files changed, 4988 insertions(+), 14474 deletions(-) Requirements updates -------------------- diff --git a/driver-requirements.txt b/driver-requirements.txt index f72b45cd4..bd3d9dc4b 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -12,2 +11,0 @@ python-scciclient>=0.16.0,<0.17.0 -python-dracclient>=5.1.0,<9.0.0 -python-xclarityclient>=0.1.6 @@ -18,3 +15,0 @@ ansible>=2.7 -# HUAWEI iBMC hardware type uses the python-ibmcclient library -python-ibmcclient>=0.2.2,<0.3.0 -
participants (1)
-
no-reply@openstack.org