[release-announce] ironic 11.0.0 (rocky)

no-reply at openstack.org no-reply at openstack.org
Thu Jul 5 10:24:18 UTC 2018


We are gleeful to announce the release of:

ironic 11.0.0: OpenStack Bare Metal Provisioning

This release is part of the rocky release series.

The source is available from:

    https://git.openstack.org/cgit/openstack/ironic

Download the package from:

    https://tarballs.openstack.org/ironic/

Please report issues through launchpad:

    https://bugs.launchpad.net/ironic

For more details, please see below.

11.0.0
^^^^^^


Prelude
*******

I R O N I C turns the dial to *11* In preparation for the OpenStack
Rocky development cycle release, the "ironic" Bare Metal as a Service
team announces the release of version 11.0. While it is not quite like
a volume knob, this release lays the foundation for features coming in
future releases and user experience enhancements. Some of these
include the BIOS configuration framework, power fault recovery,
additonal error handling, refactoring, removal of classic drivers, and
many bug fixes.


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

* Adds the healthcheck middleware from oslo, configurable via the
  "[healthcheck]/enabled" option. This middleware adds a status check
  at */healthcheck*. This is useful for load balancers to determine if
  a service is up (and add or remove it from rotation), or for
  monitoring tools to see the health of the server. This endpoint is
  unauthenticated, as not all load balancers or monitoring tools
  support authenticating with a health check endpoint.

* Adds support to abort the inspection of a node in the "inspect
  wait" state, as long as this operation is supported by the inspect
  interface in use. A node in the "inspect wait" state accepts the
  "abort" provisioning verb to initiate the abort process. This
  feature is supported by the "inspector" inspect interface and is
  available starting with API version 1.41.

* Adds support for reading and changing the node's "bios_interface"
  field and enables the GET endpoints to check BIOS settings, if they
  have already been cached. This requires a compatible
  "bios_interface" to be set. This feature is available starting with
  API version 1.40.

* The new ironic configuration setting "[deploy]/default_boot_mode"
  allows the operator to set the default boot mode when ironic can't
  pick boot mode automatically based on node configuration, hardware
  capabilities, or bare-metal machine configuration.

* Adds support to the "redfish" management interface for reading and
  setting bare metal node's boot mode.

* Adds new Power Distribution Unit (PDU) "snmp" driver type -
  BayTech MRP27.

* Adds new "auto" type of the "driver_info/snmp_driver" setting
  which makes ironic automatically select a suitable SNMP driver type
  based on the "SNMPv2-MIB::sysObjectID" value as reported by the PDU
  being managed.

* Adds SNMPv3 message authentication and encryption features to
  ironic "snmp" hardware type. To enable these features, the following
  parameters should be used in the node's "driver_info":

  * "snmp_user"

  * "snmp_auth_protocol"

  * "snmp_auth_key"

  * "snmp_priv_protocol"

  * "snmp_priv_key"

  Also adds support for the "context_engine_id" and "context_name"
  parameters of SNMPv3 message at ironic "snmp" hardware type. They
  can be configured in the node's "driver_info".

* Add "?detail=" boolean query to the API list endpoints to provide
  a more RESTful alternative to the existing "/nodes/detail" and
  similar endpoints. The default is False. Now these API requests are
  possible:

  * "/nodes?detail=True"

  * "/ports?detail=True"

  * "/chassis?detail=True"

  * "/portgroups?detail=True"

* Adds "external" storage interface which is short for "externally
  managed". This adds logic to allow the Bare Metal service to
  identify when a BFV scenario is being requested based upon the
  configuration set for "volume targets".

  The user must create the entry, and no syncronizaiton with a Block
  Storage service will occur. Documentation
  (https://docs.openstack.org/ironic/latest/admin/boot-from-
  volume.html#use-without-cinder) has been updated to reflect how to
  use this interface.

* Adds the "[deploy]enable_ata_secure_erase" option which allows an
  operator to disable ATA Secure Erase for all nodes being managed by
  the conductor. This setting defaults to "True" which aligns with the
  prior behavior of the Bare Metal service.

* Adds new parameter fields to driver_info, which will become
  mandatory in Stein release:

  * "xclarity_manager_ip": IP address of the XClarity Controller.

  * "xclarity_username": Username for the XClarity Controller.

  * "xclarity_password": Password for XClarity Controller username.

  * "xclarity_port": Port to be used for XClarity Controller
    connection.

* Adds support for the "ipmitool" power interface to the "irmc"
  hardware type.

* Adds support for the "fault" field in the node, beginning with API
  version 1.42. This field records the fault, if any, detected by
  ironic for a node. If no fault is detected, the "fault" is "None".
  The "fault" field value is set to one of following values according
  to different circumstances:

  * "power failure": when a node is put into maintenance due to
    power sync failures that exceed max retries.

  * "clean failure": when a node is put into maintenance due to
    failure of a cleaning operation.

  * "rescue abort failure": when a node is put into maintenance due
    to failure of cleaning up during rescue abort.

  The "fault" field will be set to "None" if an operator manually set
  maintenance to "False". The "fault" field can be used as a filter
  for querying nodes.

* Adds power failure recovery to ironic. For nodes that ironic had
  put into maintenance mode due to power failure, ironic periodically
  checks their power state, and moves them out of maintenance mode
  when power state can be retrieved. The interval of this check is
  configured via "[conductor]power_failure_recovery_interval"
  configuration option, the default value is 300 (seconds). Set to 0
  to disable this behavior.

* Adds support for RAID 1 creation on Dell Boot Optimized Storage
  Solution (BOSS).

* Adds support for rescue interface "agent" for the "ilo" hardware
  type when the corresponding boot interface being used is "ilo-
  virtual-media". The supported values of the rescue interface for the
  "ilo" hardware type are "agent" and "no-rescue". The default value
  is "no-rescue".

* Adds support for rescue interface "agent" for the "irmc" hardware
  type when the corresponding boot interface is "irmc-virtual-media".
  The supported values of rescue interface for "irmc" hardware type
  are "agent" and "no-rescue". The default value is "no-rescue".

* Issuing a SIGHUP (e.g. "pkill -HUP ironic") to an ironic-api or
  ironic-conductor service will cause the service to reload and use
  any changed values for *mutable* configuration options. The mutable
  configuration options are:

  * [DEFAULT]/debug

  * [DEFAULT]/log_config_append

  * [DEFAULT]/pin_release_version

  Mutable configuration options are indicated as such in the sample
  configuration file
  (https://docs.openstack.org/ironic/latest/configuration/sample-
  config.html) by "Note: This option can be changed without
  restarting".

  A warning is logged for any changes to immutable configuration
  options.


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

* Adds an "inspect wait" state to handle asynchronous hardware
  introspection. Caution should be taken due to the timeout monitoring
  is shifted from "inspecting" to "inspect wait", please stop all
  running asynchronous hardware inspection or wait until it is
  finished before upgrading to the Rocky release. Otherwise nodes in
  asynchronous inspection will be left at "inspecting" state forever
  unless the database is manually updated.

* Extends the "instance_info" column in the nodes table for
  MySQL/MariaDB from up to 64KiB to up to 4GiB (type is changed from
  TEXT to LONGTEXT). This upgrade will not be executed on PostgreSQL
  as its TEXT is unlimited.

* To use CoreOS based deploy/cleaning ramdisk built using Ironic
  Python Agent from the Rocky release, Ironic should be upgraded to
  the Rocky release if PXE is used. Otherwise, a node cannot be
  deployed or cleaned because the IPA fails to boot due to an
  unsupported parameter passed via PXE. See bug 2002093
  (https://storyboard.openstack.org/#!/story/2002093) for details.

* With the deploy ramdisk based on Ironic Python Agent version 3.1.0
  and beyond, the drivers using "direct" deploy interface performs
  "netboot" or "local" boot for whole disk image based on value of
  boot option setting. When you upgrade Ironic Python Agent in your
  deploy ramdisk, ensure that boot option is set appropriately for the
  node. The boot option can be set using configuration
  "[deploy]/default_boot_option" or as a "boot_option" capability in
  node's "properties['capabilities']". Also please note that this
  functionality requires "hexdump" command in the ramdisk.

* "ironic-dbsync online_data_migrations" will migrate any port's and
  port group's extra['vif_port_id'] value to their
  internal_info['tenant_vif_port_id']. For API versions >= 1.28, the
  ability to attach/detach the VIF via the port's or port group's
  extra['vif_port_id'] will not be supported starting with the Stein
  release.

  Any out-of-tree network interface implementations that had a
  different behavior in support of attach/detach VIFs via the port or
  port group's extra['vif_port_id'] must be updated appropriately.

* It is no longer possible to load a classic driver. Only hardware
  types are supported from now on.

* The "/v1/drivers/?type=classic" API always returns an empty list
  since classic drivers can no longer be loaded.

* The deprecated iDRAC classic drivers "pxe_drac" and
  "pxe_drac_inspector" have been removed. Please use the "idrac"
  hardware type.

* The deprecated iLO classic drivers "pxe_ilo", "iscsi_ilo" and
  "agent_ilo" have been removed. Please use the "ilo" hardware type.

* The deprecated classic drivers "pxe_ipmitool" and "agent_ipmitool"
  have been removed. Please use the "ipmi" hardware type instead.

* The deprecated classic drivers "pxe_irmc", "agent_irmc" and
  "iscsi_irmc" have been removed. Please use the "irmc" hardware type.

* The deprecated classic drivers "iscsi_pxe_oneview" and
  "agent_pxe_oneview" have been removed. Please use the "oneview"
  hardware type.

* The deprecated "pxe_snmp" classic driver has been removed. Please
  use the "snmp" hardware type instead.

* The deprecated classic drivers "pxe_ucs" and "agent_ucs" have been
  removed. Please use the "cisco-ucs-managed" hardware type.

* The deprecated classic drivers "pxe_iscsi_cimc" and
  "pxe_agent_cimc" have been removed. Please use the "cisco-ucs-
  standalone" hardware type.

* All fake classic drivers, deprecated in the Queens release, have
  been removed. This includes:

  * "fake"

  * "fake_agent"

  * "fake_cimc"

  * "fake_drac"

  * "fake_ilo"

  * "fake_inspector"

  * "fake_ipmitool"

  * "fake_ipmitool_socat"

  * "fake_irmc"

  * "fake_oneview"

  * "fake_pxe"

  * "fake_snmp"

  * "fake_soft_power"

  * "fake_ucs"

  Please use the "fake-hardware" hardware type instead (you can
  combine it with any other interfaces, fake or real).

* Adds a new configuration option "[disk_utils]partprobe_attempts"
  which defaults to 10. This is the maximum number of times to try to
  read a partition (if creating a config drive) via a "partprobe"
  command. Set it to 1 if you want the previous behavior, where no
  retries were done.

* Power failure recovery introduces a new configuration option
  "[conductor]power_failure_recovery_interval", which is enabled and
  set to 300 seconds by default. In case the default value is not
  suitable for the needs or scale of a deployment, please make
  adjustment or turn it off during upgrade.

* Power failure recovery does not apply to nodes that were in
  maintenance mode due to power failure before upgrade, they have to
  be manually moved out of maintenance mode.

* Deprecated options "ansible_deploy_username" and
  "ansible_deploy_key_file" in node driver_info for the "ansible"
  deploy interface were removed and will be ignored. Use
  "ansible_username" and "ansible_key_file" options in the node
  driver_info respectively.

* The behavior for retention of VIF interface attachments has
  changed.

  If your use of the Bare Metal service is reliant upon the behavior
  of the VIFs being retained, which was introduced as a behavior
  change during the Ocata cycle, then you must update your tooling to
  explicitly re-add the VIF attachments prior to deployment.

* Deprecated option "[keystone]\region_name" was removed and will be
  ignored. Instead use "region_name" option in other sections related
  to contacting other services ("[service_catalog]", "[cinder]",
  "[glance]", "[neutron]", ["swift"] and "[inspector]").

  As the option "[keystone]\region_name" was the only option in
  "[keystone]" section of ironic configuration file, this section was
  removed as well.


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

* Adds an "inspect wait" state to handle asynchronous hardware
  introspection. The "[conductor]inspect_timeout" configuration option
  is deprecated for removal, please use
  "[conductor]inspect_wait_timeout" instead to specify the timeout of
  inspection process.

* Deprecates the "snmp_security" field in "driver_info" for ironic
  "snmp" hardware type, it will be removed in Stein release. Please
  use "snmp_user" field instead.

* The "[inspector]enabled" configuration option is deprecated. It
  only affected classic drivers, and with their removal it no longer
  has any effect. Use the "enabled_inspect_interfaces" option to
  enable/disable support for ironic-inspector.

* The "oneview" hardware type, as well as the supporting driver
  interfaces have been deprecated and are scheduled to be removed from
  ironic in the Stein development cycle. This is due to the lack of
  operational Third Party testing to help ensure that the support for
  Oneview is functional. Oneview Third Party CI was shutdown just
  prior to the start of the Rocky development cycle, and at the time
  of this deprecation the Ironic community has no indication that
  testing will be restablished. Should testing be restablished, this
  deprecation shall be rescinded.

* Configuration options "[xclarity]/manager_ip",
  "[xclarity]/username", and "[xclarity]/password" are deprecated and
  will be removed in the Stein release.

* The "enabled_drivers" option is now deprecated. Since classic
  drivers can no longer be loaded, setting this option to anything
  non-empty will result in the conductor failing to start.


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

* Fixes an issue where an enabled console could be left running
  after a node was unprovisioned.  This allowed a user to view the
  console even after the instance was gone. Ironic now stops the
  console during unprovisioning to block this.

* Xclarity password specified in configuration file is now properly
  masked during logging.


Bug Fixes
*********

* Fixes bug 1749755 (https://bugs.launchpad.net/ironic/+bug/1749755)
  causing timeouts to not work properly because an unsupported
  sqalchemy filter was being used.

* Adds more "ipmitool" error messages to be treated as retryable by
  the ipmitool interfaces (such as power and management hardware
  interfaces). Specifically, "Node busy", "Timeout", "Out of space"
  and "BMC initialization in progress" reporting emitted by "ipmitool"
  will cause ironic to retry IPMI command. This change should improve
  the reliability of IPMI-based communicaton with BMC.

* If the bare metal machine's boot mode differs from the requested
  one, ironic will now attempt to set requested boot mode on the bare
  metal machine and fail explicitly if the driver does not support
  setting boot mode on the node.

* The config drive passed to the node can now contain more than
  64KiB in case of MySQL/MariaDB. For more details see bug 1596421
  (https://bugs.launchpad.net/ironic/+bug/1596421).

* Fixes a bug preventing a node from booting into the user instance
  after unrescuing if instance netboot is used. See bug 1749433
  (https://bugs.launchpad.net/ironic/+bug/1749433) for details.

* Fixes rescue timeout due to incorrect kernel parameter in the iPXE
  script. See bug 1749860
  (https://bugs.launchpad.net/ironic/+bug/1749860) for details.

* Fixes a bug where a node's hardware type cannot be changed to
  another hardware type which doesn't support any hardware interface
  currently used. See bug 2001832
  (https://storyboard.openstack.org/#!/story/2001832) for details.

* Fixes a bug that exposes an internal node ID in an error message
  when requested to delete a trait which doesn't exist. See bug
  2002062 (https://storyboard.openstack.org/#!/story/2002062) for
  details.

* When a conductor managing a node dies mid-cleaning the node would
  get stuck in the CLEANING state. Now upon conductor startup nodes in
  the CLEANING state will be moved to the CLEANFAIL state.

* Fixes an issue where parameters required in driver_info and
  descriptions in documentation are different.

* Fixes an issue with validation of Infiniband ports. Infiniband
  ports do not require the "local_link_connection" field to be
  populated as the network topology is discoverable by the Infiniband
  Subnet Manager. See bug 1753222 (https://launchpad.net/bugs/1753222)
  for details.

* Fixes an issue where RAID 10 creation fails with greater than 16
  drives when using the "idrac" hardware type.  See bug 2002771
  (https://storyboard.openstack.org/#!/story/2002771) for details.

* Adds missed noop implementations (e.g. "no-inspect") to the "fake-
  hardware" hardware type. This fixes enabling this hardware type
  without enabling all (even optional) "fake" interfaces.

* Fixes an issue seen during cleaning when the node being cleaned
  has one or more traits assigned. This issue caused cleaning to fail,
  and the node to enter the "clean failed" state.  See bug 1750027
  (https://bugs.launchpad.net/ironic/+bug/1750027) for details.

* Fixes an issue with iPXE where the incorrect iscsi volume
  authentication data was being used with boot from volume when multi-
  attach volumes were present.

* Fixes "direct" deploy interface to invoke "boot.prepare_instance"
  irrespective of image type being provisioned. It was calling
  "boot.prepare_instance" only if the image being provisioned is a
  partition image. See bugs 1713916
  (https://storyboard.openstack.org/#!/story/1713916) and 1750958
  (https://storyboard.openstack.org/#!/story/1750958) for details.

* Fixes the HTTP response code for a validation failure when
  attempting to move an ironic node to the active state. Validation
  failure in this scenario now responses with a 400 status code
  correctly indicating a user input error.

* Fixes an issue where node ramdisk heartbeat operations would
  collide with conductor locks and erroniously record an error in
  node's "last_error" field.

* Fixes collection of periodic tasks from hardware interfaces that
  are not used in any enabled classic drivers. See bug 2001884
  (https://storyboard.openstack.org/#!/story/2001884) for details.

* The periodic tasks for the "inspector" inspect interface are no
  longer disabled if the "[inspector]enabled" option is not set to
  "True". The help string of this option claims that it does not apply
  to hardware types. In any case, the periodic tasks are only run if
  any enabled classic driver or hardware interface requires them.

* Fixes a compatability issue where the iPXE kernel command line was
  no longe compatible with dracut. The "ip" parameter has been removed
  as it is incompatible with the "BOOTIF" and missing "autoconf"
  parameters when dracut is used. Further details can be found in
  storyboard (https://storyboard.openstack.org/#!/story/2001969).

* Fixes empty "last_error" field on cleaning failures.

* Fixes an issue where only nodes in "DEPLOYING" state would have
  locks cleared for the nodes. Now upon node take over, any locks that
  are left from the old conductor are cleared by the new one.

* Adds a new configuration option "[disk_utils]partprobe_attempts"
  which defaults to 10. This is the maximum number of times to try to
  read a partition (if creating a config drive) via a "partprobe"
  command. Previously, no retries were done which caused failures.
  This addresses bug 1756760
  (https://storyboard.openstack.org/#!/story/1756760).

* Fixes rare race condition which resulted in the port list API
  returning HTTP 400 (bad request) if some nodes were being removed in
  parallel. See bug 1748893 (https://bugs.launchpad.net/bugs/1748893)
  for details.

* Fixes an issue where no error was raised if there were no PXE-
  enabled ports available for the node, when creating a neutron port.
  See bug 2001811 (https://storyboard.openstack.org/#!/story/2001811)
  for more details.

* Fixes potential case of VIF records being orphaned as the service
  now removes all records of VIF attachments upon the teardown of a
  deployed node. This is in order to resolve issues related to where
  it is operationally impossible in some circumstances to remove a VIF
  attachment while a node is being undeployed as the Compute service
  will only attempt to remove the VIF for five minutes.

  See bug 1743652 (https://bugs.launchpad.net/ironic/+bug/1743652) for
  more details.

* Ironic API now returns "503 Service Unavailable" for action
  requiring a conductor when no conductors are online. Bug: 2002600
  (https://storyboard.openstack.org/#!/story/2002600).

* Fixes an issue seen during node tear down where a port being
  deleted by the Bare Metal service could be deleted by the Compute
  service, leading to an unhandled error from the Networking service.
  See story 2002637 for further details.

* Fixes an issue where the "ilo" hardware type would not properly
  update the boot mode on the bare metal machine for cleaning as per
  given "boot_mode" in node's properties/capabilities. See bug 1559835
  (https://bugs.launchpad.net/ironic/+bug/1559835) for more details.

* During node cleaning, the conductor was using a cached copy of the
  node's driver_internal_info field. It is possible that the copy is
  outdated, which would cause issues with the state of the node. This
  has been fixed. For more information, see bug 2002688
  (https://storyboard.openstack.org/#!/story/2002688).

* Fixes an issue where a node's "instance_info.traits" field could
  be incorrectly formatted, or contain traits that are not traits of
  the node. When validating drivers and prior to deployment, the Bare
  Metal service now validates that a node's traits include all the
  traits in its "instance_info.traits" field.  See bug 1755146
  (https://bugs.launchpad.net/ironic/+bug/1755146) for details.

* Reverts the fix for orphaned VIF records from the previous
  release, as it causes a regression. See bug 1750785
  (https://bugs.launchpad.net/ironic/+bug/1750785) for details.


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

* Adds an "inspect wait" state to handle asynchronous hardware
  introspection. Returning "INSPECTING" from the "inspect_hardware"
  method of inspect interface is deprecated, "INSPECTWAIT" should be
  returned instead.

* Adds "get_boot_mode", "set_boot_mode" and
  "get_supported_boot_modes" methods to driver management interface.
  Drivers can override these methods implementing boot mode management
  calls to the BMC of the baremetal nodes being managed.

* Adds new method "validate_rescue()" to boot interface to validate
  node's properties related to rescue operation. This method is called
  by the validate() method of rescue interface.

* For out-of-tree drivers that have vendor passthru methods
  (https://docs.openstack.org/ironic/latest/contributor/vendor-
  passthru.html). The "async" parameter of the "passthru" and
  "driver_passthru" decorators is deprecated and will be removed in
  the Stein cycle. Please use its replacement instead, the
  "async_call" parameter. For more information, see bug 1751306
  (https://storyboard.openstack.org/#!/story/1751306).

* The conductor no longer tries to collect or report sensors data
  for nodes in maintenance mode. See bug 1652741
  (https://bugs.launchpad.net/bugs/1652741).

* On taking over nodes in "CLEANING" state, the new conductor moves
  them to the "CLEAN FAIL" state and sets maintenance.

* Removes the software metric named
  "validate_boot_option_for_trusted_boot". This was the timing for a
  short-lived, internal function that is already included in the
  "PXEBoot.validate" metric.

Changes in ironic 10.1.0..11.0.0
--------------------------------

53e7bae Remove support for creating and loading classic drivers
9d049f7 Add a prelude for version 11
c5fbf07 iDRAC RAID10 creation with greater than 16 drives
778662a Remove doc of classic drivers from the admin guide
194d042 Modifying 'whole_disk_image_url' and 'whole_disk_image_checksum' variable
51ab42e Follow-up to update doc for oneview driver
080f656 Small change of doc title for the drivers
a1fb291 Fix wrong in apidoc_excluded_paths
eac6834 Follow-up to update doc for ilo driver
ba0a782 Add BayTech MRP27 snmp driver type
bdd8d23 Follow-up to update doc for irmc driver
bd003c6 DevStack: Tiny changes following iRMC classic driver removal
5b4ce3d include all versions of Node in release_mappings
53048b9 Deprecate [inspector]enabled option
2e568bd Do not disable inspector periodic tasks if [inspector]enabled is False
1a07137 Remove the ipmitool classic drivers
80d6c14 Add snmp driver auto discovery
a896cc4 During cleaning, use current node.driver_internal_info
ce444aa Rename test class
3d8f3ec Remove the iRMC classic drivers
384f966 Remove the OneView classic drivers
6deb0c3 Remove the deprecated pxe_snmp driver
575640c Remove the deprecated classic drivers for Cisco UCS hardware
09e89c0 Remove the iDRAC classic drivers
10bc397 Separate unit tests into different classes
3f94f5d Add helper method for testing node fields
6c301e7 Fix conductor manager unit tests
9c7729d Remove the ilo classic drivers
b70b38e Move parse_instance_info_capabilities() to common utils.py
bfed31b Fix error when deleting a non-existent port
efa064b BIOS Settings: update admin doc
1b295f2 BIOS Settings: add bios_interface field in NodePayload
6acb6d9 BIOS Settings: update default BIOS setting version in db utils
176942c Add documentation for XClarity Driver
b2ecd08 Release note clean-ups for ironic release
e3d6681 Move boot-related code to boot_mode_utils.py
82fe2cb Raise TemporaryFailure if no conductors are online
b17c528 BIOS Settings: add sync_node_setting
01a9016 Fix for Unable to create RAID1 on Dell BOSS card
5795c57 Add an external storage interface
8c6010d fix typos
0b85240 fix typos
233d7d5 Add detail=[True, False] query string to API list endpoints
6b0290e Adds enable_ata_secure_erase option
2d3e7e9 Remove the remaining fake drivers
0b40813 Document that nova-compute attaches VIF to active nodes on start up
7c5f655 Added Redfish boot mode management
aaf17eb iRMC: Support ipmitool power interface with irmc hardware
2822e05 Doc: Remove -r option for running a specific unit test
de6cfdb Fix stestr has no lower bound in test-requirements
5e8f2e3 Adds boot mode support to ManagementInterface
d0dca90 Modify the Ironic api-ref's parameters in parameters.yaml
39d8b76 rectify 'a image ID' to 'an image ID'
3a39431 change 'a ordinary file ' to 'an ordinary file'
9a1dc71 Validating fault value when querying with fault field
0b0e257 change 'a optional path' to 'an optional path'
4f04124 Update links in README
495d738 Remove the fake_ipmitool, fake_ipmitool_socat and fake_snmp drivers
970f45a Add release notes link to README
a8c425a BIOS Settings: add admin doc
47c2b15 Remove deprecated [keystone] config section
f40f145 Make method public to support out-of-band cleaning
05e6dff Remove the fake_agent, fake_pxe and fake_inspector drivers
500ca21 Consolidate the setting of ironic-extra-vars
1a3a2c4 Remove deprecated ansible driver options
a64e119 Remove dulicate uses for zuul-cloner
64a90a6 Comply with PTI for Python testing
3a0fc77 fix tox python3 overrides
d951976 Remove the "fake" and "fake_soft_power" classic drivers
7fcca34 Completely stop using the "fake" classic driver in unit tests
8ee2f4b Power fault recovery follow up
4d020a6 Adds more `ipmitool` errors as retryable
2e7b2ba Stop using pxe_ipmitool in grenade
4bc142e Fix FakeBIOS to allow tempest testing
0c29837 Power fault recovery: Notification objects
b4c4eb9 Power fault recovery: API implementation
146bbb4 Add mock to doc requirements to fix doc build
1b5de91 Fix task_manager process_event docstring
bce7f11 Implements baremetal inspect abort
5dcfac0 Add the ability to setup enabled bios interfaces in devstack
fd805e2 [Doc] Scheduling needs validated 'management' interface
d27b276 Fix authentication issues along with add multi extra volumes
ca92183 Stop passing IP address to IPA by PXE
254d370 Add Node BIOS support - REST API
2288645 Follow up to power fault recovery db tests
0a1b165 Power fault recovery: apply fault
bae9e82 Reraise exception with converting node ID
44f4768 Gracefully handle NodeLocked exceptions during heartbeat
635f4a9 SNMPv3 security features added to the `snmp` driver
be1b6a3 Allow customizing libvirt NIC driver
a8e6fae Convert conductor manager unit tests to hardware types
a684883 Remove excessive usage of mock_the_extension_manager in unit tests - part 2
1d0f90c Improve exception handling in agent_base_vendor
580d433 Check pep8 without ignoring D000
d6deb1e Missing import of "_"
6b44f26 Power fault recovery: db and rpc implementation
af7c6c4 Change exception msg of BIOS caching
86a5a16 Remove excessive usage of mock_the_extension_manager in unit tests - part 1
2d46f48 Mark xclarity password as secret
2846852 Fix E501 errors
4197744 Fix tenant DeprecationWarning from oslo_context
f88d993 Fix tenant DeprecationWarning from oslo_context
7a8b26d Tear down console during unprovisioning
f6dd50d Fix XClarity parameters discrepancy
1a59ef9 Follow up to inspect wait implementation
5839bba Silence F405 errors
24c04d9 Fix W605 Errors
adaf918 Fix E305 Errors
530a3ed Fix W504 errors
3f460ba Gate fix: Cap hacking to avoid gate failure
3048eb8 Preserve env when running vbmc
6ff9a6b Make validation failure on node deploy a 4XX code
d2f2afa Install OSC during quickstart
02d8fa1 Ignore new errors until we're able to fix them
d017153 BIOS Settings: Add BIOS caching
1e24ef9 BIOS Settings: Add BIOSInterface
02aad83 Remove ip parameter from ipxe command line
863aa34 Clarify image_source with BFV
f2502cc Update install guide to require resource classes
6d84922 Fix error thrown by logging in common/neutron.py
0f404fa Add note to oneview docs re: derprecation
a6ae98f Deprecate Oneview
2d2298a Switch to the fake-hardware hardware type for API tests
3ae836d Remove the Keystone API V2.0 endpoint registration
ee04f56 Move API (functional) tests to separate jobs
d741556 Add unit test for check of glance image status
7784f40 Devstack plugin support for Redfish and Hardware
7ead206 Collect periodic tasks from all enabled hardware interfaces
acdc372 Stop verifying updated driver in creating task
9eaff34 BIOS Settings: Add RPC object
91251d1 fix a typo
909c267 Trivial: Update pypi url to new url
36ac298 Add more parameter explanation when create a node
97fdd62 Fix test_get_nodeinfo_list_with_filters
26694e0 Install reno to venv for creating release note
c6789ea Stop removing root uuid in vendor interfaces
4fa1075 Fix ``agent`` deploy interface to call ``boot.prepare_instance``
05dd405 Update wording used in removal of VIFs
b27396d [devstack] Switch ironic to uWSGI
5dda4ba Make ansible error message clearer
61b04cf BIOS Settings: Add DB API
c7e938c BIOS Settings: Add bios_interface db field
3ca9ec5 BIOS Settings: Add DB model
5c1d5a8 Clean up driver_internal_info after tear_down
75b654c Run jobs if requirements change
3a4e259 Remove vifs upon teardown
40a3fea uncap eventlet
655038b Update auth_uri option to www_authenticate_uri
6b91ba2 Resolve pep8 E402 errors and no longer ignore E402
ca91d4d Remove pycodestyle version pin. Add E402 and W503 to ignore.
fc15be6 Pin pycodestyle to <=2.3.1
804349e Check for PXE-enabled ports when creating neutron ports
6df82ee Implementation of inspect wait state
006950e Update Launchpad references to Storyboard
645c5fc Add reno for new config [disk_utils]partprobe_attempts
8aa46de Implement a function to check the image status
83c4ec9 Fix callback plugin for Ansible 2.5 compatability
7ba42e0 Follow the new PTI for document build
3e92382 Clarify deprecation of "async" parameter
34277f6 Fix incompatible requirement in lower-constraints
1ffa757 Reference architecture: small cloud with trusted tenants
9ea09fc Update and replace http with https for doc links
f5605d1 Assume node traits in instance trait validation
0f441ab Adding grub2 bootloader support to devstack plugin
739fa6c Describe unmasking fields in security document
37b85b6 Copy port[group] VIF info from extra to internal_info
aafa9ac DevStack: Enroll node with iRMC hardware
57bca71 Stop overriding tempdir in unit test
548a263 Uniformly capitalize parameter description
5f03daf Gate: run ironic tests in the regular multinode job
0267c27 Do not use async parameter
5bbeb8b Remove the link to the old drivers wiki page
9143ec7 add lower-constraints job
052782c Test driver-requirements changes on standalone job
2051f14 Updated from global requirements
b8725e5 Exclude Ansible 2.5 from driver-reqs
dcb8e82 Fix typos There are two 'the', delete one of them.
6843be2 fix typos in documentation
4f08f72 Fix nits in the XClarity Driver codebase.
d1cd215 Validate instance_info.traits against node traits
b93e5b0 Prevent overwriting of last_error on cleaning failures
7c3058a Infiniband Port Configuration update[1]
c9e079d Rework Bare Metal service overview in the install guide
261df51 Gate: stop setting IRONIC_ENABLED_INSPECT_INTEFACES=inspector
5f55422 Follow-up patch for rescue mode devstack change
ae25fc4 devstack: enabled fake-hardware and fake interfaces
30a557f Updated from global requirements
1d38ad8 Add descriptions for config option choices
f30b2eb devstack: add support for rescue mode
af02064 Updated from global requirements
f7da3f6 Implements validate_rescue() for IRMCVirtualMediaBoot
6bb5bd7 Updated from global requirements
013992b Update config option for collecting sensor data
cef19cb Use node traits during upgrade
c6694b7 multinode, multitenant grenade votes in gate
b6c521c zuul: Remove duplicated TEMPEST_PLUGIN entry
ac65ec6 Use more granular mocking in test_utils
90b9133 change python-libguestfs to python-guestfs for ubuntu
9f912c0 Update links in README
0ce6bce Updated from global requirements
07e2dbd Remove useless variable
dcebb77 Don't validate local_link_connection when port has client-id
cd3c011 Updated from global requirements
48d04b3 Update docstring to agent client related codes
fabcf1a Move execution of 'tools/check-releasenotes.py' to pep8
3984620 reloads mutable config values on SIGHUP
92f5dad Make grenade-mulinode voting again
843c773 tox.ini: flake8: Remove I202 from ignore list
c6f8d85 fix a typo in driver-property-response.json: s/doman/domain/
46ee76a Trivial: Remove the non ascii codes in tox.ini
c8ae245 Register traits on nodes in devstack
3edeb4c [devstack] block iPXE boot from HTTPS TempURLs
1b8f69d Fix issue with double mocking of utils.execute functions
216ad85 Updates boot mode on the baremetal as per `boot_mode`
c66679f Support nested objects and object lists in as_dict
08ed859 Revert "Don't try to lock for vif detach"
5694b98 Rework logic handling reserved orphaned nodes in the conductor
8f2e487 Set 'initrd' to 'rescue_ramdisk' for rescue with iPXE
253c377 Update iLO documentation for deprecating classical drivers
8fdf752 Increase the instance_info column size to LONGTEXT on MySQL/MariaDB
85581f3 Update release instructions wrt grenade
80f0859 [ansible] use manual-mgmt hw type in unit tests
6682a3d Use oslo_db.sqlalchemy.test_fixtures
93f376f Disable .pyc files for grenade multinode
f8f8f85 Add docs for ansible deploy interface
902fbbe Update comment and mock about autospec not working on staticmethods
4df93fc Build instance PXE options for unrescue
9bf5a28 Updated from global requirements
8af9e0b Fix default object versioning for Rocky
366a44a Allow sqalchemy filtering by id and uuid
52dcc64 Fix rare HTTP 400 from port list API
2921fe6 Clean nodes stuck in CLEANING state when ir-cond restarts
55454a3 Imported Translations from Zanata
708a698 tox: stop validating locale files
152f45c Switch contributor documentation to hardware types
f9a88a3 Stop using --os-baremetal-api-version in devstack by default
99a330a Conductor version cannot be null in Rocky
d81d2e7 Add 'Other considerations' to security doc
1372216 Updated from global requirements
628e71c Implements validate_rescue() for IloVirtualMediaBoot
75d3692 Update to standalone ironic doc
927c487 Remove too large configdrive for handling error
9bc1106 Added known issue to iDRAC driver docs
ce5fd96 Add missing noop implementations to fake-hardware
0642649 Stop running standalone tests for classic drivers
fddd58f Stop running non-voting jobs in gate
6f43941 Add optional healthcheck middleware
338c22b releasing docs: document stable jobs for the tempest plugin
e2e9b76 Add meaningful exception in Neutron port show
5233ef0 Clean up CI playbooks
2d0dab2 Fix broken log message.
1c16205 Add validate_rescue() method to boot interface
f5faf9c Empty commit to bump minor pre-detected version
a0a4796 Remove test_contains_current_release_entry
996d579 Fix grammar errors
6b995c0 Clean up RPC versions and database migrations for Rocky
9a2ebde Remove validate_boot_option_for_trusted_boot metric
bd1f109 Update reno for stable/queens
5aa7a19 Fixed some typos in test code.
cb5f513 cleanup: Remove usage of some_dict.keys()
21ef50e Do not send sensors data for nodes in maintenance mode
c934ae5 Remove the deprecated "giturl" option
e038b67 Add Error Codes
0eb138c Support setting inbound global-request-id


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

CONTRIBUTING.rst                                   |    4 +-
README.rst                                         |    9 +-
api-ref/source/baremetal-api-v1-chassis.inc        |   15 +-
.../source/baremetal-api-v1-node-management.inc    |   16 +-
api-ref/source/baremetal-api-v1-nodes-vifs.inc     |    4 +-
api-ref/source/baremetal-api-v1-nodes.inc          |   56 +-
api-ref/source/baremetal-api-v1-portgroups.inc     |    9 +-
api-ref/source/baremetal-api-v1-ports.inc          |   19 +-
api-ref/source/baremetal-api-v1-volume.inc         |    8 +-
api-ref/source/conf.py                             |   14 +-
api-ref/source/parameters.yaml                     |  243 +-
.../source/samples/driver-property-response.json   |    2 +-
bindep.txt                                         |    2 +-
devstack/files/apache-ironic-api.template          |   49 -
devstack/lib/ironic                                |  442 ++--
devstack/tools/ironic/scripts/configure-vm.py      |    1 +
devstack/tools/ironic/scripts/create-node.sh       |    5 +-
devstack/upgrade/from-queens/upgrade-ironic        |    5 +
devstack/upgrade/settings                          |    2 +
.../contributor/ironic-multitenant-networking.rst  |   16 +-
.../install/include/configure-ironic-api.inc       |    2 +-
.../refarch/small-cloud-trusted-tenants.rst        |  248 ++
ironic/api/app.py                                  |    9 +
ironic/api/config.py                               |    2 +-
ironic/api/controllers/base.py                     |    4 +-
ironic/api/controllers/v1/bios.py                  |  127 +
ironic/api/controllers/v1/chassis.py               |   21 +-
ironic/api/controllers/v1/driver.py                |   63 +-
ironic/api/controllers/v1/node.py                  |  258 +-
ironic/api/controllers/v1/port.py                  |   97 +-
ironic/api/controllers/v1/portgroup.py             |   59 +-
ironic/api/controllers/v1/ramdisk.py               |    5 +-
ironic/api/controllers/v1/types.py                 |    3 +-
ironic/api/controllers/v1/utils.py                 |  266 +-
ironic/api/controllers/v1/versions.py              |   14 +-
ironic/api/hooks.py                                |   18 +-
ironic/api/middleware/auth_token.py                |    2 +-
ironic/cmd/__init__.py                             |    4 +-
ironic/cmd/api.py                                  |    1 +
ironic/cmd/conductor.py                            |    2 +-
ironic/cmd/dbsync.py                               |   13 +-
ironic/common/boot_modes.py                        |   29 +
ironic/common/cinder.py                            |    8 +-
ironic/common/context.py                           |    2 +-
ironic/common/driver_factory.py                    |  321 +--
ironic/common/exception.py                         |   57 +-
ironic/common/faults.py                            |   27 +
ironic/common/fsm.py                               |    8 +-
ironic/common/glance_service/base_image_service.py |   19 +-
ironic/common/glance_service/service_utils.py      |   27 +-
ironic/common/glance_service/v2/image_service.py   |   18 +-
ironic/common/hash_ring.py                         |    3 +-
ironic/common/image_service.py                     |    4 +-
ironic/common/images.py                            |    8 +-
ironic/common/network.py                           |   37 +
ironic/common/neutron.py                           |   46 +-
ironic/common/policy.py                            |    7 +
ironic/common/pxe_utils.py                         |   13 +-
ironic/common/release_mappings.py                  |   54 +-
ironic/common/service.py                           |    2 +-
ironic/common/states.py                            |   36 +-
ironic/common/utils.py                             |   55 +-
ironic/common/wsgi_service.py                      |    4 +-
ironic/conductor/base_manager.py                   |  207 +-
ironic/conductor/manager.py                        |  647 +++--
ironic/conductor/rpcapi.py                         |    4 +
ironic/conductor/task_manager.py                   |   18 +-
ironic/conductor/utils.py                          |  176 +-
ironic/conf/__init__.py                            |    4 +-
ironic/conf/agent.py                               |    9 +-
ironic/conf/ansible.py                             |   12 +-
ironic/conf/conductor.py                           |   11 +-
ironic/conf/default.py                             |   45 +-
ironic/conf/deploy.py                              |   22 +-
ironic/conf/glance.py                              |    4 +-
ironic/conf/healthcheck.py                         |   29 +
ironic/conf/ilo.py                                 |    5 +-
ironic/conf/inspector.py                           |    6 +-
ironic/conf/irmc.py                                |   18 +-
ironic/conf/keystone.py                            |   33 -
ironic/conf/neutron.py                             |    4 +-
ironic/conf/opts.py                                |    2 +-
ironic/conf/pxe.py                                 |    3 +-
ironic/conf/xclarity.py                            |   19 +-
ironic/db/api.py                                   |  153 +-
...0b163d4481e_add_port_portgroup_internal_info.py |    6 +-
.../1a59178ebdf6_add_volume_targets_table.py       |    6 +-
...51876d68_add_storage_interface_db_field_and_.py |    6 +-
.../1e1d5ace7dc6_add_inspection_started_at_and_.py |    6 +-
.../21b331f883ef_add_provision_updated_at.py       |    6 +-
...cfae_add_conductor_hardware_interfaces_table.py |    6 +-
.../242cc6a923b3_add_node_maintenance_reason.py    |    6 +-
.../versions/2581ebaf0cb2_initial_migration.py     |    6 +-
.../2d13bc3d6bba_add_bios_config_and_interface.py  |   31 +
.../2fb93ffd2af1_increase_node_name_length.py      |    9 +-
.../31baaf680d2b_add_node_instance_info.py         |    6 +-
.../versions/3ae36a5f5131_add_logical_name.py      |    6 +-
...25597_add_unique_constraint_to_instance_uuid.py |    4 +-
.../3cb628139ea4_nodes_add_console_enabled.py      |    6 +-
.../3d86a077a3f2_add_port_physical_network.py      |    6 +-
.../405cfe08f18d_add_rescue_interface_to_node.py   |    6 +-
...7deb87cc9d_add_conductor_affinity_and_online.py |    6 +-
.../alembic/versions/48d6c242bb9b_add_node_tags.py |    6 +-
...d8f27f235_add_portgroup_configuration_fields.py |    8 +-
.../versions/4f399b21ae71_add_node_clean_step.py   |    6 +-
.../516faf1bb9b1_resizing_column_nodes_driver.py   |    6 +-
.../5674c57409b9_replace_nostate_with_available.py |    8 +-
...10e_added_port_group_table_and_altered_ports.py |    6 +-
.../60cf717201bc_add_standalone_ports_supported.py |    6 +-
.../versions/789acc877671_add_raid_config.py       |    6 +-
.../versions/82c315d60161_add_bios_settings.py     |   42 +
...868cb606a74a_add_version_field_in_base_class.py |    6 +-
.../b4130a7fc904_create_nodetraits_table.py        |    6 +-
.../bb59b63f55a_add_node_driver_internal_info.py   |    6 +-
.../bcdd431ba0bf_add_fields_for_all_interfaces.py  |    6 +-
...c14cef6dfedf_populate_node_network_interface.py |   14 +-
.../daa1ba02d98_add_volume_connectors_table.py     |    6 +-
.../dbefd6bdaa2c_add_default_column_to_.py         |    6 +-
.../dd34e1f1303b_add_resource_class_to_node.py     |    6 +-
.../e294876e8028_add_node_network_interface.py     |    6 +-
...18ff30eb42_resize_column_nodes_instance_info.py |   32 +
.../versions/f6fdb920c182_set_pxe_enabled_true.py  |    8 +-
.../fb3f10dd262e_add_fault_to_node_table.py        |   31 +
ironic/db/sqlalchemy/api.py                        |  336 +--
ironic/db/sqlalchemy/models.py                     |   32 +-
ironic/dhcp/neutron.py                             |   16 +-
ironic/drivers/agent.py                            |  114 -
ironic/drivers/base.py                             |  467 ++--
ironic/drivers/drac.py                             |   60 -
ironic/drivers/fake.py                             |  364 ---
ironic/drivers/fake_hardware.py                    |   18 +-
ironic/drivers/generic.py                          |    4 +-
ironic/drivers/hardware_type.py                    |    4 +
ironic/drivers/ilo.py                              |   79 -
ironic/drivers/ipmi.py                             |  135 +-
ironic/drivers/irmc.py                             |   74 +-
ironic/drivers/modules/agent.py                    |  140 +-
ironic/drivers/modules/agent_base_vendor.py        |   94 +-
ironic/drivers/modules/agent_client.py             |  156 +-
ironic/drivers/modules/ansible/deploy.py           |   35 +-
.../playbooks/callback_plugins/ironic_log.py       |   10 +-
.../modules/ansible/playbooks/library/facts_wwn.py |    2 +-
.../ansible/playbooks/library/root_hints.py        |    2 +-
.../ansible/playbooks/library/stream_url.py        |    2 +-
ironic/drivers/modules/boot_mode_utils.py          |  268 +++
ironic/drivers/modules/console_utils.py            |    8 +-
ironic/drivers/modules/deploy_utils.py             |  149 +-
ironic/drivers/modules/drac/management.py          |    2 +-
ironic/drivers/modules/drac/raid.py                |   38 +-
ironic/drivers/modules/drac/vendor_passthru.py     |   10 +-
ironic/drivers/modules/fake.py                     |   66 +-
ironic/drivers/modules/ilo/boot.py                 |   98 +-
ironic/drivers/modules/ilo/common.py               |    3 +-
ironic/drivers/modules/ilo/firmware_processor.py   |    2 +-
ironic/drivers/modules/ilo/management.py           |    8 +-
ironic/drivers/modules/ilo/vendor.py               |    4 +-
ironic/drivers/modules/image_cache.py              |    8 +-
ironic/drivers/modules/inspector.py                |   40 +-
ironic/drivers/modules/ipmitool.py                 |   38 +-
ironic/drivers/modules/ipxe_config.template        |   15 +-
ironic/drivers/modules/irmc/boot.py                |  154 +-
ironic/drivers/modules/irmc/common.py              |    6 +-
ironic/drivers/modules/irmc/power.py               |   10 +-
ironic/drivers/modules/iscsi_deploy.py             |    8 +-
ironic/drivers/modules/network/common.py           |   59 +-
ironic/drivers/modules/network/flat.py             |    4 +-
ironic/drivers/modules/network/neutron.py          |   15 +-
ironic/drivers/modules/noop.py                     |   13 +
ironic/drivers/modules/oneview/common.py           |    5 +-
ironic/drivers/modules/oneview/deploy.py           |   24 +-
ironic/drivers/modules/oneview/deploy_utils.py     |    6 +-
ironic/drivers/modules/oneview/inspect.py          |   35 +-
ironic/drivers/modules/oneview/management.py       |    9 +-
ironic/drivers/modules/oneview/power.py            |   13 +-
ironic/drivers/modules/pxe.py                      |   98 +-
ironic/drivers/modules/pxe_config.template         |    2 +-
ironic/drivers/modules/redfish/management.py       |   87 +-
ironic/drivers/modules/snmp.py                     |  363 ++-
ironic/drivers/modules/storage/cinder.py           |   13 +-
ironic/drivers/modules/storage/external.py         |   67 +
ironic/drivers/modules/xclarity/common.py          |  110 +-
ironic/drivers/modules/xclarity/management.py      |   39 +-
ironic/drivers/modules/xclarity/power.py           |   37 +-
ironic/drivers/oneview.py                          |  104 +-
ironic/drivers/pxe.py                              |  231 --
ironic/drivers/raid_config_schema.json             |    3 +-
ironic/locale/ja/LC_MESSAGES/ironic.po             | 1690 -------------
ironic/objects/__init__.py                         |    1 +
ironic/objects/base.py                             |   45 +-
ironic/objects/bios.py                             |  256 ++
ironic/objects/fields.py                           |    4 +-
ironic/objects/node.py                             |   67 +-
ironic/objects/notification.py                     |    4 +-
ironic/objects/port.py                             |   51 +-
ironic/objects/portgroup.py                        |   76 +-
ironic/objects/trait.py                            |    2 +-
.../unit/api/controllers/v1/test_portgroup.py      |  258 +-
.../api/controllers/v1/test_volume_connector.py    |    8 +-
.../unit/api/controllers/v1/test_volume_target.py  |    8 +-
.../drivers/ipxe_config_boot_from_volume.template  |   33 -
...e_config_boot_from_volume_extra_volume.template |   37 +
...nfig_boot_from_volume_no_extra_volumes.template |   34 +
...pxe_config_boot_from_volume_no_volumes.template |   32 -
.../unit/drivers/ipxe_config_timeout.template      |    2 +-
.../unit/drivers/modules/ansible/test_deploy.py    |   55 +-
.../unit/drivers/modules/drac/test_inspect.py      |   10 +-
.../unit/drivers/modules/drac/test_management.py   |   15 +-
.../drivers/modules/drac/test_periodic_task.py     |   62 +-
.../drivers/modules/ilo/test_firmware_processor.py |   10 +-
.../unit/drivers/modules/ilo/test_management.py    |   14 +-
.../unit/drivers/modules/irmc/test_inspect.py      |   27 +-
.../unit/drivers/modules/irmc/test_management.py   |   55 +-
.../unit/drivers/modules/network/test_common.py    |  119 +-
.../unit/drivers/modules/network/test_flat.py      |    3 -
.../unit/drivers/modules/network/test_neutron.py   |   62 +-
.../unit/drivers/modules/network/test_noop.py      |    3 -
.../unit/drivers/modules/oneview/test_common.py    |   26 +-
.../unit/drivers/modules/oneview/test_deploy.py    |   63 +-
.../drivers/modules/oneview/test_deploy_utils.py   |   18 +-
.../unit/drivers/modules/oneview/test_inspect.py   |   53 +-
.../drivers/modules/oneview/test_management.py     |   37 +-
.../unit/drivers/modules/oneview/test_power.py     |   60 +-
.../drivers/modules/redfish/test_management.py     |   66 +-
.../unit/drivers/modules/redfish/test_power.py     |    3 -
.../unit/drivers/modules/storage/test_cinder.py    |   71 +-
.../unit/drivers/modules/storage/test_external.py  |   68 +
.../unit/drivers/modules/test_agent_base_vendor.py |   51 +-
.../unit/drivers/modules/test_console_utils.py     |    3 +-
.../unit/drivers/modules/test_deploy_utils.py      |  109 +-
.../unit/drivers/modules/test_iscsi_deploy.py      |   31 +-
.../unit/drivers/modules/ucs/test_management.py    |   13 +-
.../unit/drivers/modules/xclarity/test_common.py   |   91 +-
.../drivers/modules/xclarity/test_management.py    |   23 +-
.../unit/drivers/modules/xclarity/test_power.py    |   32 +-
.../unit/drivers/third_party_driver_mock_specs.py  |    2 +
lower-constraints.txt                              |  165 ++
.../run.yaml                                       |  172 +-
playbooks/legacy/grenade-dsvm-ironic/run.yaml      |   89 +-
.../legacy/ironic-dsvm-base-multinode/pre.yaml     |   22 +
playbooks/legacy/ironic-dsvm-base/pre.yaml         |   22 +
playbooks/legacy/ironic-dsvm-functional/run.yaml   |   21 -
playbooks/legacy/ironic-dsvm-standalone/run.yaml   |   25 -
playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml  |   91 +-
.../run.yaml                                       |  106 +
.../run.yaml                                       |   81 +
.../legacy/tempest-dsvm-ironic-inspector/run.yaml  |  115 +-
.../run.yaml                                       |   74 +-
.../run.yaml                                       |   75 +-
.../run.yaml                                       |   74 +-
.../run.yaml                                       |  149 --
.../run.yaml                                       |  119 +-
.../run.yaml                                       |   74 +-
.../run.yaml                                       |   74 +-
.../legacy/tempest-dsvm-ironic-parallel/run.yaml   |   23 +-
.../tempest-dsvm-ironic-pxe_ipa-full/run.yaml      |   72 +-
.../run.yaml                                       |   89 +-
...dd-healthcheck-middleware-86120fa07a7c8151.yaml |   10 +
...add-id-and-uuid-filtering-to-sqalchemy-api.yaml |    5 +
.../add-inspect-wait-state-948f83dfe342897b.yaml   |   22 +
.../add-inspection-abort-a187e6e5c1f6311d.yaml     |    9 +
...retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml |    9 +
.../notes/add-node-bios-9c1c3d442e8acdac.yaml      |    6 +
...dd-node-boot-mode-control-9761d4bcbd8c3a0d.yaml |   16 +
...redfish-boot-mode-support-2f1a2568e71c65d0.yaml |    4 +
...driver-type-baytech-mrp27-5007d1d7e0a52162.yaml |    5 +
...pdu-driver-type-discovery-1f280b7f06fd1ca5.yaml |    7 +
...-snmpv3-security-features-bbefb8b844813a53.yaml |   22 +
.../notes/add-tooz-dep-85c56c74733a222d.yaml       |    2 +-
...-rescue-to-boot-interface-bd74aff9e250334b.yaml |    6 +
...add_detail_true_api_query-cb6944847830cd1a.yaml |   11 +
...xternal-storage-interface-9b7c0a0a2afd3176.yaml |   13 +
.../adds-secure-erase-switch-23f449c86b3648a4.yaml |    7 +
.../notes/async-deprecate-b3d81d7968ea47e5.yaml    |    9 +
.../notes/bug-1596421-0cb8f59073f56240.yaml        |    9 +
.../notes/bug-1749433-363b747d2db67df6.yaml        |    6 +
.../notes/bug-1749860-457292cf62e18a0e.yaml        |    6 +
.../notes/bug-2001832-62e244dc48c1f79e.yaml        |    7 +
.../notes/bug-2002062-959b865ced05b746.yaml        |    7 +
.../notes/bug-2002093-9fcb3613d2daeced.yaml        |    9 +
...ck-in-cleaning-on-startup-443823ea4f937965.yaml |    5 +
...precate-inspector-enabled-901fd9c9426046c7.yaml |    7 +
...deprecate-oneview-drivers-5a487e1940bcbbc6.yaml |   12 +
...deprecate-xclarity-config-af9b753f96779f42.yaml |   19 +
...n-when-port-has-client-id-8e584586dc4fca50.yaml |    7 +
...10-greater-than-16-drives-a4cb107e34371a51.yaml |    6 +
releasenotes/notes/fake-noop-bebc43983eb801d1.yaml |    6 +
.../fix-cleaning-with-traits-3a54faa70d594fd0.yaml |    7 +
...ix-multi-attached-volumes-092ffedbdcf0feac.yaml |    6 +
...tance-for-agent-interface-56753bdf04dd581f.yaml |   20 +
...ploy_validation_resp_code-ed93627d1b0dfa94.yaml |    7 +
.../notes/heartbeat-locked-6e53b68337d5a258.yaml   |    6 +
.../hw-ifaces-periodics-af8c9b93ecca9fcd.yaml      |    6 +
.../inspector-periodics-34449c9d77830b3c.yaml      |    8 +
...-command-line-ip-argument-4e92cf8bb912f62d.yaml |    8 +
...mc-support-ipmitool-power-a3480a70753948e5.yaml |    4 +
.../notes/ironic-11-prelude-6dae469633823f8d.yaml  |   14 +
.../migrate_vif_port_id-5e1496638240933d.yaml      |   13 +
.../notes/no-classic-drivers-e68d8527491314c3.yaml |   12 +
.../notes/no-classic-idrac-4fbf1ba66c35fb4a.yaml   |    6 +
.../notes/no-classic-ilo-7822af6821d2f1cc.yaml     |    5 +
.../notes/no-classic-ipmi-7ec52a7b01e40536.yaml    |    5 +
.../notes/no-classic-irmc-3a606045e87119b7.yaml    |    5 +
.../notes/no-classic-oneview-e46ee2838d2b1d37.yaml |    6 +
.../notes/no-classic-snmp-b77d267b535da216.yaml    |    5 +
.../no-classic-ucs-cimc-7c62bb189ffbe0dd.yaml      |    8 +
releasenotes/notes/no-fake-308b50d4ab83ca7a.yaml   |   23 +
.../no-last-error-overwrite-b90aac3303eb992e.yaml  |    4 +
...no-sensors-in-maintenance-7a0ecf418336d105.yaml |    5 +
.../notes/node-fault-8c59c0ecb94ba562.yaml         |   19 +
.../notes/orphan-nodes-389cb6d90c2917ec.yaml       |   10 +
.../notes/partprobe-retries-e69e9d20f3a3c2d3.yaml  |   14 +
.../port-list-bad-request-078512862c22118e.yaml    |    6 +
.../power-fault-recovery-6e22f0114ceee203.yaml     |   20 +
.../pxe-enabled-ports-check-c1736215dce76e97.yaml  |    7 +
.../notes/raid-dell-boss-e9c5da9ddceedd67.yaml     |    4 +
...ble_deploy-driver-options-a28dc2f36110a67a.yaml |    8 +
...ve-metric-pxe-boot-option-1aec41aebecc1ce9.yaml |    6 +
.../remove-vifs-on-teardown-707c8e40c46b6e64.yaml  |   19 +
.../removed-keystone-section-1ec46442fb332c29.yaml |   12 +
...ace-for-ilo-hardware-type-2392989d0fef8849.yaml |    7 +
...ce-for-irmc-hardware-type-17e38197849748e0.yaml |    7 +
...p-service-reloads-configs-0e2462e3f064a2ff.yaml |   17 +
...onsole-during-unprovision-a29d8facb3f03be5.yaml |    7 +
...3-if-no-conductors-online-ead1512628182ec4.yaml |    6 +
.../notes/story-2002637-4825d60b096e475b.yaml      |    7 +
...rio-for-ilo-hardware-type-ebca86da8fc271f6.yaml |    8 +
...node-driver_internal_info-5c11de8f2c2b2e87.yaml |    8 +
.../validate-instance-traits-525dd3150aa6afa2.yaml |    9 +
...detach-locking-fix-revert-3961d47fe419460a.yaml |    6 +
.../notes/xclarity-driver-622800d17459e3f9.yaml    |    4 +-
.../xclarity-mask-password-9fe7605ece7689c3.yaml   |    5 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |  419 ++++
.../source/locale/ja/LC_MESSAGES/releasenotes.po   |   43 +
releasenotes/source/queens.rst                     |    7 +
requirements.txt                                   |   12 +-
setup.cfg                                          |   52 +-
test-requirements.txt                              |   13 +-
tools/check-releasenotes.py                        |    2 +
tools/config/ironic-config-generator.conf          |    1 +
tox.ini                                            |   64 +-
zuul.d/legacy-ironic-jobs.yaml                     |   28 +-
zuul.d/project.yaml                                |   17 +-
483 files changed, 17233 insertions(+), 13973 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 46533dd..f31ba2d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ automaton>=1.9.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
@@ -11 +11 @@ python-cinderclient>=3.3.0 # Apache-2.0
-python-neutronclient>=6.3.0 # Apache-2.0
+python-neutronclient>=6.7.0 # Apache-2.0
@@ -13 +13 @@ python-glanceclient>=2.8.0 # Apache-2.0
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -19,2 +19,2 @@ pysendfile>=2.0.0 # MIT
-oslo.concurrency>=3.25.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -40 +40 @@ WSME>=0.8.0 # MIT
-Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+Jinja2>=2.10 # BSD License (3 clause)
diff --git a/test-requirements.txt b/test-requirements.txt
index 88922ef..80ff780 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=1.0.0 # Apache-2.0
+hacking>=1.0.0,<1.1.0 # Apache-2.0
@@ -12,0 +13 @@ oslotest>=3.2.0 # Apache-2.0
+stestr>=1.0.0 # Apache-2.0
@@ -15 +15,0 @@ testtools>=2.2.0 # MIT
-os-testr>=1.0.0 # Apache-2.0
@@ -21,8 +21 @@ flake8-import-order>=0.13 # LGPLv3
-
-# Doc requirements
-sphinx!=1.6.6,>=1.6.2 # BSD
-sphinxcontrib-pecanwsme>=0.8.0 # Apache-2.0
-sphinxcontrib-seqdiag>=0.8.4 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
-os-api-ref>=1.4.0 # Apache-2.0
+Pygments>=2.2.0 # BSD






More information about the Release-announce mailing list