[release-announce] [ironic] ironic 9.0.0 (pike)

no-reply at openstack.org no-reply at openstack.org
Thu Aug 17 14:46:21 UTC 2017


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






More information about the Release-announce mailing list