[openstack-dev] [release-announce][ironic] ironic 11.0.0 (rocky)
Doug Hellmann
doug at doughellmann.com
Thu Jul 5 13:19:23 UTC 2018
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
>
More information about the OpenStack-dev
mailing list