[release-announce] ironic 17.0.0 (wallaby)

no-reply at openstack.org no-reply at openstack.org
Thu Apr 1 09:35:38 UTC 2021


We are thrilled to announce the release of:

ironic 17.0.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.

17.0.0
^^^^^^


Prelude
*******

The Ironic community is proud to release Ironic 17.0!

Where if it were developer years instead of major versions, we would
all be very afraid since it already has access to the car keys.

This release of Ironic includes numerous advancements which extend an
operator's ability to customize and further extend their deployment to
meet their needs.

* Redfish enhancements including Out of Band RAID configuration
  management and automatic setting of Secure Boot on nodes deployed
  using "redfish".

* Deployment enhancements including UEFI Partition Image handling,
  per-instance per-deployments of default interface selections, user
  requestable "deploy_steps" at deploy time, IPA file injection, and
  support for setting a node's boot mode via "instance_info".

* Support for "system" scoped Role Based Access controls *and*
  "project" scoped access is available by default for associated nodes
  when the "node" "owner" or "lessee" fields are set. This effort
  alone added over 1,500 new unit tests.

* Operator friendly fixes such as memory over-consumption guard for
  memory intensive tasks, vendor hardware aware handling to help
  address issues such as different settings being needed to invoke
  UEFI, and "lazy" loading of database attributes to reduce the
  overall database load.

Along with all of this massive amount of work, a number of bugs were
fixed while we were along the road trip of this development cycle.

We sincerely hope you enjoy it!


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

* It is now possible to configure a priority for both the delete and
  create configuration RAID cleaning steps which are disabled by
  default.

* Adds "import_configuration", "export_configuration" and
  "import_export_configuration" steps to "idrac-redfish" management
  interface. These steps allow to use configuration from another
  system as template and replicate that configuration to other,
  similarly capable, systems. Currently, this feature is experimental.

* Adds support for passing a "kernel_append_param" setting to the
  "ilo-virtual-media" and "ilo-uefi-https" boot interfaces using the
  configuration parameter "[ilo]/kernel_append_param" with the "ilo"
  and "ilo5" hardware types.

* Adds support for the discovery of PXE Enabled NICs using the
  "idrac- redfish" inspect interface with the "idrac" hardware type.
  With this feature, a port's "pxe_enabled" status will be recorded on
  the bare metal port.

* Adds support to manage certificates to the "ilo5" hardware type. A
  new optional boolean driver_info parameter "ilo_add_certificates" is
  introduced which can be used by the user to request addition of
  certificates to the iLO with "ilo-uefi-https" boot interface.

* Adds the "[deploy]enable_nvme_secure_erase" option which allows
  the operator to enable NVMe format option for all nodes being
  managed by the conductor.

* Add "anaconda" deploy interface to Ironic. This driver will deploy
  the OS using anaconda installer and kickstart file instead of IPA.
  To support this feature a new configuration group "anaconda" is
  added to Ironic configuration file along with "default_ks_template"
  configuration option.

  The deploy interface uses heartbeat API to communicate. The
  kickstart template must include %pre %post %onerror and %traceback
  sections that should send status of the deployment back to Ironic
  API using heartbeats. An example of such calls to hearbeat API can
  be found in the default kickstart template. To enable anaconda to
  send status back to Ironic API via heartbeat "agent_status" and
  "agent_status_message" are added to the heartbeat API. Use of these
  new parameters require API microversion 1.72 or greater.

* Adds support for fast-tracking to "ansible" deploy interface.

* Allows providing a list of IPMI cipher suite versions via the new
  configuration option "[ipmi]/cipher_suite_versions". The
  configuration is only used when "ipmi_cipher_suite" is not set in
  "driver_info".

* Adds a new "disable_ramdisk" parameter to the manual cleaning API.
  If set to "true", IPA won't get booted for cleaning. Only steps
  explicitly marked as compatible can be executed this way.

  The parameter is available in the API version 1.70.

* Provides operator ability to override URL settings required for
  provisioning/cleaning in the event of virtual media based
  deployment. These scenarios tend to require more delineation than
  more traditional deployments as they often have a different
  environmental security requirements. Set these two new configuration
  options using an IP address that is available to these nodes (both
  the ramdisk and the BMCs):

     [deploy]
     external_http_url = <routable URL of the HTTP server>
     external_callback_url = <routable URL of bare metal API>

* Adds new GPU dynamic capabilities to "ilo" drivers inspection.
  gpu_<vendor>_count: Integer gpu_<gpu_device_name>_count: Integer
  gpu_<gpu_device_name>: Boolean

* Enhance "idrac-wsman" inspect hardware interface to report an
  additional GPU device namely GV100GL [Tesla V100 PCIe 16GB]. With
  this enhancement, following GPU devices are reported

  * TU104GL [Tesla T4]

  * GV100GL [Tesla V100 PCIe 16GB]

* Adds basic support for managing RAID configuration via the Redfish
  out-of-band (OOB) management protocol to the "idrac" hardware type
  by adding new interface named "idrac-redfish". For this iDRAC
  firmware greater than 4.40.00.00 is required. The "idrac" hardware
  type now supports "idrac-wsman", "idrac", "idrac-redfish", and "no-
  raid" interfaces in given priority order.

* Allows node "*_interface" values to be overridden by values in a
  node "instance_info" field. This gives non-administrative users a
  temporary method of setting interface values.

* The network data schema is now configurable via the new
  configuration options "[api]network_data_schema".

* Adds capability to use "project" scoped requests in concert with
  "system" scoped requests for a composite Role Based Access Control
  (RBAC) model. As Ironic is mainly an administrative service, this
  capability has only been extended to API endpoints which are not
  purely administrative in nature. This consists of the following API
  endpoints: nodes, ports, portgroups, volume connectors, volume
  targets, and allocations.

* Project "scoped" requests for baremetal allocations, will
  automatically record the "project_id" of the requestor as the
  "owner" of the node.

* Adds support for automatic creation of ports for "redfish" enabled
  bare metal nodes using prior to ironic-inspector introspection. This
  feature is a part of "redfish" management interface.

* Supplying configuration to the agent using the "redfish-virtual-
  media" boot interface now works through USB instead of floppy by
  default. Modern hardware (and even virtual machines) has limited
  support for floppies.

* Adds support for pre-built ISO images to the "redfish-virtual-
  media" boot interface and its derivatives.

* Adds a "redfish" native "raid_interface" to the "redfish" hardware
  type. See story 2003514
  (https://storyboard.openstack.org/#!/story/2003514) for details.

  Note that common RAID cases have been tested, but cases that are
  more complex or rely on vendor-specific implementation details may
  not work as desired due to capability limitations.

* Adds support for managing an iDRAC -- reset, clear job queue, and
  reset to known good state -- via the Redfish out-of-band (OOB)
  management protocol to the "idrac" hardware type. This is offered by
  new "idrac-redfish" management hardware interface implementation
  cleaning steps: "reset_idrac", "clear_job_queue", and
  "known_good_state". "known_good_state" both resets an iDRAC and
  clears its job queue.

* Adds "[conductor]clean_step_priority_override" configuration
  parameter which allows the operator to define a custom order in
  which the cleaning steps are to run.

* The Baremetal API, provided by the "ironic-api" process, now
  supports use of "system" scoped "keystone" authentication for the
  following endpoints: nodes, ports, portgroups, chassis, drivers,
  driver vendor passthru, volume targets, volume connectors,
  conductors, allocations, events, deploy templates

* Introduces lazy-loading of ports, portgroups, volume connections
  and volume targets in task manager. For periodic tasks which create
  a task manager object but don't require the aforementioned data
  (e.g. power sync), this change should reduce the number of database
  interactions by around two thirds, speeding up overall execution.

* Adds support for multipath volumes. If the volume properties have
  multiple portals, then it will generate multiple iscsi urls and
  append them together for use in the generated ipxe file.


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

* The addition of both "project" and "system" scoped Role Based
  Access controls does add additional database queries when linked
  resources are accessed. Example, when attempting to access a "port"
  or "portgroup", the associated node needs to be checked as this
  helps govern overall object access to the object for "project"
  scoped requests. This does not impact "system" scoped requests.
  Operators who adopt project scoped access may find it necessary to
  verify or add additional database indexes in relation to the node
  "uuid" column as well as "node_id" field in any table which may
  recieve heavy project query scope activity. The "ironic" project
  anticipates that this will be a future work item of the project to
  help improve database performance.


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

* The "ilo-virtual-media" and "ilo-uefi-https" boot interfaces does
  not use "[pxe]pxe_append_params" anymore. To pass kernel parameters
  use new configuration parameter "[ilo]/kernel_append_param".

* Legacy policy rules have been deprecated. Operators are advised to
  review and update any custom policy files in use. Please see Secure
  Role Based Access Controls for more information.

* The functionality of using a port.extra "vif_port_id" value to
  signal and control a VIF attachment has been removed to support
  changing the permission model and access control policy. Use of
  "vif_port_id" outside of the VIF attachment/detachment workflow has
  been deprecated since the Ocata development cycle.

* Deprecated policy rules are not expressed via a default policy
  file generation from the source code. The generated default policy
  file indicates the new default policies with notes on the
  deprecation to which "oslo.policy" falls back to, until the
  "[oslo_policy]enforce_scope" and "[oslo_policy]enforce_new_defaults"
  have been set to "True". Please see the Victoria policy
  configuration (https://docs.openstack.org/ironic/victoria/configura
  tion/policy.html) documentation to reference prior policy
  configuration.

* Operators are encouraged to move to "system" scope based
  authentication by setting "[oslo_policy]enforce_scope" and
  "[oslo_policy]enforce_new_defaults". This requires a migration from
  using an "admin project" with the "baremetal_admin" and
  "baremetal_observer". System wide administrators using "system"
  scoped "admin" and "reader" accounts superceed the deprecated model.


Deprecation Notes
*****************

* Deprecates ATA specific "agent_continue_if_ata_erase_failed"
  agent's option which is replaced with
  "agent_continue_if_secure_erase_failed". The new option supports
  both ATA and NVMe secure erase. In order to ensure a smooth
  migration to the new configuration option, the operators need to
  upgrade Ironic Python Agent image to Wallaby release prior to
  upgrading Ironic Conductor to Xena.

* Pre-RBAC support rules have been deprecated. These consist of:

     * admin_api

     * is_member

     * is_observer

     * is_node_owner

     * is_node_lessee

     * is_allocation_owner

  These rules will likely be removed in the Xena development cycle.
  Operators are advised to review any custom policy rules for these
  rules and move to the Secure Role Based Access Controls
  (https://docs.openstack.org/ironic/latest/admin/secure-rbac.html)
  model.

* The node's "driver_info" parameter "config_via_floppy" of the
  "redfish-virtual-media" boot interface has been renamed to
  "config_via_removable". The old alias is deprecated.

* Use of an "admin project" with ironic is deprecated. With this the
  custom roles, "baremetal_admin" and "baremetal_observer" are also
  deprecated. Please migrate to using a "system" scoped account with
  the "admin" and "reader" roles, respectively.


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

* Ability to create an allocation has been restricted by a new
  policy rule "baremetal::allocation::create_pre_rbac" which prevents
  creation of allocations by any project administrator when operating
  with the new Role Based Access Control model. The use and
  enforcement of this rule is disabled when
  "[oslo_policy]enforce_new_defaults" is set which also makes the
  population of a "owner" field for allocations to become
  automatically populated. Most deployments should not encounter any
  issues with this security change, and the policy rule will be
  removed when support for the legacy "baremetal_admin" custom role
  has been removed.

* Fixes an issue where ironic was not properly labeling dynamicly
  built virtual media ramdisks with the signifier flag so the ramdisk
  understands it was booted from virtual media.


Bug Fixes
*********

* When using the Neutron DHCP driver, Ironic would only use the
  first fixed IP address to determine what IP versions are use on the
  port. Now, it checks for all the IP addresses and adds DHCP options
  for all IP versions.

* Rejects "configdrive" that is not a JSON, a URL or a base64
  string. Previously invalid JSON supplied to ironicclient could end
  up accepted as a configdrive, which would cause a failure much
  later.

* Fixes the "[deploy]configdrive_use_object_store" option that was
  broken during the Python 3 transition.

* Fixes the problem about grub2 config file. Some higher versions of
  grub2 (e.g. 2.05 or 2.06-rc1) use grub.cfg-01-MAC, while another
  lower versions of grub2 (e.g. 2.04) use MAC.conf, so we generate
  both paths in order to be compatible with both.

* Fixes the missing "boot_method" ramdisk parameter for dynamicly
  build virtual media payloads. This value must be set to "vmedia" for
  the ramdisk running on virtual media to understand it is executing
  from virtual media. This was fixed for cases where it is used with
  the "redfish-virtual-media" based boot interfaces as well as the
  "ilo-virtual-media" boot interface, which is where dynamic virtual
  media deployment/cleaning ramdisk generation is supported.

* Fixes "idrac-wsman" BIOS "apply_configuration" and "factory_reset"
  clean and deploy steps to fail correctly in case of error when
  checking completed jobs. Before the fix when BIOS job failed, then
  node clean or deploy failed with timeout instead of actual error in
  cleaning or deploying step.

* Adds handling of Redfish BMC's which lack a
  "BootSourceOverrideMode" flag, such that it is no longer a fatal
  error for a deployment if the BMC does not support this field. This
  most common on BMCs which feature only a partial implementation of
  the "ComputerSystem" resource "boot", but may also be observable on
  some older generations of BMCs which recieved updates to have
  partial Redfish support.

* The fix for story 2008252
  (https://storyboard.openstack.org/#!/story/2008252) synced the boot
  mode after changing the boot device because Supermicro nodes reset
  the boot mode if not included in the boot device set. However this
  can cause a problem on Dell nodes when changing the mode uefi->bios
  or bios->uefi, see story 2008712
  (https://storyboard.openstack.org/#!/story/2008712) for details.
  Restrict the syncing of the boot mode to Supermicro.


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

* Clean steps can now be marked with "requires_ramdisk=False" to
  make them compatible with the new "disable_ramdisk" argument of the
  manual cleaning API.

* The API version of the Bare Metal API provided by the "ironic-api"
  service has been incremented to "1.71" to signify that the API
  supports System and Project scoped Role Based Access Controls, which
  is purely informational in nature, as the version itself cannot be
  used to change the API behavior for access controls. In excess of
  1500 unit tests were added as part of the effort to implement Role
  Based Access Controls to help ensure the effort did not break the
  API behavior.

Changes in ironic 16.2.0..17.0.0
--------------------------------

288b8fd88 Add agent_status and agent_status_message params to heartbeat
8bd25a988 Restrict syncing of boot mode to Supermicro
601f6d51f Add iDRAC management via Redfish to idrac HW type
1523ae1ce Generic way to configure clean step priorites
12d1dd530 Fix configuration generation for ironic doc pages
4afbf7479 Fix Bandit check
4bd1c40bd Always add 'boot_method' vmedia in redfish/ilo vmedia boot
457d0cd70 Add import, export configuration to idrac-redfish
d913ef639 Move configuration mold utilities
fc457a49d [doc] Warning about out-of-sync ESPs for UEFI software RAID
86c34114d [doc] Update available software RAID levels.
b029fb377 Automaticaly set cipher suite
9da8f418e Fix webserver_verify_ca config documentation
24be3c228 Allow using per-site network_data schema
15e20fe29 Add configuration mold storage
7d82d7f3d DRAC : idrac-redfish inspect updates pxe port
8f474bfe5 update grub2 file name
918f3c33c redfish boot_interfaces, ipmitool -> pxe
1abff50db redfish-virtual-media: allow USB devices instead of floppies
133dac255 Allow overriding an external URL for virtual media
83ce7c426 Fix idrac-wsman BIOS step async error handling
f96ce6981 Follow up of Use OOB inspection to fetch MACs for IB inspection
9d3de26fb Validate the kickstart template and file before use
880bd639f Add anaconda support in the pxe boot driver
8cfde7447 Allow running RAID cleaning steps with in-band cleaning
d55929fc7 Support pre-built deploy/rescue ISO in Redfish
80d4a0c51 Version 17.0 mapping/doc updates
8e79fafc8 Add prelude for Ironic 17.0.
752568eec Add known iDRAC virtual media boot issue
25efd0c8d Update idrac-redfish RAID release note
f4ff15938 Remove extra/vif_port_id
67394c3cd Revise release notes for 17.0 release
9f221a7d4 Allow unsupported redfish set_boot_mode
26040d456 Add anaconda configuration and template
952695be3 Add Redfish RAID interface to idrac HW type
e6863c6b7 Follow-up to RBAC allocation changes
e5b391c32 Increment API version for Secure RBAC
9220f97ed Add runtime gpu capabilities to ilo inspection
426353c3f Deprecate legacy policies, update project scoped docs
d6dd05ab1 Enable Reuse of Zuul Job in 3rd Party CI Environment
7552c489e Add iRMC Driver Support to DevStack Code
30a85bd0c API to force manual cleaning without booting IPA
642bc983b Allow ansible deploys to be fast-tracked
7ae3919dc Trivial: add a missing argument to an exception
88673f1e9 Allocation support for project scoped RBAC
ebaa35993 Mark multinode non-voting due to high failure rate
d8a0b0c27 Don't try to use attempts=None with tenacity
dccff98a3 [doc] Add initial system-scoped text to secure-rbac
f2e8c031c Switch to JSON RPC from ironic-lib
5c36615a9 Update dev quickstart docs
5f85a8966 Update Redfish RAID release note
6ba1ecad1 Allow users to configure priority for {create,delete}_configuration
342878ca6 Add CentOS7 for supported ramdisk for dhcpless deploy
7e1c08c40 RBAC Follow-up: Review follow-up.
0b920d2a0 Enforce autospec in test_console_utils
49fcbd491 Rework the standalone guide
472ffca26 docs: move overriding interfaces to the standalone documentation
5360c786a Update iDRAC doc with idrac-redfish-virtual-media
383afc2d8 Update iDRAC doc on Redfish vendor passthru interface
a165fe326 Allow instance_info to override node interface
0354940e4 Allow support for multipath volumes
94fae9ac2 Enforce autospec in test_portgroup
a8b5137db Revert "Update iDRAC doc with missing interfaces"
7f6b24c70 Follow-up on project scoped trait tests
5dff46a70 Project scope driver vendor pass-through
e870bd34d Volume targets/connectors Project Scoped RBAC
00eb6dcfa Enforce autospec in test_port
b0696ea0a Enforce autospec in test_volume_connector
b4cae9b82 Enforce autospec in test_volume_target
d7f4da237 Add Redfish RAID management to Ironic
e9dfe5dda Port/Portgroup project scoped access
f1641468b Project Scoping Node endpoint
aa42582ac Add support for using NVMe specific cleaning
807a6d2be Prepare to use tinycore 12 for tinyipa
82cab603b Lazy-load node details from the DB
755918343 Adds config parameter kernel_append_param for iLO
20acfc26e secure-rbac - minor follow-up for project scoped tests
367cdcd66 Add both IPv4 and IPv6 DHCP options if interface has both
61c5b3fd2 [Trivial] Fix testing of volume connector exception
decd72334 Switch iLO and iRMC to the new secure boot framework
7abac806a devstack: a safeguard for disabled tempurls
5533077c7 Enable swift temporary URLs in grenade and provide a good error message
f541d517c [trivial] Remove default parameter from execute
df69b7d14 Initial Project scoped tests
eabb72b6b RBAC System Scope: observer -> reader
27a889854 Implement system scoped RBAC for the deploy templates APIs
046e99c0b Implement system scoped RBAC for the event APIs
d5b5356d6 [trivial] fix typos in conductor
f18fec232 Enforce autospec in test_driver
20a4f4aad Review feedback follow-up on Node System Scoped RBAC
d146064cb Implement system scoped RBAC for the allocation APIs
e1e35e874 Implement system scoped RBAC for conductor APIs
5ed58df55 Implement system scoped RBAC for volume APIs
69b28ca99 Implement system scoped RBAC for utility APIs
ff883486e Implement system scoped RBAC for node and driver passthru
9e773d96c Implement system scoped RBAC for baremetal drivers
eb8d7d6a8 Implement system scoped RBAC for chassis
4fe64c970 Implement system scoped RBAC for port groups
34edc6444 Implement "system" scoped RBAC for ports
b0d8d1406 Implement "system" scoped RBAC for the node endpoint
b66471e39 Add support for using NVMe specific cleaning
8e458d89b Trivial: fix incorrect ordering in iLO tests
52c01f87c Enforce autospec in test_notification_utils module
6ed75bc6c Enforce autospec in test_node
16e3c6662 Correct release mappings for 16.2
73bdebd12 Fix broken configdrive_use_object_store
6e09a008a Replace pysendfile with os.sendfile
cf5deb77a Validate configdrive string format
437cae984 Enforce autospec in test_chassis
b0607a266 Replace retrying with tenacity
414f0ca24 Switch multinode jobs to 512M RAM
bb30f9945 Add some tuning documentation
7c8d1e1e7 Move the IPv6 job to the experimental pipeline
e3ccb9ec2 Address some rbac review feedback in merged patches
189b5e40c devstack: support installing ironic-lib from source in DIB IPA
e36d7af09 Report the slowest tests after a test run
05df3d7aa Use OOB inspection to fetch MACs for IB inspection
7d4c1214f Add support to manage certificates in iLO
94ba2641e Update oslo.policy requirement to version 3.6.2
1aea2040d More GPU support in idrac-wsman inspect interface
fb3f6726d [doc-only] Add BFV basic flow and networking context


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

.../source/baremetal-api-v1-node-management.inc    |    5 +
api-ref/source/parameters.yaml                     |    8 +
devstack/lib/ironic                                |   20 +
driver-requirements.txt                            |    6 +-
ironic/api/controllers/v1/allocation.py            |  141 +-
ironic/api/controllers/v1/bios.py                  |    8 +-
ironic/api/controllers/v1/node.py                  |  284 ++-
ironic/api/controllers/v1/port.py                  |   62 +-
ironic/api/controllers/v1/portgroup.py             |  103 +-
ironic/api/controllers/v1/ramdisk.py               |   33 +-
ironic/api/controllers/v1/utils.py                 |  415 +++-
ironic/api/controllers/v1/versions.py              |    8 +-
ironic/api/controllers/v1/volume_connector.py      |   61 +-
ironic/api/controllers/v1/volume_target.py         |   87 +-
ironic/common/context.py                           |    3 +
ironic/common/driver_factory.py                    |   33 +-
ironic/common/exception.py                         |    8 +
ironic/common/glance_service/image_service.py      |   17 +-
ironic/common/glance_service/service_utils.py      |    7 +
ironic/common/image_service.py                     |   11 +-
ironic/common/json_rpc/__init__.py                 |   20 -
ironic/common/json_rpc/client.py                   |  207 --
ironic/common/json_rpc/server.py                   |  293 ---
ironic/common/molds.py                             |  112 +
ironic/common/neutron.py                           |   23 +-
ironic/common/policy.py                            | 2016 ++++++++++++----
ironic/common/pxe_utils.py                         |  270 ++-
ironic/common/release_mappings.py                  |   30 +-
ironic/common/rpc_service.py                       |    6 +-
ironic/common/swift.py                             |    7 +-
ironic/common/utils.py                             |   30 +-
ironic/conductor/allocations.py                    |   13 +-
ironic/conductor/cleaning.py                       |   51 +-
ironic/conductor/deployments.py                    |    3 +-
ironic/conductor/manager.py                        |   24 +-
ironic/conductor/rpcapi.py                         |   33 +-
ironic/conductor/steps.py                          |   63 +-
ironic/conductor/task_manager.py                   |   98 +-
ironic/conductor/utils.py                          |    7 +-
ironic/conf/__init__.py                            |    6 +-
ironic/conf/anaconda.py                            |   36 +
ironic/conf/api.py                                 |    4 +
ironic/conf/conductor.py                           |   13 +
ironic/conf/default.py                             |   22 +
ironic/conf/deploy.py                              |   47 +-
ironic/conf/drac.py                                |    7 +-
ironic/conf/ilo.py                                 |    9 +
ironic/conf/ipmi.py                                |    5 +
ironic/conf/json_rpc.py                            |   61 -
ironic/conf/molds.py                               |   41 +
ironic/conf/opts.py                                |   21 +-
ironic/conf/redfish.py                             |   10 +
ironic/db/api.py                                   |   31 +-
ironic/db/sqlalchemy/api.py                        |   73 +-
ironic/dhcp/neutron.py                             |   40 +-
ironic/drivers/base.py                             |   26 +-
ironic/drivers/drac.py                             |    5 +-
ironic/drivers/generic.py                          |    3 +-
ironic/drivers/modules/agent.py                    |   18 +
ironic/drivers/modules/agent_base.py               |   34 +-
ironic/drivers/modules/agent_client.py             |   32 +-
ironic/drivers/modules/agent_power.py              |   16 +-
ironic/drivers/modules/ansible/deploy.py           |   46 +-
ironic/drivers/modules/deploy_utils.py             |   43 +-
ironic/drivers/modules/drac/bios.py                |   20 +-
ironic/drivers/modules/drac/inspect.py             |  133 +-
ironic/drivers/modules/drac/job.py                 |   11 +-
ironic/drivers/modules/drac/management.py          |  459 +++-
ironic/drivers/modules/drac/raid.py                |  164 ++
ironic/drivers/modules/ibmc/utils.py               |   11 +-
ironic/drivers/modules/ilo/boot.py                 |   93 +-
ironic/drivers/modules/ilo/common.py               |  173 +-
ironic/drivers/modules/ilo/inspect.py              |    7 +
ironic/drivers/modules/ilo/management.py           |   32 +
ironic/drivers/modules/image_utils.py              |  144 +-
ironic/drivers/modules/inspector.py                |   18 +-
ironic/drivers/modules/ipmitool.py                 |   78 +
ironic/drivers/modules/ipxe_config.template        |    6 +
ironic/drivers/modules/irmc/boot.py                |   42 +-
ironic/drivers/modules/irmc/common.py              |   21 +
ironic/drivers/modules/irmc/management.py          |   32 +
ironic/drivers/modules/iscsi_deploy.py             |    9 +-
ironic/drivers/modules/ks.cfg.template             |   37 +
ironic/drivers/modules/network/common.py           |   12 +-
ironic/drivers/modules/network/flat.py             |    3 +-
ironic/drivers/modules/network/neutron.py          |    2 +-
ironic/drivers/modules/pxe.py                      |  118 +-
ironic/drivers/modules/pxe_base.py                 |   33 +-
ironic/drivers/modules/pxe_config.template         |    5 +
ironic/drivers/modules/redfish/boot.py             |  129 +-
ironic/drivers/modules/redfish/inspect.py          |   62 +-
ironic/drivers/modules/redfish/management.py       |   39 +-
ironic/drivers/modules/redfish/raid.py             | 1145 +++++++++
ironic/drivers/modules/redfish/utils.py            |   80 +-
ironic/drivers/modules/redfish/vendor.py           |    2 +-
ironic/drivers/modules/storage/cinder.py           |   11 +-
ironic/drivers/redfish.py                          |    7 +
ironic/objects/portgroup.py                        |   18 +-
ironic/objects/volume_connector.py                 |   13 +-
ironic/objects/volume_target.py                    |   19 +-
.../unit/api/controllers/v1/test_allocation.py     |   87 +-
.../api/controllers/v1/test_notification_utils.py  |    7 +-
.../unit/api/controllers/v1/test_portgroup.py      |  225 +-
.../api/controllers/v1/test_volume_connector.py    |   56 +-
.../unit/api/controllers/v1/test_volume_target.py  |   55 +-
.../drivers/ipxe_config_boot_from_iso.template     |    6 +
...e_config_boot_from_volume_extra_volume.template |    6 +
...ipxe_config_boot_from_volume_multipath.template |   62 +
...nfig_boot_from_volume_no_extra_volumes.template |    6 +
.../unit/drivers/ipxe_config_timeout.template      |    6 +
.../unit/drivers/modules/drac/test_inspect.py      |  216 +-
.../unit/drivers/modules/drac/test_management.py   |  646 ++++-
.../unit/drivers/modules/irmc/test_inspect.py      |   17 -
.../unit/drivers/modules/network/test_common.py    |  150 +-
.../unit/drivers/modules/network/test_flat.py      |   23 +-
.../unit/drivers/modules/network/test_neutron.py   |   84 +-
.../unit/drivers/modules/redfish/test_boot.py      |  143 +-
.../unit/drivers/modules/redfish/test_inspect.py   |  119 +
.../drivers/modules/redfish/test_management.py     |  100 +-
.../unit/drivers/modules/redfish/test_raid.py      |  862 +++++++
.../unit/drivers/modules/redfish/test_utils.py     |   29 +-
.../unit/drivers/modules/test_agent_client.py      |   18 +-
.../unit/drivers/modules/test_console_utils.py     |   81 +-
.../unit/drivers/modules/test_deploy_utils.py      |   32 +-
.../unit/drivers/modules/test_iscsi_deploy.py      |    8 +-
.../unit/drivers/third_party_driver_mock_specs.py  |    2 +
.../add-clean-steps-priority-88d7de5973500a7d.yaml |    4 +
...d-config-mold-steps-idrac-1773d81953209964.yaml |    8 +
.../add-dual-stack-dhcp-opts-6dc18ae10aeb599a.yaml |    5 +
...d-kernel-param-config-ilo-9b2cee8b0447f82e.yaml |   12 +
...xe-nic-support-in-redfish-5359897135df1348.yaml |    7 +
...d-support-to-manage_certs-b6615e15f697bc26.yaml |    7 +
.../adds-nvme-erase-switch-fa91e867e45ede3c.yaml   |   14 +
...ns-restricted-rbac-create-2847943150656432.yaml |   13 +
...anaconda-deploy-interface-c04932f6f469227a.yaml |   17 +
.../notes/ansible-fast-track-cbecb132b6ff2b14.yaml |    4 +
.../cipher_suite_versions-c64644860d3c220d.yaml    |    6 +
.../notes/configdrive-format-1b11f6068bd742cd.yaml |    6 +
...figdrive_use_object_store-93cfd7dc27d90003.yaml |    5 +
.../notes/disable-ramdisk-5156a009812fbb17.yaml    |   13 +
.../notes/external-ip-5ec9b7b55a90cec4.yaml        |   13 +
...ix-grub2-config-file-name-88e689a982a21684.yaml |    7 +
...-vmedia-boot-method-label-8008f49ace96f1cc.yaml |   15 +
...async-step-error-handling-80cd30c54c71c595.yaml |    8 +
.../gpu_dynamic_capabilities-b56b90549882b6c2.yaml |    7 +
...drac-add-more-gpu-support-c3e24d8471ed6759.yaml |    9 +
...-add-redfish-raid-support-414aad5e633a160f.yaml |    9 +
...e-info-interface-override-287c7fcff1081469.yaml |    7 +
.../network_data_schema-9342edf3c47b2a66.yaml      |    5 +
.../prelude-for-seventeen-638544be837c54fa.yaml    |   34 +
.../project-scoped-rbac-063c44ba593bb82a.yaml      |   45 +
.../redfish-autocreate-ports-53712a46dadd8203.yaml |    6 +
...ride-not-present-handling-92e7263617e467c4.yaml |    9 +
.../notes/redfish-config-usb-3e9a7543b2912ae7.yaml |   11 +
.../notes/redfish-deploy-iso-60873289278bf28f.yaml |    5 +
.../redfish-raid-interface-e362e7a0e7140962.yaml   |   10 +
.../redfish_mgmt_clean_steps-c983a8858835046d.yaml |    9 +
.../notes/releasenote-b3b25c13ea1e2844.yaml        |    6 +
.../remove-extra-vif-port-id-ea4e59176c2065fd.yaml |    8 +
...fter-device-to-supermicro-218e8cb57735c685.yaml |   11 +
...bac-api-version-increment-1785544f54a487b3.yaml |   10 +
...tem-scoped-authentication-28e3651de250bea8.yaml |   32 +
.../taskmanager-lazy-load-32a14526c647c2f0.yaml    |    9 +
.../notes/volume-multipath-63b96f8331e771ae.yaml   |    7 +
requirements.txt                                   |    7 +-
setup.cfg                                          |    3 +
tools/config/ironic-config-generator.conf          |    1 +
tox.ini                                            |   17 +-
zuul.d/ironic-jobs.yaml                            |   82 +-
zuul.d/project.yaml                                |   18 +-
250 files changed, 19107 insertions(+), 4885 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index 55d076e36..457040ed4 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -7 +7 @@
-proliantutils>=2.10.0
+proliantutils>=2.11.0
@@ -14 +14 @@ python-xclarityclient>=0.1.6
-sushy>=3.6.0
+sushy>=3.7.0
@@ -23 +23 @@ python-ibmcclient>=0.2.2,<0.3.0
-sushy-oem-idrac<2.0.0
+sushy-oem-idrac>=2.1.0,<3.0.0
diff --git a/requirements.txt b/requirements.txt
index df346381b..ca59703cc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13 +13 @@ keystoneauth1>=4.2.0 # Apache-2.0
-ironic-lib>=4.3.0 # Apache-2.0
+ironic-lib>=4.6.1 # Apache-2.0
@@ -17 +16,0 @@ stevedore>=1.20.0 # Apache-2.0
-pysendfile>=2.0.0;sys_platform!='win32' # MIT
@@ -25 +24 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=3.6.0 # Apache-2.0
+oslo.policy>=3.6.2 # Apache-2.0
@@ -39 +38 @@ oslo.messaging>=5.29.0 # Apache-2.0
-retrying!=1.3.0,>=1.2.3 # Apache-2.0
+tenacity>=6.2.0  # Apache-2.0






More information about the Release-announce mailing list