We eagerly announce the release of: ironic 9.0.0: OpenStack Bare Metal Provisioning This release is part of the pike stable 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. 9.0.0 ^^^^^ New Features ************ * Adds two new hardware types to support Cisco UCS Servers, "cisco- ucs-standalone" and "cisco-ucs-managed". "cisco-ucs-standalone" supports driver interfaces for controlling UCS servers in standalone mode via either CIMC APIs or via IPMI. "cisco-ucs-managed" is a superset of "cisco-ucs-standalone" and supports additional driver interfaces for controlling the UCS server via UCSM. To support these hardware types the following Ironic driver interfaces were made available to be configured on a node: * "node.power_interface" can be set to: * "cimc" for CIMC API power control (power on/off, reboot, etc.) * "ucsm" for UCSM API power control (power on/off, reboot, etc.) * "node.management_interface" can be set to: * "cimc" for CIMC API management control (setting the boot device, etc.) * "ucsm" for UCSM API management control (setting the boot device, etc.) * Adds support for generating Guru Meditation Reports (https://wiki.openstack.org/wiki/GuruMeditationReport) (GMR) for both ironic-api and ironic-conductor services. GMR provides debugging information that can be used to obtain an accurate view on the current state of the system. For example, what threads are running, what configuration parameters are in effect, and more. * Adds support to provision an instance in UEFI secure boot for "irmc- pxe" boot interface. * Adds support for the Redfish (https://www.dmtf.org/standards/redfish) standard via a new "redfish" hardware type. (There is no equivalent "classic" driver for this.) It uses two new interfaces: * "redfish" power interface supports all hard and soft power operations * "redfish" management interface supports: * getting and setting the boot device (PXE, disk, CD-ROM or BIOS) * making the configured boot device persistent or not * injecting NMI * Allows updating hardware interfaces on nodes in the "available" state. * New configuration option "[DEFAULT]/ldlinux_32" can be used to set the location of the "ldlinux.c32" file (from the syslinux package). The default behavior is to look for it in the following locations: * "/usr/lib/syslinux/modules/bios/ldlinux.c32" * "/usr/share/syslinux/ldlinux.c32" * Adds support for storing the configdrive in Ceph Object Gateway (http://docs.ceph.com/docs/master/radosgw/) (radosgw) instead of the OpenStack Object service (swift) using the compatible API. * Adds support to use the radosgw authentication mechanism that relies on a user name and a password instead of an authentication token. The following options must be specified in ironic configuration file: * "[swift]/auth_url" * "[swift]/username" * "[swift]/password" * Adds OSProfiler (https://docs.openstack.org/osprofiler/latest/) support. This cross-project profiling library provides the ability to trace various OpenStack requests through all OpenStack services that support it. For more information, see https://docs.openstack.org/ironic/latest/contributor/osprofiler- support.html. * Adds a boolean flag called "force_persistent_boot_device" into a node's "driver_info" to enable persistent behavior when you set the boot device during deploy and cleaning operations. This flag will override a non-persistent behavior in the cleaning and deploy process. For more information, see https://bugs.launchpad.net/ironic/+bug/1703945. * Adds a new hardware type "ilo" for iLO 4 based Proliant Gen 8 and Gen 9 servers. This hardware type supports virtual media and PXE based boot using HPE iLO 4 management engine. The following driver interfaces are supported: * boot: "ilo-virtual-media" and "ilo-pxe" * console: "ilo" and "no-console" * deploy: "iscsi" and "direct" * inspect: "ilo", "inspector" and "no-inspect" * management: "ilo" * network: "flat", "noop" and "neutron" * power: "ilo" * raid: "no-raid" and "agent" * The "ipmi" hardware type now supports "ipmitool" vendor interface (similar to classic ipmitool drivers). * Adds new boot interface named "irmc-pxe" for PXE booting FUJITSU PRIMERGY servers. * Adds clean step "restore_irmc_bios_config" to restore BIOS config for a node with an "irmc"-based driver during automatic cleaning. * Adds support for booting from remote volumes via the "irmc- virtual- media" boot interface. It enables boot configuration for iSCSI or FibreChannel via out-of-band network. For details, see the iRMC driver documentation (https://docs.openstack.org/ironic/latest/admin/drivers/irmc.html #boot-from-remote-volume). * Adds configuration option "[console]terminal_timeout" to allow setting the time (in seconds) of inactivity, after which a socat- based console terminates. * Adds version 1.33 of the REST API, which exposes the "storage_interface" field of the node resource. This version also exposes "default_storage_interface" and "enable_storage_interfaces" fields of the driver resource. There are 2 available storage interfaces: * "noop": This interface provides nothing regarding storage. * "cinder": This interface enables a node to attach and detach volumes by leveraging cinder API. A storage interface can be set when creating or updating a node. Enabled storage interfaces are defined via the "[DEFAULT]/enabled_storage_interfaces" configuration option. A default interface for a created node can be specified with "[DEFAULT]/default_storage_interface" configuration option. * Adds "storage_interface" field to the node-related notifications: * "baremetal.node.create.*" (new payload version 1.2) * "baremetal.node.update.*" (new payload version 1.2) * "baremetal.node.delete.*" (new payload version 1.2) * "baremetal.node.maintenance.*" (new payload version 1.4) * "baremetal.node.console.*" (new payload version 1.4) * "baremetal.node.power_set.*" (new payload version 1.4) * "baremetal.node.power_state_corrected.*" (new payload version 1.4) * "baremetal.node.provision_set.*" (new payload version 1.4) * The OneView drivers now retain the next boot device in node's internal info when setting a boot device is requested. It is applied on the node when it is power cycled. * Adds a new hardware type "oneview" for HPE OneView supported servers. This hardware type supports the following driver interfaces: * boot: "pxe" * console: "no-console" * deploy: "oneview-direct" and "oneview-iscsi" (based on "direct" and "iscsi" respectively) * inspect: "oneview" and "no-inspect" * management: "oneview" * network: "flat", "neutron" and "no-op" * power: "oneview" * raid: "no-raid" and "agent" * Port group information ("mode" and "properties" fields) is now passed to Neutron via the port's "binding:profile" field. This allows an ML2 driver to configure the port bonding automatically. * Adds a "physical_network" field to the port object in REST API version 1.34. This field specifies the name of the physical network to which the port is connected, and is empty by default. This field may be set by the operator to allow the Bare Metal service to incorporate physical network information when attaching virtual interfaces (VIFs). The REST API endpoints related to ports provide support for the "physical_network" field. The multi-tenancy documentation (https://docs.openstack.org/ironic/latest/admin/multitenancy.html) provides information on how to configure and use physical networks. * Adds support for rolling upgrades, starting from upgrading Ocata to Pike. For details, see http://docs.openstack.org/ironic/latest/admin /upgrade-guide.html. * Adds a new hardware type "snmp" for SNMP powered systems. It supports the following driver interfaces: * boot: "pxe" * deploy: "iscsi", "direct" * power: "snmp" * management: "fake" * Adds new configuration option "[console]/socat_address" to set the binding address for socat-based console. The default is the value of the "[DEFAULT]my_ip" option of the conductor responsible for the node. * Adds support for volume connectors and volume targets with new API endpoints "/v1/volume/connectors" and "/v1/volume/targets". These endpoints are available with API version 1.32 or later. These new resources are used to connect a node to a volume. A volume connector represents connector information of a node such as an iSCSI initiator. A volume target provides volume information such as an iSCSI target. These endpoints are available: * "GET /v1/volume/connectors" for listing volume connectors * "POST /v1/volume/connectors" for creating a volume connector * "GET /v1/volume/connectors/<UUID>" for showing a volume connector * "PATCH /v1/volume/connectors/<UUID>" for updating a volume connector * "DELETE /v1/volume/connectors/<UUID>" for deleting a volume connector * "GET /v1/volume/targets" for listing volume targets * "POST /v1/volume/targets" for creating a volume target * "GET /v1/volume/targets/<UUID>" for showing a volume target * "PATCH /v1/volume/targets/<UUID>" for updating a volume target * "DELETE /v1/volume/targets/<UUID>" for deleting a volume target The Volume resources also can be listed as sub resources of nodes: * "GET /v1/nodes/<node>/volume/connectors" * "GET /v1/nodes/<node>/volume/targets" Root endpoints of volume resources are also added. These endpoints provide links to volume connectors and volume targets: * "GET /v1/volume" * "GET /v1/node/<node>/volume" When a volume connector or a volume target is created, updated, or deleted, these CRUD notifications can be emitted: * "baremetal.volumeconnector.create.start" * "baremetal.volumeconnector.create.end" * "baremetal.volumeconnector.create.error" * "baremetal.volumeconnector.update.start" * "baremetal.volumeconnector.update.end" * "baremetal.volumeconnector.update.error" * "baremetal.volumeconnector.delete.start" * "baremetal.volumeconnector.delete.end" * "baremetal.volumeconnector.delete.error" * "baremetal.volumetarget.create.start" * "baremetal.volumetarget.create.end" * "baremetal.volumetarget.create.error" * "baremetal.volumetarget.update.start" * "baremetal.volumetarget.update.end" * "baremetal.volumetarget.update.error" * "baremetal.volumetarget.delete.start" * "baremetal.volumetarget.delete.end" * "baremetal.volumetarget.delete.error" Known Issues ************ * The "restore_irmc_bios_config" clean step does not work for nodes using the "pxe" boot interface with the "irmc" hardware type. The "irmc-pxe" boot interface has to be used instead. Upgrade Notes ************* * Due to bug 1702158 (https://bugs.launchpad.net/ironic/+bug/1702158), the "conductor_hardware_interfaces" table could be created with MyISAM database engine, while all other tables in ironic database are using InnoDB engine. This could happen during initial installation, or upgrade to the Ocata release, if the system was using MySQL prior to version 5.5 or the "default_storage_engine" option was set explicitly to 'MyISAM' in "my.cnf". If this is the case, the "conductor_hardware_interfaces" table needs to be manually migrated to InnoDB, and the foreign key constraint needs to be re- created: alter table conductor_hardware_interfaces engine='InnoDB'; alter table conductor_hardware_interfaces add constraint conductor_hardware_interfaces_ibfk_1 foreign key (conductor_id) references conductors(id); * Changes timestamp part of ramdisk log filename by replacing colon with dash. The "tar" command does not handle colon properly, and untar of the file with colon in filename will fail. * Adds the "[deploy]/object_store_endpoint_type" option to specify the type of endpoint to use for instance images and configdrive storage. Allowed values are "swift" or "radosgw". The default is "swift". * Moves port creation logic from the API service to the conductor service. This is more consistent with port update operations and opens opportunities for conductor-side validations on ports. However, with this change, port creation may take longer, and this may limit the number of ports that can be created in parallel. * The new "ironic-dbsync online_data_migrations" command should be run after each upgrade to ensure all DB records are converted to the newest format. It must be run before starting the software as part of a new upgrade to the next named release. For more information about this command, see https://docs.openstack.org/ironic/latest/cli /ironic-dbsync.html. * The configuration option "[glance]glance_host" is now empty by default. If neither it nor "[glance]glance_api_servers" are provided, ironic will now try fetching the Image service endpoint from the service catalog. * Adds new configuration option "[irmc]clean_priority_restore_irmc_bios_config", which enables setting priority for the "restore_irmc_bios_config" clean step. The default value for this option is 0, which means the clean step is disabled. * Ironic no longer falls back to loading authentication configuration options for accessing other services from the "[keystone_authtoken]" section. As a result, the following configuration sections now must contain proper authentication options for appropriate services: * glance * neutron * swift * inspector * service_catalog * SSH-based power and management driver interfaces were removed from ironic. The drivers "pxe_ssh", "agent_ssh" and "fake_ssh" are no longer available. Operators are required to ensure that these drivers are not used or enabled (in "[DEFAULT]enabled_drivers" configuration file option) in their ironic installation before upgrade. * Following an upgrade to this release, all ports will have an empty "physical_network" field. Attachment of Virtual Interfaces (VIFs) will continue to function as in the previous release until any ports have their physical network field set. During a live upgrade to this release, the "physical_network" field will not be available. It will also not be possible to create ports which are members of a port group during a live upgrade, as the API service will be unable to validate the consistency of the request. * The pre-allocation model for OneView drivers was deprecated in Newton cycle (Ironic 6.1.0) and all pertaining code was marked for removal during Pike cycle. From now on, OneView drivers works only with dynamic allocation model. * Removes the deprecated DHCP provider method "update_port_address". For users who created their own network interfaces or DHCP providers the logic should be moved to a custom network interface's "port_changed" and "portgroup_changed" methods. The following methods should be implemented by custom network interfaces: * "vif_list": List attached VIF IDs for a node. * "vif_attach": Attach a virtual network interface to a node. * "vif_detach": Detach a virtual network interface from a node. * "port_changed": Handle any actions required when a port changes. * "portgroup_changed": Handle any actions required when a port group changes. * "get_current_vif": Return VIF ID attached to port or port group object. * The configuration option "[ilo]/clean_priority_erase_devices" was deprecated in the Newton cycle (6.1.0). It is no longer supported. Please use the option "[deploy]/erase_devices_priority" instead. * Changing the "resource_class" field of a node in the "active" state or any of the transient states is no longer possible. Please update your scripts to only set a resource class for nodes that are not deployed to. Setting a resource class for nodes that do not have it is still possible. * Due to upcoming changes in the way Nova schedules bare metal nodes, all nodes in a deployment using Nova have to get the "resource_class" field populated before the upgrade. See enrollment documentation (https://docs.openstack.org/ironic/latest/install/enrollment.html #enrollment-process) and flavor configuration documentation (https://docs.openstack.org/ironic/latest/install/configure-nova- flavors.html#scheduling-based-on-resource-classes) for details. Once you've migrated your flavors to resource classes, you should unset the deprecated "use_baremetal_filters" option in the Compute service configuration. Otherwise you'll be using the filters incompatible with scheduling based on resource classes. Deprecation Notes ***************** * The "[conductor]/configdrive_use_swift" and "[glance]/temp_url_endpoint_type" options are deprecated and will be removed in the Queens release. Use "[deploy]/configdrive_use_object_store" and "[deploy]/object_store_endpoint_type" respectively instead. * Support for the "elilo" boot loader has been deprecated and will be removed in the Queens release cycle. The elilo boot loader has been orphaned as a project and dropped from the majority of Linux distributions. Please switch to the "grub2" boot loader. * Configuration option "[ipmi]/retry_timeout" is deprecated in favor of these new options: * "[ipmi]/command_retry_timeout": timeout value to wait for an IPMI command to complete (be acknowledged by the baremetal node) * "[conductor]/power_state_change_timeout": timeout value to wait for a power operation to complete, so that the baremetal node is in the desired new power state * The configuration options "[glance]glance_host", "[glance]glance_port" and "[glance]glance_protocol" are deprecated in favor of either using "[glance]glance_api_servers" or using the service catalog. * The use of the "pxe" boot interface with the "irmc" hardware type has been deprecated. It is recommended to switch to the new "irmc- pxe" boot interface as soon as possible. Security Issues *************** * OSProfiler (https://docs.openstack.org/osprofiler/latest/) support requires passing of trace information between various OpenStack services. This information is securely signed by one of the HMAC keys, defined in the "ironic.conf" configuration file. To allow cross-project tracing, the same key should be used for all OpenStack services. Bug Fixes ********* * Fixes netboot with virtual media boot in an environment using syslinux 5.00 or later, such as Ubuntu 16.04. It was broken by a change in the location of the "ldlinux.c32" file. * Fixes database schema that could cause the wrong database engine to be utilized for the "conductor_hardware_interfaces" table, if the system is using MySQL prior to version 5.5 or the "default_storage_engine" option is set explicitly to 'MyISAM' in "my.cnf". In this case, a table could be created with MyISAM engine, and the foreign key constraint "conductor_id(conductors.id)" was ignored. See bug 1702158 (https://bugs.launchpad.net/ironic/+bug/1702158) for details. * Changes timestamp part of ramdisk log filename by replacing colon with dash. The "tar" command does not handle colon properly, and untar of the file with colon in filename will fail. * Fixes bug 1691808 (https://bugs.launchpad.net/ironic/+bug/1691808) causing RAID creation/deletion to frequently fail when using the iDRAC driver due to an *Export Configuration* job running. The fix requires the "python-dracclient" library of version 1.3.0 or higher. * Prevents the IPMI driver from needlessly checking status of the baremetal node if a power change action fails. Additionally, stops retrying power actions and power status polls on receipt of a non- retryable error from ipmitool. For more information, see bug 1675529 (https://bugs.launchpad.net/ironic/+bug/1675529). A new configuration option "[conductor]/power_state_change_timeout" can be used to specify how many seconds to wait for a baremetal node to change the power state when a power action is requested. * Adds the capability for an operator to explicitly define the permission for created tftpboot folders. This provides the ability for ironic to be utilized with a restrictive umask, where the tftp server may not be able to read the file. Introduces a new configuration option "[pxe]/dir_permission" to specify the permission for the tftpboot directories to be created with. * Fix handling of whole disk images with disk identifier 0x00000000. Instances failed to boot as the identifier in the boot config was overwritten during config drive creation. See bug 1685093 (https://bugs.launchpad.net/ironic/+bug/1685093). * When the deletion of a swift temporary object fails because the object is no longer available in swift, a message is logged. The log level of this message was changed from "WARNING" to "INFO". * Fixes a multi-region issue where the region specified in the configuration file was ignored when getting the Identity service's (keystone) URL. * Fixes an issue with the 'noop' network interface where listing the VIFs for a node fails with a HTTP 500 Internal Server Error. * Shutdown of conductor process should take less time, as we do not wait for completion of all periodic tasks. * "DEBUG"-level logging from the "oslo.messaging" library is no longer displayed by default. * Fixes an issue where some internal information for a node was not being saved to the database. See bug 1679297 (https://bugs.launchpad.net/ironic/+bug/1679297) for details. * Fixes a bug which caused boot device changes to be persistent in places where they did not need to be during cleaning and deployment phases, due to the default behavior of PXE interface forcing a persistent change. For more information, see bug 1701721 (https://bugs.launchpad.net/ironic/+bug/1701721). * Raises HTTP 400 "Bad Request" (instead of HTTP 500 "Internal Server") error on failure to validate "power" or "inspect" interface parameters before performing a hardware inspection. * No longer allows changing the "resource_class" field for "active" nodes if it was already set to a non-empty value. Doing so would break the Compute scheduler. * Adds validation of "snmp_outlet" parameter to SNMP driver. * When returning lists of nodes, port groups, or ports, checks the sort key to make sure the field is available in the requested API version. A 406 (Not Acceptable) HTTP status is returned if the field is not available. Other Notes *********** * Adds a configuration section "cinder" and a requirement of cinder client (python-cinderclient). * The method "build_instance_info_for_deploy()" from the "ironic.drivers.modules.agent" module was deprecated in the Ocata cycle (version 7.0.0). It is no longer available. Please use the method "build_instance_info_for_deploy()" from the "ironic.drivers.modules.deploy_utils" module instead. Changes in ironic 8.0.0..9.0.0 ------------------------------ 888610f [releasenotes] update irmc's boot-from-volume support f471601 Add storage interface to enabling-drivers doc a397a84 Add admin guide for boot from volume 2e52299 iRMC: Add documentation for remote volume boot 72395ad Remove ensure_logs_exist check during upgrade 73ed23c Follow-up to rolling upgrade docs d85d029 [reno] update 6fa2bfe Documetation for 'ilo' hardware type 20baf69 Update the documentation links - code comments 5ff1e90 Update the documentation links - install guide 61827da Remove translator assignments from i18n c268b1e Add hardware types to support Cisco UCS Servers c4d9159 Remove setting custom http_timeout in grenade 45b0949 Upgrade to hardware types: document changing interfaces for active nodes c7d7f18 Update the resource classes documentation based on recent progress 1e6bf0f [devstack] switch to the latest API version and OSC commands 6525a0d Prevent changes of a resource class for an active node d39f9af Guide on upgrading to hardware types 70530f9 iRMC: Support volume boot for iRMC virtual media boot interface 519e379 Rolling upgrade procedure documentation de581d5 Release notes clean up for the next release 7e6ce7e Fix missing print format error 802c86e Secure boot support for irmc-pxe driver cb2c7c2 Adds hardware type for SNMP powered systems 90d1ac4 Add a guide for Devstack configuration for boot-from-volume 049fd40 Add a flag to always perform persistent boot on PXE interface a212e58 [tempest] also catch BadRequest in negative tests with physical_network in old API 09adb96 Use more specific asserts in tests 1fc4ad4 [Trivialfix]Fix typos in ironic 4686955 Remove WARNING from pin_release_version's help 3e13158 Update ironic.conf.sample due to non-ironic code 54efd31 Add new dbsync command with first online data migration c0ce6eb BFV Deploy skip minor logging, logic, and test fixes b7eec15 Add hardware type for HPE OneView adcbd32 [doc-migration] Add configuration folder for documentation 05d85dd Add storage interface to api-ref 7317c17 Add API for volume resources to api-ref d860bcf Disable automated cleaning for single node grenade ee62bc1 Optimize node locking on heartbeat 7d4a51c Remove file RELEASE-NOTES e2d82b7 Removed unnecessary setUp() call in unit tests 39e8b37 Adds doc for restore_irmc_bios_config clean step 3d9895c Remove SSH-based driver interfaces and drivers aaa429d [Tempest] fix negative tests on old API versions e3ac898 Remove install-guide env which is no longer effective fb5def4 Address review feedback for ipxe boot file fix 3b7e6ab Change ramdisk log filename template ea3f62a Remove usage of some of the deprecated methods 9ffc9eb Updated from global requirements ae5d65c grenade: Use test_with_retry to check if route is up 8302a36 Don't use multicell setup for ironic & increase timeout b05a6a6 Tempest scenario test for boot-from-volume e28ba70 Refactor VIFPortIDMixin: factor out common methods 63a852e Add negative attribute to negative port tests fc1e18e Rolling upgrades support for create_port RPCAPI e14f963 Fixes hashing issues for py3.5 bc60c21 Generate iPXE boot script on start up 9d161f6 grenade: For multi-node grenade, do not upgrade nova 8a73b34 Changes log level of a message fe295ff Fix small issues in the installation documentation 8f45317 Removes agent mixin from oneview drivers 82bc942 Fix docstring and default value for local_group_info 1bd81b9 [doc] update ironic's landing page 4463d44 Adding note for ironic virt driver nova-compute changes 7e99dc0 Added a condition for 'ilo' hardware type 947d642 Updated from global requirements 57e8186 py3.5:Workaround fix for forcing virtualbmc installation with pip2 f75ff90 [devstack] add support for running behind tls-proxy ade71e4 Start passing portgroup information to Neutron 975040b Add tempest tests for physical networks e003b07 Updated from global requirements 78ff071 Refactor VIFPortIDMixin: rename e43bd3d Doc for disk erase support in iLO drivers 2c134ac DevStack: Add configuration for boot-from-volume 43fa6fc Refactor get_physnets_by_portgroup_id 7e40306 Rolling upgrades support for port.physical_network 7b8ecae Allow updating interfaces on a node in available state 9fe3300 replace 'interrace' with 'interface' bfd80a5 Improve port update API unit tests 2e51f95 Improve ports API reference 02fff93 Expose ports' physical network attribute in API abf6d35 Rename 'remove_unavail_fields' parameter 4657d79 Updated from global requirements 9ad88d0 Add missing parameter descriptions. daf01d8 Updated from global requirements 2c18f22 Generate iPXE boot script when deploying with boot from volume ba52e40 Add Driver API change in 1.33 to history ed3ee45 Update URL home-page in documents according to document migration c7091fb Using non-persistent boot in PXE interface 8e7d795 Modifications for rolling upgrades 3f345c4 Update comments related to ipmi & old BMCs 578f016 Follow-up to fix for power action failure 7618997 Fix copy/paste error in VIF attach note 0085339 [reno] Clarify fix for inspect validation failures 11c23cb [trivial] Fix argument descriptions b8f6d35 Remove _ssh drivers from dev-quickstart f196653 Fix broken links in tempest plugin README a8a9893 Remove future plan from portgroup document 3773f17 Enable OSProfiler support in Ironic e3753b3 Revert "Wait until iDRAC is ready before out-of-band cleaning" 1a0c709 Force InnoDB engine on interfaces table 961f046 Add storage interface field to node-related notifications 8e48156 Removed nonexistent option from quickstart snippet b90f7a1 Enable cinder storage interface for generic hardware 54d5335 Mock random generator for BackoffLoopingCall in IPMI unittests 3bda561 Raise HTTP 400 rather than 500 error 3901e0b Make IP address of socat console configurable b060877 Set nomulticell flag for starting nova-compute in grenade b9b8209 Physical network aware VIF attachment b1b22e8 Update README to point at new doc location 0a4c201 Move ironic dbsync tool docs into doc/source/cli 5647bfc Move doc/source/dev to doc/source/contributor 02015a4 Move operator docs into into doc/source/admin aeb5306 Move install guide into new doc/source/install location b720359 Improve graceful shutdown of conductor process 31ac1b7 switch from oslosphinx to openstackdocstheme ab29dcc Fix quotes in documentation and schema description 3e649a7 Follow-up for bugfix 1694645 patch c380e05 Add REST API for volume connector and volume target operation ddcd977 Add node power state validation to volume resource update/deletion 0bf2a4e Make redfish power interface wait for the power state change 7337fef Refactor common keystone methods e7664a1 Adds clean step 'restore_irmc_bios_config' to iRMC drivers 4db3123 Add CRUD notification objects for volume connector and volume target b7d3824 Updated from global requirements ee5d494 Don't retry power status if power action fails 1810051 Fix VIF list for noop network interface cb7cdd3 Fetch Glance endpoint from Keystone if it's not provided in the configuration c10bfc9 Replace the usage of 'manager' with 'os_primary' 152a365 Logic for skipping deployment with BFV 6883674 iPXE template support for iSCSI 41c0a31 Move _abort_attach_volumes functionality to detach_volumes 7960fdd Allow to load a subset of object fields from DB 937f380 Unit test consistency: DB base and utils prefix 006e6dd Updated from global requirements 6fcf371 Updated from global requirements 50e1aa1 Remove unnecessary line in docstring 0392256 Validate portgroup physical network consistency 1040005 Wire in storage interface attach/detach operations 35f222c Wait until iDRAC is ready before out-of-band cleaning 6061585 Minor changes to object version-related code 31b35c7 Remove times.dbm prior to test run e71555a Discover hosts while waiting for hypervisors to show up in devstack 622b3f3 Add docs for node.resource_class and flavor creation df89b17 Updated from global requirements 9e3f412 Move port object creation to conductor 977c064 Make default_boot_option configurable in devstack 873ff86 Trigger interface attach tests 18f3c48 Follow-up docstring revision d6e6295 Runs the script configure_vm.py in py3.5 c90bb86 Replace get_transport with get_rpc_transport ebfc4fe Add version column dd264ac Add ldlinux.c32 to boot ISO for virtual media 4f9035c Remove legacy auth loading d115373 Add a note for specifying octal value of permission fd19407 Improve driver_info/redfish_verify_ca value validation 897e1b6 Updated from global requirements 099e88a Stop sending custom context values over RPC 38586c2 Replace assertTrue(isinstance()) with assertIsInstance() 9c45a28 Change volume metadata not to use nested dicts 20bf354 Add physical network to port data model 892467d Move deploy_utils warnings to conductor start bf477d6 Remove unused methods from GlanceImageService d3e7868 [install-guide] explain the defaults calculation for hardware types daf3083 Improve driver_info/redfish_system_id value validation 7366479 Add guru meditation report support 11c1108 Adds parameters to run CI with hardware types. 85baa49 Fix description for [cinder] action_retries option bd5b1a7 Deprecate elilo support a11c373 Updated from global requirements d3ea000 Update ipmitool installation and usage documentation b4d8bfa Replace test.attr with decorators.attr 17de9ee Updated from global requirements a03b5bb Replace test.attr with decorators.attr f91dc65 remove explicit directions for release notes on current branch 13d91bd Use cfg.URIOpt for URLs with required schemes 7af1da4 Updated from global requirements ead1496 Remove unneeded lookup policy check b23a176 Add Cinder storage driver f428de5 Add ipmitool vendor interface to the ipmi hardware type 8118a18 Replace test.attr with decorators.attr 0f7a85e Fix directories permission for tftpboot 6729fc6 Comment the default values in policy.json.sample 1dc033f Replace deprecated .assertRaisesRegexp() 4768052 Updated from global requirements 24006ba Remove remaining vendor passthru lookup/heartbeat 5dc756e Prevent tests from using utils.execute() f84bee7 Remove unit tests that test oslo_concurrency.processutils.execute 51bf6b2 Remove single quoted strings in json sample a8ca351 Refactor install-guide: update node enrollment 10decb8 Refactor install-guide: driver and hardware types configuration f65ba07 Minor clean up in iLO drivers unit tests 7d59d48 Remove translation of log messages 2a90135 Enable getting volume targets by their volume_id db0c42a Check if sort key is allowed in API version 20dba3f Updated from global requirements 5777f4a Remove logging translation calls from ironic.common 8fbfc0a [install-guide] add section on Glance+Swift config 703b889 Fix attribute name of cinder volume 950548a Update reno for new ilo hardware type 4c82308 Remove log translations from ironic/drivers Part-1 6518f94 Update developer quickstart doc about required OS version dd04c35 Add 'iscsi' deploy support for 'ilo' hardware type b1f2877 Trivial fix typos while reading doc 98dc0dd Fix docstrings in conductor manager 08482d2 [devstack] start virtualpdu using full path 86a190d [Devstack] Increase default NIC numbers for VMs to 2 f86d53d Remove usage of parameter enforce_type 43dccde Properly allow Ironic headers in REST API 40dd9ab Updated from global requirements c8e3679 DevStack: Install gunicorn and sushy based on g-r constraints 21d89c0 Fix keystone.py 'get_service_url' method parameter 061dfb0 Add functional api tests for node resource class b856888 Refactor install-guide: integration with other services ed90bdc Remove references to EOLed version of Ironic from the install guide 9697ae6 DevStack: Setup a Redfish environment 317afc8 Add hardware type for HPE ProLiant servers based on iLO 4 40a50e1 Bring the redfish driver address parameter closer to one of other drivers fdf6f89 [Grenade]: Do not run ir-api on primary node after upgrade 48950dd Validate outlet index in SNMP driver 6df4974 [Devstack] Rework VMs connection logic 674ddb0 Fix oslo.messaging log level 737cb1d Add context to IronicObject._from_db_object() 17ba9f4 Add release notes for 8.0.0 bbb8d3d [api-ref] remove reference to old lookup/heartbeat fa6002b Follow-up patch to redfish documentation c1887a8 [devstack] use the generic function to setup logging eb6be86 Fix cleaning documents 8369c0f Remove obsolete sentence from comment. cd10872 TrivialFix: Remove logging import unused 4ba2bb2 Remove translation of log messages from ironic/drivers/modules/irmc 7a2f99b Run db_sync after upgrade 4e6b834 Remove translation of log messages from ironic/drivers/modules/ucs 3e63034 Start enforcing config variables type in tests 4e35dc9 Add documentation for the redfish driver cbc29a9 Read disk identifier after config drive setup 0a038a6 Add a paragraph about image validation to Install Guide 7bc49c7 Make terminal timeout value configurable 1ff7622 Remove nova mocks from documentation configuration 2b6dcc5 Remove fake_ipmitool_socat driver from the documentation c211494 Add redfish driver ab3982e Ensure we install latest libivrt 716e22b Set env variables when all needed files are source 7a78ea1 save_and_reraise_exception() instead of raise 485a331 Follow-up patch of 7f12be1b14e371e269464883cb7dbcb75910e16f 7c265a5 VirtualPDU use libvirt group instead of libvirtd f641544 Fix unit tests for oslo.config 4.0 e35054c Always set host_id when adding neutron ports c971cee Add /baremetal path instead of port 6385 1849a81 Add SUSE instructions to the install guide bd4bd78 Remove pre-allocation model for OneView drivers 1dedfdb Remove log translations from iLO drivers fbea7b3 Follow-up patch of 565b31424ef4e1441cae022486fa6334a2811d21 e66ca55 Setup logging in unit tests 06e8930 Remove deprecated DHCP provider methods 6196e58 Make config generator aware of 'default_log_levels' override 7cdda47 [Devstack] Fix libvirt group usage 3b5aefa Common cinder interface additional improvements 58b34b0 Config drive support for ceph radosgw 98d2749 Improve error message for deleting node from error state 20815f5 Updated from global requirements d8438df Add comments re RPC versions being in sync be93eea Help a user to enable console redirection 7b04918 Fix some reST field lists in docstrings 309228c Avoid double ".img" postfix of image file path in devstack installation 588f2e9 add portgroups in the task_manager docstrings 1ee9111 Remove unneeded exception handling from agent driver a5fb9ae Updated from global requirements a232586 Remove translation of log messages from ironic/dhcp and ironic/cmd dc1f27f Updated from global requirements 09b1fc6 Bypassing upload deploy ramdisk/kernel to glance when deploy iso is given 63ab335 Drop commented import 0616c74 Enforce releasenotes file naming 6ba5abb Remove unused methods in common/paths and common/rpc 474d090 Remove translation of log messages from ironic/api 316151e Fix access to CONF in dhcp_options_for_instance aa3ebd6 Add string comparison for 'IRONIC_DEPLOY_DRIVER' b7e96f4 Modify the spelling mistakes Change explictly to explicitly 62c6377 Node should reflect what was saved 7f12be1 Changes 'deploy' and 'boot' interface for 'pxe_ilo' driver 565b314 Use standard deploy interfaces for iscsi_ilo and agent_ilo 9b6ba47 Refactor iLO drivers code to clean 'boot' and 'deploy' operations 459fe31 Add base cinder common interface d6ccfb0 Remove deprecated method build_instance_info_for_deploy() 603ca46 Remove deprecated [ilo]/clean_priority_erase_devices config 210ec9d [Devstack] cleanup upgrade settings 686901c Fix some api field lists in docstrings 689f2a0 Add tempest plugin API tests for driver Diffstat (except docs and test files) ------------------------------------- .gitignore | 3 +- README.rst | 12 +- RELEASE-NOTES | 1 - api-ref/regenerate-samples.sh | 48 +- .../source/baremetal-api-v1-driver-passthru.inc | 29 +- api-ref/source/baremetal-api-v1-drivers.inc | 4 + api-ref/source/baremetal-api-v1-misc.inc | 8 - .../source/baremetal-api-v1-node-management.inc | 4 +- api-ref/source/baremetal-api-v1-nodes-ports.inc | 19 + api-ref/source/baremetal-api-v1-nodes-volume.inc | 140 ++ api-ref/source/baremetal-api-v1-nodes.inc | 14 +- .../source/baremetal-api-v1-portgroups-ports.inc | 14 +- api-ref/source/baremetal-api-v1-ports.inc | 71 +- api-ref/source/baremetal-api-v1-volume.inc | 460 +++++ api-ref/source/index.rst | 2 + api-ref/source/parameters.yaml | 151 +- api-ref/source/samples/api-root-response.json | 4 +- api-ref/source/samples/api-v1-root-response.json | 12 +- api-ref/source/samples/driver-get-response.json | 4 + .../driver-logical-disk-properties-response.json | 2 +- .../samples/driver-passthru-methods-response.json | 10 - .../samples/drivers-list-detail-response.json | 8 + api-ref/source/samples/node-create-response.json | 13 +- .../source/samples/node-port-detail-response.json | 1 + .../source/samples/node-set-soft-power-off.json | 2 +- api-ref/source/samples/node-show-response.json | 13 +- .../samples/node-update-driver-info-response.json | 13 +- api-ref/source/samples/node-validate-response.json | 3 + .../samples/node-vendor-passthru-response.json | 9 - .../node-volume-connector-detail-response.json | 23 + .../node-volume-connector-list-response.json | 20 + .../source/samples/node-volume-list-response.json | 32 + .../node-volume-target-detail-response.json | 25 + .../samples/node-volume-target-list-response.json | 21 + .../samples/nodes-list-details-response.json | 26 +- api-ref/source/samples/port-create-request.json | 3 +- api-ref/source/samples/port-create-response.json | 1 + .../source/samples/port-list-detail-response.json | 1 + api-ref/source/samples/port-update-response.json | 1 + .../samples/portgroup-port-detail-response.json | 1 + .../samples/volume-connector-create-request.json | 6 + .../samples/volume-connector-create-response.json | 19 + .../volume-connector-list-detail-response.json | 23 + .../samples/volume-connector-list-response.json | 20 + .../samples/volume-connector-update-request.json | 7 + .../samples/volume-connector-update-response.json | 19 + api-ref/source/samples/volume-list-response.json | 32 + .../samples/volume-target-create-request.json | 7 + .../samples/volume-target-create-response.json | 21 + .../volume-target-list-detail-response.json | 25 + .../samples/volume-target-list-response.json | 21 + .../samples/volume-target-update-request.json | 7 + .../samples/volume-target-update-response.json | 21 + devstack/files/apache-ironic-api-redirect.template | 21 + devstack/files/apache-ironic-api.template | 9 + devstack/files/debs/ironic | 2 +- devstack/lib/ironic | 626 ++++--- devstack/plugin.sh | 6 +- devstack/settings | 4 + devstack/tools/ironic/scripts/configure-vm.py | 7 +- devstack/tools/ironic/scripts/create-node.sh | 31 +- devstack/tools/ironic/templates/vm.xml | 8 +- devstack/upgrade/resources.sh | 4 +- devstack/upgrade/settings | 36 +- devstack/upgrade/upgrade.sh | 43 +- .../contributor/ironic-multitenant-networking.rst | 135 ++ .../install/include/common-prerequisites.rst | 29 + .../include/configure-ironic-api-mod_wsgi.rst | 72 + .../install/include/configure-ironic-api.rst | 89 + .../install/include/configure-ironic-conductor.rst | 176 ++ .../install/include/kernel-boot-parameters.rst | 106 ++ .../include/local-boot-partition-images.rst | 56 + driver-requirements.txt | 7 +- etc/ironic/ironic.conf.sample | 585 ++++--- etc/ironic/policy.json.sample | 147 +- install-guide/source/advanced.rst | 14 - install-guide/source/conf.py | 301 ---- install-guide/source/configdrive.rst | 116 -- install-guide/source/configure-cleaning.rst | 37 - install-guide/source/configure-integration.rst | 13 - install-guide/source/configure-port-groups.rst | 8 - install-guide/source/configure-tenant-networks.rst | 8 - install-guide/source/deploy-ramdisk.rst | 98 -- install-guide/source/enabling-https.rst | 89 - install-guide/source/enrollment.rst | 398 ----- install-guide/source/get_started.rst | 80 - install-guide/source/include/common-configure.rst | 12 - .../source/include/common-prerequisites.rst | 29 - .../source/include/configure-glance-images.rst | 127 -- .../source/include/configure-identity.rst | 93 - .../include/configure-ironic-api-mod_wsgi.rst | 63 - .../source/include/configure-ironic-api.rst | 89 - .../source/include/configure-ironic-conductor.rst | 190 --- .../source/include/configure-neutron-networks.rst | 111 -- .../source/include/configure-nova-compute.rst | 120 -- .../source/include/configure-nova-flavors.rst | 39 - .../source/include/kernel-boot-parameters.rst | 69 - .../source/include/local-boot-partition-images.rst | 59 - install-guide/source/include/notifications.rst | 16 - install-guide/source/include/root-device-hints.rst | 93 - install-guide/source/include/trusted-boot.rst | 71 - install-guide/source/index.rst | 29 - install-guide/source/install-obs.rst | 16 - install-guide/source/install-rdo.rst | 43 - install-guide/source/install-ubuntu.rst | 31 - install-guide/source/install.rst | 16 - install-guide/source/next-steps.rst | 7 - install-guide/source/setup-drivers.rst | 613 ------- install-guide/source/standalone.rst | 169 -- install-guide/source/troubleshooting.rst | 126 -- ironic/api/app.py | 23 +- ironic/api/controllers/v1/__init__.py | 17 +- ironic/api/controllers/v1/driver.py | 20 +- ironic/api/controllers/v1/node.py | 40 +- ironic/api/controllers/v1/notification_utils.py | 10 +- ironic/api/controllers/v1/port.py | 89 +- ironic/api/controllers/v1/portgroup.py | 2 + ironic/api/controllers/v1/ramdisk.py | 9 +- ironic/api/controllers/v1/utils.py | 32 + ironic/api/controllers/v1/versions.py | 8 +- ironic/api/controllers/v1/volume.py | 103 ++ ironic/api/controllers/v1/volume_connector.py | 480 ++++++ ironic/api/controllers/v1/volume_target.py | 489 ++++++ ironic/api/hooks.py | 9 +- ironic/api/middleware/auth_token.py | 9 +- ironic/api/middleware/parsable_error.py | 4 +- ironic/cmd/api.py | 7 + ironic/cmd/conductor.py | 55 +- ironic/cmd/dbsync.py | 211 ++- ironic/common/cinder.py | 434 +++++ ironic/common/config.py | 2 + ironic/common/context.py | 23 +- ironic/common/driver_factory.py | 31 +- ironic/common/exception.py | 59 +- ironic/common/glance_service/base_image_service.py | 143 +- ironic/common/glance_service/service.py | 36 - ironic/common/glance_service/service_utils.py | 107 +- ironic/common/glance_service/v1/image_service.py | 13 - ironic/common/glance_service/v2/image_service.py | 21 +- ironic/common/i18n.py | 12 +- ironic/common/image_service.py | 6 +- ironic/common/images.py | 35 +- ironic/common/keystone.py | 125 +- ironic/common/network.py | 66 + ironic/common/neutron.py | 216 ++- ironic/common/paths.py | 50 - ironic/common/policy.py | 30 +- ironic/common/profiler.py | 62 + ironic/common/pxe_utils.py | 38 +- ironic/common/release_mappings.py | 81 +- ironic/common/rpc.py | 27 +- ironic/common/rpc_service.py | 23 +- ironic/common/service.py | 19 +- ironic/common/swift.py | 23 +- ironic/common/utils.py | 81 +- ironic/conductor/base_manager.py | 19 + ironic/conductor/manager.py | 168 +- ironic/conductor/rpcapi.py | 29 +- ironic/conductor/task_manager.py | 2 + ironic/conductor/utils.py | 115 ++ ironic/conf/__init__.py | 6 +- ironic/conf/auth.py | 26 +- ironic/conf/cinder.py | 50 + ironic/conf/conductor.py | 16 +- ironic/conf/console.py | 10 + ironic/conf/default.py | 30 +- ironic/conf/deploy.py | 14 + ironic/conf/glance.py | 25 +- ironic/conf/ilo.py | 8 - ironic/conf/ipmi.py | 25 +- ironic/conf/irmc.py | 3 + ironic/conf/opts.py | 28 +- ironic/conf/pxe.py | 12 + ironic/conf/redfish.py | 35 + ironic/conf/ssh.py | 38 - ironic/db/api.py | 48 + ironic/db/sqlalchemy/alembic/env.py | 2 +- ...cfae_add_conductor_hardware_interfaces_table.py | 4 +- .../3d86a077a3f2_add_port_physical_network.py | 32 + ...868cb606a74a_add_version_field_in_base_class.py | 50 + ironic/db/sqlalchemy/api.py | 123 +- ironic/db/sqlalchemy/migration.py | 4 +- ironic/db/sqlalchemy/models.py | 9 +- ironic/dhcp/base.py | 13 - ironic/dhcp/neutron.py | 47 +- ironic/dhcp/none.py | 5 - ironic/drivers/agent.py | 27 - ironic/drivers/base.py | 98 +- ironic/drivers/cisco_ucs.py | 55 + ironic/drivers/fake.py | 13 - ironic/drivers/generic.py | 7 + ironic/drivers/ilo.py | 43 +- ironic/drivers/ipmi.py | 5 + ironic/drivers/irmc.py | 5 +- ironic/drivers/modules/agent.py | 85 +- ironic/drivers/modules/agent_base_vendor.py | 103 +- ironic/drivers/modules/console_utils.py | 29 +- ironic/drivers/modules/deploy_utils.py | 205 ++- ironic/drivers/modules/drac/bios.py | 17 +- ironic/drivers/modules/drac/common.py | 20 +- ironic/drivers/modules/drac/inspect.py | 24 +- ironic/drivers/modules/drac/job.py | 10 +- ironic/drivers/modules/drac/management.py | 10 +- ironic/drivers/modules/drac/power.py | 11 +- ironic/drivers/modules/drac/raid.py | 64 +- .../drivers/modules/elilo_efi_pxe_config.template | 1 + ironic/drivers/modules/ilo/boot.py | 256 ++- ironic/drivers/modules/ilo/common.py | 46 +- ironic/drivers/modules/ilo/deploy.py | 381 ----- ironic/drivers/modules/ilo/firmware_processor.py | 4 +- ironic/drivers/modules/ilo/inspect.py | 34 +- ironic/drivers/modules/ilo/management.py | 29 +- ironic/drivers/modules/ilo/power.py | 14 +- ironic/drivers/modules/image_cache.py | 41 +- ironic/drivers/modules/inspector.py | 27 +- ironic/drivers/modules/ipmitool.py | 204 +-- ironic/drivers/modules/ipxe_config.template | 20 + ironic/drivers/modules/irmc/boot.py | 477 +++++- ironic/drivers/modules/irmc/common.py | 26 + ironic/drivers/modules/irmc/inspect.py | 14 +- ironic/drivers/modules/irmc/management.py | 137 +- ironic/drivers/modules/irmc/power.py | 18 +- ironic/drivers/modules/iscsi_deploy.py | 59 +- ironic/drivers/modules/network/common.py | 367 ++-- ironic/drivers/modules/network/flat.py | 14 +- ironic/drivers/modules/network/neutron.py | 16 +- ironic/drivers/modules/network/noop.py | 2 +- ironic/drivers/modules/oneview/common.py | 83 +- ironic/drivers/modules/oneview/deploy.py | 155 +- ironic/drivers/modules/oneview/deploy_utils.py | 28 +- ironic/drivers/modules/oneview/management.py | 103 +- ironic/drivers/modules/oneview/power.py | 11 +- ironic/drivers/modules/pxe.py | 174 +- ironic/drivers/modules/redfish/__init__.py | 0 ironic/drivers/modules/redfish/management.py | 173 ++ ironic/drivers/modules/redfish/power.py | 158 ++ ironic/drivers/modules/redfish/utils.py | 199 +++ ironic/drivers/modules/snmp.py | 28 +- ironic/drivers/modules/ssh.py | 903 ---------- ironic/drivers/modules/storage/cinder.py | 432 +++++ ironic/drivers/modules/ucs/helper.py | 6 +- ironic/drivers/modules/ucs/management.py | 10 +- ironic/drivers/modules/ucs/power.py | 24 +- ironic/drivers/oneview.py | 29 + ironic/drivers/pxe.py | 42 +- ironic/drivers/raid_config_schema.json | 2 +- ironic/drivers/redfish.py | 32 + ironic/drivers/snmp.py | 35 + ironic/drivers/utils.py | 31 +- ironic/objects/base.py | 330 +++- ironic/objects/chassis.py | 25 +- ironic/objects/conductor.py | 8 +- ironic/objects/node.py | 75 +- ironic/objects/port.py | 83 +- ironic/objects/portgroup.py | 34 +- ironic/objects/volume_connector.py | 58 +- ironic/objects/volume_target.py | 88 +- .../unit/conductor/test_notification_utils.py | 4 +- .../drivers/ipxe_config_boot_from_volume.template | 33 + ...pxe_config_boot_from_volume_no_volumes.template | 32 + .../drivers/modules/drac/test_periodic_task.py | 2 +- .../unit/drivers/modules/ilo/test_management.py | 5 +- .../unit/drivers/modules/irmc/test_management.py | 136 +- .../unit/drivers/modules/network/test_common.py | 796 +++++++-- .../unit/drivers/modules/network/test_flat.py | 2 +- .../unit/drivers/modules/network/test_neutron.py | 25 +- .../unit/drivers/modules/network/test_noop.py | 91 + .../unit/drivers/modules/oneview/test_common.py | 169 +- .../unit/drivers/modules/oneview/test_deploy.py | 462 +---- .../drivers/modules/oneview/test_deploy_utils.py | 20 +- .../drivers/modules/oneview/test_management.py | 214 ++- .../unit/drivers/modules/oneview/test_power.py | 41 +- .../drivers/modules/redfish/test_management.py | 189 +++ .../unit/drivers/modules/redfish/test_power.py | 238 +++ .../unit/drivers/modules/redfish/test_utils.py | 193 +++ .../unit/drivers/modules/storage/test_cinder.py | 608 +++++++ .../unit/drivers/modules/test_agent_base_vendor.py | 144 +- .../unit/drivers/modules/test_console_utils.py | 56 + .../unit/drivers/modules/test_deploy_utils.py | 279 ++- .../unit/drivers/modules/test_iscsi_deploy.py | 155 +- .../unit/drivers/third_party_driver_mock_specs.py | 40 + ironic_tempest_plugin/README.rst | 4 +- ironic_tempest_plugin/manager.py | 46 +- ironic_tempest_plugin/services/baremetal/base.py | 6 +- .../services/baremetal/v1/json/baremetal_client.py | 62 +- .../scenario/ironic_standalone/test_basic_ops.py | 17 +- .../scenario/test_baremetal_boot_from_volume.py | 152 ++ ...-boot-from-volume-support-9f64208f083d0691.yaml | 4 + ...-cisco-ucs-hardware-types-ee597ff0416f158f.yaml | 23 + releasenotes/notes/add-gmr-3c9278d5d785895f.yaml | 8 + ...d-secure-boot-suport-irmc-2c1f09271f96424d.yaml | 5 + .../added-redfish-driver-00ff5e3f7e9d6ee8.yaml | 13 + ...face-to-node-in-available-bd6f695620c2d77f.yaml | 4 + .../notes/bug-1694645-57289200e35bd883.yaml | 14 + .../notes/bug-1702158-79bf57bd4d8087b6.yaml | 27 + ...ange-ramdisk-log-filename-142b10d0b02a5ca6.yaml | 13 + ...upport-using-ceph-radosgw-8c6f7b8bede2077c.yaml | 24 + .../create-port-on-conductor-b921738b4b2a5def.yaml | 7 + ...ync-online_data_migration-edcf0b1cc3667582.yaml | 8 + .../notes/deprecate-elilo-2beca4800f475426.yaml | 7 + .../drac-fix-oob-cleaning-b4b717895e243c9b.yaml | 6 + ...enable-osprofiler-support-e3839b0fa90d3831.yaml | 17 + .../notes/fix-bug-1675529-479357c217819420.yaml | 22 + .../fix-dir-permissions-bc56e83a651bbdb0.yaml | 8 + ...disk-identifier-overwrite-42b33a5a0f7742d8.yaml | 6 + ...x-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml | 7 + .../fix-keystone-parameters-cdb93576d7e7885b.yaml | 4 + .../fix-noop-net-vif-list-a3d8ecee29097662.yaml | 5 + .../notes/flag_always_reboot-62468a7058b58823.yaml | 9 + .../notes/glance-keystone-dd30b884f07f83fb.yaml | 11 + .../notes/ilo-hardware-type-48fd1c8bccd70659.yaml | 16 + ...mprove-conductor-shutdown-42687d8b9dac4054.yaml | 4 + .../notes/ipmitool-vendor-3f0f52240ebbe489.yaml | 5 + ...an-step-reset-bios-config-a8bed625670b7fdf.yaml | 20 + .../irmc-boot-from-volume-4bc5d20a0a780669.yaml | 7 + ...sion-timeout-configurable-b2365b7699b0f98b.yaml | 6 + .../messaging-log-level-5f870ea69db53d26.yaml | 5 + .../no-more-legacy-auth-eeb32f907d0ab5de.yaml | 14 + .../notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml | 9 + .../node-save-internal-info-c5cc8f56f1d0dab0.yaml | 6 + ...ode-storage-interface-api-1d6e217303bd53ff.yaml | 20 + .../non-persistent-boot-5e3a0cd78e9dc91b.yaml | 7 + ...fy-node-storage-interface-7fd07ee7ee71cd22.yaml | 13 + ...eview-agent-mixin-removal-b7277e8f20df5ef2.yaml | 6 + .../oneview-hardware-type-69bbb79da434871f.yaml | 15 + ...group_settings_to_neutron-a6aec830a82c38a3.yaml | 5 + .../port-physical-network-a7009dc514353796.yaml | 26 + ...dating-inspection-failure-57d7fd2999cf4ecf.yaml | 5 + ...re-allocation-for-oneview-09310a215b3aaf3c.yaml | 7 + ...-instance-info-for-deploy-2fe165fc018010e4.yaml | 8 + ...ated-dhcp-provider-method-89926a8f0f4793a4.yaml | 17 + ...an-priority-erase-devices-bb3073da562ed41d.yaml | 6 + .../resource-class-change-563797d5a3c35683.yaml | 12 + .../notes/resource-classes-1bf903547236a473.yaml | 15 + .../notes/rolling-upgrades-ccad5159ca3cedbe.yaml | 5 + .../notes/snmp-hardware-type-ee3d471cf5c596f4.yaml | 10 + .../snmp-outlet-validate-ffbe8e6687172efc.yaml | 3 + .../notes/socat-address-conf-5cf043fabb10bd76.yaml | 6 + .../sort_key_allowed_field-091f8eeedd0a2ace.yaml | 6 + ...-connector-and-target-api-dd172f121ab3af8e.yaml | 54 + releasenotes/source/conf.py | 17 +- requirements.txt | 35 +- setup.cfg | 46 +- test-requirements.txt | 13 +- tools/check-releasenotes.py | 51 + tools/config/ironic-config-generator.conf | 1 + tools/policy/ironic-policy-generator.conf | 3 + tox.ini | 16 +- vagrant.yaml | 4 +- 575 files changed, 40356 insertions(+), 21747 deletions(-) Requirements updates -------------------- diff --git a/driver-requirements.txt b/driver-requirements.txt index 19f3afd..2ca2f65 100644 --- a/driver-requirements.txt +++ b/driver-requirements.txt @@ -11 +11 @@ python-oneviewclient<3.0.0,>=2.5.2 -python-scciclient>=0.4.0 +python-scciclient>=0.5.0 @@ -13 +13 @@ UcsSdk==0.8.2.2 -python-dracclient>=0.1.0 +python-dracclient>=1.3.0 @@ -16,0 +17,3 @@ ImcSdk>=0.7.2 + +# The Redfish hardware type uses the Sushy library +sushy diff --git a/requirements.txt b/requirements.txt index d44b8a7..908e99e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,2 +4,2 @@ -pbr>=2.0.0 # Apache-2.0 -SQLAlchemy>=1.0.10 # MIT +pbr!=2.1.0,>=2.0.0 # Apache-2.0 +SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT @@ -8 +8 @@ automaton>=0.5.0 # Apache-2.0 -eventlet!=0.18.3,>=0.18.2 # MIT +eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT @@ -10,4 +10,4 @@ WebOb>=1.7.1 # MIT -paramiko>=2.0 # LGPLv2.1+ -python-neutronclient>=5.1.0 # Apache-2.0 -python-glanceclient>=2.5.0 # Apache-2.0 -keystoneauth1>=2.18.0 # Apache-2.0 +python-cinderclient>=3.1.0 # Apache-2.0 +python-neutronclient>=6.3.0 # Apache-2.0 +python-glanceclient>=2.7.0 # Apache-2.0 +keystoneauth1>=3.1.0 # Apache-2.0 @@ -20,3 +20,3 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.config>=3.22.0 # Apache-2.0 -oslo.context>=2.12.0 # Apache-2.0 -oslo.db>=4.19.0 # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 +oslo.context>=2.14.0 # Apache-2.0 +oslo.db>=4.24.0 # Apache-2.0 @@ -24 +24 @@ oslo.rootwrap>=5.0.0 # Apache-2.0 -oslo.i18n>=2.1.0 # Apache-2.0 +oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 @@ -26,3 +26,4 @@ oslo.log>=3.22.0 # Apache-2.0 -oslo.middleware>=3.10.0 # Apache-2.0 -oslo.policy>=1.17.0 # Apache-2.0 -oslo.serialization>=1.10.0 # Apache-2.0 +oslo.middleware>=3.27.0 # Apache-2.0 +oslo.policy>=1.23.0 # Apache-2.0 +oslo.reports>=0.6.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 @@ -30,0 +32 @@ oslo.utils>=3.20.0 # Apache-2.0 +osprofiler>=1.4.0 # Apache-2.0 @@ -32 +34,2 @@ pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD -requests!=2.12.2,!=2.13.0,>=2.10.0 # Apache-2.0 +requests>=2.14.2 # Apache-2.0 +rfc3986>=0.3.1 # Apache-2.0 @@ -38 +41 @@ keystonemiddleware>=4.12.0 # Apache-2.0 -oslo.messaging>=5.19.0 # Apache-2.0 +oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index a46c8a7..7bc3146 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0 -coverage>=4.0 # Apache-2.0 +coverage!=4.4,>=4.0 # Apache-2.0 @@ -9 +9 @@ mock>=2.0 # BSD -Babel>=2.3.4 # BSD +Babel!=2.4.0,>=2.3.4 # BSD @@ -14 +14 @@ psycopg2>=2.5 # LGPL/ZPL -python-ironicclient>=1.11.0 # Apache-2.0 +python-ironicclient>=1.14.0 # Apache-2.0 @@ -25 +25 @@ flake8-import-order==0.11 # LGPLv3 -sphinx>=1.5.1 # BSD +sphinx>=1.6.2 # BSD @@ -28,3 +28,2 @@ sphinxcontrib-seqdiag # BSD -openstackdocstheme>=1.5.0 # Apache-2.0 -oslosphinx>=4.7.0 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +openstackdocstheme>=1.16.0 # Apache-2.0 +reno!=2.3.1,>=1.8.0 # Apache-2.0