I want to compliment the Ironic team on writing such engaging and comprehensive release notes. Nice work!
Doug Excerpts from no-reply's message of 2018-07-05 10:24:19 +0000: > 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 > __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev