[release-announce] [ironic] ironic 10.0.0 (queens)

no-reply at openstack.org no-reply at openstack.org
Tue Jan 16 15:22:16 UTC 2018


We are psyched to announce the release of:

ironic 10.0.0: OpenStack Bare Metal Provisioning

This release is part of the queens 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.

10.0.0
^^^^^^


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

* Adds a new "ansible" deploy interface. It targets mostly
  undercloud use-case by allowing greater customization of
  provisioning process.

  This new deploy interface is usable only with hardware types. It is
  set as supported for a "generic" hardware type and all its
  subclasses, but must be explicitly enabled in the
  "[DEFAULT]enabled_deploy_interfaces" configuration file option to
  actually allow setting nodes to use it.

  For migration from the "staging-ansible" interface from the "ironic-
  staging-drivers" project to this "ansible" interface, operators have
  to consider the following differences:

  * Callback-less operation is not supported.

  * Node's "driver_info" fields "ansible_deploy_username" and
    "ansible_deploy_key_file" are deprecated and will be removed in
    the Rocky release. Instead, please use "ansible_username" and
    "ansible_key_file" respectively.

  * Base path for playbooks can be defined in the node's
    "driver_info['ansible_playbooks_path']" field. The default is the
    value of the "[ansible]/playbooks_path" option from the ironic
    configuration file.

  * Default playbooks for actions and cleaning steps file can be set
    in ironic configuration file as various "[ansible]/default_*"
    options.

* Adds new configuration option "[DEFAULT]default_resource_class"
  that specifies the resource class to use for new nodes when no
  resource class is provided in the node creation request.

* If the "[glance]swift_account" option is not set, the default
  value is now calculated based on the ID of the project used to
  access the object store.  Previously this option was required. This
  change does not affect using RadosGW as an object store backend.

* If the "[glance]swift_temp_url_key" option is not set, ironic now
  tries to fetch the key from the project used to access swift (often
  called "service"). This change does not affect using RadosGW as an
  object store backend.

* If the "[glance]swift_endpoint_url" option is not set, ironic now
  tries to fetch the Object Store service URL from the service
  catalog. The "/v1/AUTH_*" suffix is stripped, if present.

* Adds new capabilities ("server_model", "rom_firmware_version",
  "pci_gpu_devices", "trusted_boot" and "irmc_firmware_version") to
  the iRMC out-of-band hardware inspection for FUJITSU PRIMERGY bare
  metal nodes with firmware iRMC S4 and newer.

* Adds the ability to set keystoneauth settings for automatic
  service discovery in the following configuration sections:
  "[glance]", "[cinder]", "[inspector]", "[swift]" and "[neutron]".


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

* *python-scciclient* of version 0.6.0 or newer is required by the
  "irmc" hardware type to support new out-of-band inspection
  capabilities. If an older version is used, the new capabilities will
  not be discovered.

* During a rolling upgrade
  (https://docs.openstack.org/ironic/latest/admin/upgrade-guide.html
  #during-maintenance-window) when the new services are pinned to the
  old release, the Bare Metal API version will also be pinned to the
  old release. This will prevent new features from being accessed
  until after the upgrade is done.

* A new WSGI application script "ironic-api-wsgi" is now available.
  It is auto-generated by "pbr" and provides the ability to serve the
  bare metal API using a WSGI server (for example Nginx and uWSGI or
  Apache with mod_wsgi).


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

* Configuration option "[keystone]/region_name" is deprecated and
  will be ignored in the Rocky release. Instead, provide per-service
  "region_name" option in the following configuration file sections:
  "[service_catalog]" (for bare metal API endpoint discovery from
  keystone service catalog), "[glance]", "[neutron]", "[cinder]",
  "[inspector]" and "[swift]".

* Configuration option "[cinder]/url" is deprecated and will be
  ignored in the Rocky release. Instead, use
  "[cinder]/endpoint_override" configuration option to set a specific
  cinder API address when automatic discovery of the cinder API
  endpoint from keystone catalog is not desired.

* Configuration option "glance_api_servers" from the "[glance]"
  section in the configuration file is deprecated and will be ignored
  in the Rocky release. Instead, use "[glance]/endpoint_override"
  configuration option to set a specific (possibly load-balanced)
  glance API address when automatic discovery of glance API endpoint
  from keystone catalog is not desired. This new option defaults to
  "None" and must be set explicitly if needed. This new option is
  mostly suited for standalone ironic deployments without keystone and
  its service catalog, and it is generally recommended to rely on
  keystone service catalog for service endpoint discovery.

* Configuration option "[glance]/glance_api_insecure" is deprecated
  and will be ignored in the Rocky release. Instead, use
  "[glance]/insecure" configuration option (its default is "False").

* Configuration option "[glance]/glance_cafile" is deprecated and
  will be ignored in the Rocky release. Instead, use "[glance]/cafile"
  configuration option (its default is "None").

* Configuration option "[glance]/auth_strategy" is deprecated and
  will be ignored in the Rocky release. Instead, to setup glance in
  noauth mode set "[glance]/auth_type" configuration option to "none"
  and provide glance API address as "[glance]/endpoint_override"
  configuration option.

* Configuration option "[inspector]/service_url" is deprecated and
  will be ignored in the Rocky release. Instead, use
  "[inspector]/endpoint_override" configuration option to set the
  specific ironic-inspector API endpoint when its automatic discovery
  from the keystone catalog is not desired. This new option has no
  default value ("None") and must be set explicitly.

* Relying on the value of "[DEFAULT]/auth_strategy" configuration
  option to configure usage of standalone mode for ironic-inspector is
  deprecated and will be impossible the the Rocky release. Instead,
  set "[inspector]/auth_type" configuration option to "none" and
  provide the ironic-inspector inspector API address as
  "[inspector]/endpoint_override" configuration option.

* Configuration option "[neutron]/url" is deprecated and will be
  ignored in the Rocky release. Instead, use
  "[neutron]/endpoint_override" configuration option to set specific
  neutron API address when automatic discovery of neutron API endpoint
  from keystone catalog is not desired. This option has no default
  value, and must be set explicitly for a stand alone deployment of
  ironic and neutron (when "[neutron]/auth_type" is set to "none"),
  since the service catalog is not available in this case. Otherwise
  it is generally recommended to rely on keystone service catalog for
  service endpoint discovery.

* Configuration option "[neutron]/url_timeout" is deprecated and
  will be ignored in the Rocky release. Instead, use
  "[neutron]/timeout" configuration option. This new option has no
  default value and must be set explicitly to "30" to keep previous
  default behavior.

* Configuration option "[neutron]/auth_strategy" is deprecated and
  will be ignored in the Rocky release. Instead, set
  "[neutron]/auth_type" configuration option to "none", and provide
  neutron API address as "[neutron]/endpoint_override" configuration
  option.

* Using "ironic/api/app.wsgi" script is deprecated and it will be
  removed in Rocky release. Please switch to automatically generated
  "ironic-api-wsgi" script instead.


Bug Fixes
*********

* Fixes propagation of HTTP errors from **ironic-python-agent**
  commands. Now an operation is aborted on receiving HTTP error status
  from the ramdisk.

* Fixes an issue whereby in certain deployment failure scenarios a
  node's provisioning ports are not deleted.  The issue would
  typically have been masked by nova, which deletes all ports with a
  device ID matching the instance's UUID during instance termination.
  See bug 1732412 (https://bugs.launchpad.net/ironic/+bug/1732412) for
  details.

* Fixes an issue where if a failure occurs during deployment, the
  Bare Metal service could attempt to collect logs from a node that
  had been powered off. This would result in a number of failed
  attempts to collect the logs before failing the deployment.  See bug
  1732939 (https://bugs.launchpad.net/ironic/+bug/1732939) for
  details.

* Fixes a bug when SSL-related options in "[swift]" section of
  ironic configuration file were ignored when performing API requests
  to Swift. See https://launchpad.net/bugs/1736158 for more
  information.

* No longer validates requested root partition size for whole-disk
  images using "iscsi" deploy interface, see bug 1742451
  (https://bugs.launchpad.net/ironic/+bug/1742451) for details.


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

* Support for parsing the glance API endpoint from the full REST
  path to a glance image was removed as it was not working anyway. The
  image service API is now always resolved from keystone catalog or
  via the options in the "[glance]" section in ironic configuration
  file.

* Signatures of several networking-related functions/methods have
  been changed to include request context as an optional keyword
  argument.

  The functions/methods in question are:

  * "ironic.common.neutron.get_client"

  * "ironic.common.neutron.unbind_neutron_port"

  * "ironic.common.neutron.update_port_address"

  * "ironic.common.neutron.validate_network"

  *
    "ironic.common.neutron.NeutronNetworkInterfaceMixin.get_cleaning_
    network"

  *
    "ironic.common.neutron.NeutronNetworkInterfaceMixin.get_provision
    ing_network"

  * "ironic.dhcp.neutron.NeutronDHCPApi.update_port_dhcp_opts"

  * "ironic.dhcp.none.NeutronDHCPApi.update_port_dhcp_opts"

  If you are using any of the above functions/methods in your out-of-
  tree ironic driver or driver interface code, you should update the
  code to pass an instance of "ironic.common.context.RequestContext"
  class as a "context" keyword argument to those functions/methods.

* The agent heartbeat API (POST "/v1/heartbeat/<node>") can now
  receive a new "agent_version" parameter. If received, this will be
  stored in the node's "driver_internal_info['agent_version']" field.
  This information will be used by the Bare Metal service to
  gracefully degrade support for agent features that are requested by
  the Bare Metal service, ensuring that we don't request a feature
  that an older ramdisk doesn't support.

* During the out-of-band inspection for nodes using the "irmc"
  hardware type, nodes will be powered on. The original power state
  will be restored after inspection is finished.

* The tempest plugin code that was in "ironic_tempest_plugin/" has
  been removed.  Tempest plugin code has been migrated to the project
  openstack/ironic-tempest-plugin
  (https://git.openstack.org/cgit/openstack/ironic-tempest-plugin).
  This was an OpenStack wide goal for the Queens cycle
  (https://governance.openstack.org/tc/goals/queens/split-tempest-
  plugins.html).

Changes in ironic 9.2.0..10.0.0
-------------------------------

5e373e6 Make the Python 3 job voting
fbcc4df Setup ansible interface in devstack
eb4a47c Update links
bbff319 Node traits: Add DB API & model
fb47f17 Add release 10.0 to release mappings
ac7988f Remove ironic_tempest_plugin/ directory
a7623d9 Do not validate root partition size for whole disk images in iscsi deploy
8a87fc6 Switch non-vendor parts admin guide to hardware types
f1c26ab Clean up release notes before a release
7e1287f Remove ironic_tempest_plugin/ directory
12d8500 Fix initialization of auth token AuthProtocol
7490b6e Add a provisioning target:adopt
28a165f Devstack: install qemu-system-x86 on RHEL
61b81d0 Add uWSGI support
28a50d8 Fix ironic node create cli
844cd04 zuul: Update TLSPROXY based on branch
da477a0 Run in superconductor cellsv2 mode for non-grenade jobs
7428eeb Updated from global requirements
26d7be5 Add documentation covering storage multi-attach
433b1fd Adds rescue_interface to base driver class
7e38a08 Document the check done in "ironic-dbsync upgrade"
8490f75 zuul: Add ability to specify a 'branch_override' value
27e4460 zuul: Remove some redundancy by consolidating the 'post.yaml' files
4cb638f Use openstack port create instead of neutron port-create
d4a3cb6 ansible: handle mount of /sys the same way IPA does it
ce7119e [ansible] add defaults to config
435328e Prevent changes to the ironic_tempest_plugin/ directory
ba53acb Finalize migration to keystoneauth adapters
f5f39f7 Updated from global requirements
076b3e6 Follow up Add additional capabilities discovery for iRMC driver
7eccab7 Use NamedExtensionManager for drivers
cf8b62e Use the tempest plugin from openstack/ironic-tempest-plugin
e824e49 Switch emphasis to hardware types in the installation guide
4d43262 Use adapters for neutronclient
76935af Remove deprecated ironic.common.policy.enforce()
83dd6a1 Auto-detect the defaults for [glance]swift_{account,temp_url_key,endpoint_url}
c70b7dd Add 'nova hypervisor-list' in example set of commands to compare the resources in Compute service and Bare Metal service.
b642f28 Receive and store agent version on heartbeat
701e3bf tox: Use the default version of Python 3 for tox tests
61ec886 Remove unused methond _get_connect_string
61fc7d0 Update comment on location of webapi-version-history.rst
021e035 Updated from global requirements
351677d Do not access dbapi attributes on dbsync import
9ee2825 Fix swiftclient creation
7631231 Update docs to include API version pinning
13363ab Add networking-fujitsu ML2 driver to multitenacy doc
671f0ad Updated from global requirements
f21643d 9.2.0 is the ironic version with rebuild configdrive
feac8cf Pin API version during rolling upgrade
47b198c devstack to `git pull sushy-tools` if required
a75128b Add spec & priorities links to contributor doc
02a1909 Fix HPE headers for oneview.
a860639 Updated from global requirements
abfdcc4 Fix the format command-line
a1419e2 Add information about neutron ML2 drivers to multitenancy docs
b4949a0 Apply pep8 check to app.wsgi
b5f3dfc ironic.conf.sample includes default_resource_class
2659933 Add a configuration option for the default resource class
f02ef8a Rework drivers page in the admin documentation
6a48eba Update bindep.txt for doc builds
752c82c Don't collect logs from powered off nodes
7adbf11 Add additional capabilities discovery for iRMC driver
303ac3f Use adapters for inspectorclient
3e84bdb Use adapters for cinderclient
d808332 Imported Translations from Zanata
a7ef398 Followup to I07fb8115d254e877d8781207eaec203e3fdf8ad6
816784d Add missing gzip call to FAQ item on how to repack IPA
63e0ff2 Rework keystone auth for glance
af050b5 Remove setting of version/release from releasenotes
618a4b3 zuul.d: Remove unneeded required-projects
4a6671b Updated from global requirements
36580fb Add 9.2 to release mappings
9e2b328 Remove provisioning network ports during tear down
9dbef53 Fix image type for partition-pxe_ipmitool-tinyipa-python3 job
c7e7d30 update description for Change Node Power State
22ea3fb Fail deploy if agent returns >= 400
9036e1e Add missing 'autospec' to unit tests - /unit/objects/
9b1a7ce Add ansible deploy interface
fe2102f [devstack] stop setting or relying on standard properties
ce18e81 Add rescue_interface to node DB table


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

api-ref/source/baremetal-api-v1-misc.inc           |   4 +
.../source/baremetal-api-v1-node-management.inc    |   7 +
api-ref/source/parameters.yaml                     |  11 +-
bindep.txt                                         |   7 +-
devstack/files/debs/ironic                         |   1 +
devstack/files/rpms/ironic                         |   2 +
devstack/lib/ironic                                | 217 +++--
devstack/settings                                  |   4 -
devstack/upgrade/resources.sh                      |   9 +-
.../include/configure-ironic-api-mod_wsgi.rst      |   9 +-
.../install/include/configure-ironic-conductor.rst |  82 +-
driver-requirements.txt                            |   5 +-
etc/apache2/ironic                                 |   5 +-
etc/ironic/ironic.conf.sample                      | 513 +++++++++++-
ironic/api/app.py                                  |   2 +-
ironic/api/app.wsgi                                |  22 +-
ironic/api/controllers/root.py                     |   4 +-
ironic/api/controllers/v1/__init__.py              |  35 +-
ironic/api/controllers/v1/node.py                  |   3 +
ironic/api/controllers/v1/ramdisk.py               |  19 +-
ironic/api/controllers/v1/utils.py                 |  10 +
ironic/api/controllers/v1/versions.py              |  42 +-
ironic/api/wsgi.py                                 |  41 +
ironic/cmd/dbsync.py                               |   9 +-
ironic/common/cinder.py                            |  53 +-
ironic/common/driver_factory.py                    |  30 +-
ironic/common/exception.py                         |  11 +-
ironic/common/glance_service/base_image_service.py |  92 ++-
ironic/common/glance_service/service_utils.py      |  98 +--
ironic/common/glance_service/v2/image_service.py   |  53 +-
ironic/common/image_service.py                     |  42 +-
ironic/common/keystone.py                          |  30 +-
ironic/common/neutron.py                           | 115 +--
ironic/common/policy.py                            |  22 -
ironic/common/release_mappings.py                  |  33 +-
ironic/common/states.py                            |  22 +
ironic/common/swift.py                             |  47 +-
ironic/conductor/manager.py                        |  46 +-
ironic/conductor/rpcapi.py                         |  16 +-
ironic/conf/__init__.py                            |   2 +
ironic/conf/ansible.py                             | 141 ++++
ironic/conf/auth.py                                |   7 +-
ironic/conf/cinder.py                              |  10 +-
ironic/conf/default.py                             |  28 +-
ironic/conf/glance.py                              |  34 +-
ironic/conf/inspector.py                           |   9 +-
ironic/conf/irmc.py                                |   9 +
ironic/conf/keystone.py                            |   6 +
ironic/conf/neutron.py                             |  19 +-
ironic/conf/opts.py                                |   1 +
ironic/conf/swift.py                               |   4 +-
ironic/db/api.py                                   |  70 +-
.../405cfe08f18d_add_rescue_interface_to_node.py   |  32 +
.../b4130a7fc904_create_nodetraits_table.py        |  43 +
ironic/db/sqlalchemy/api.py                        | 101 ++-
ironic/db/sqlalchemy/models.py                     |  13 +
ironic/dhcp/base.py                                |  16 +-
ironic/dhcp/neutron.py                             |  17 +-
ironic/dhcp/none.py                                |   3 +-
ironic/drivers/base.py                             |  28 +-
ironic/drivers/fake_hardware.py                    |   5 +
ironic/drivers/generic.py                          |   4 +-
ironic/drivers/hardware_type.py                    |   5 +
ironic/drivers/modules/agent.py                    |   3 +
ironic/drivers/modules/agent_base_vendor.py        |  28 +-
ironic/drivers/modules/agent_client.py             |  11 +
ironic/drivers/modules/ansible/__init__.py         |   0
ironic/drivers/modules/ansible/deploy.py           | 646 +++++++++++++++
.../ansible/playbooks/add-ironic-nodes.yaml        |  11 +
.../drivers/modules/ansible/playbooks/ansible.cfg  |  35 +
.../playbooks/callback_plugins/ironic_log.ini      |  15 +
.../playbooks/callback_plugins/ironic_log.py       | 148 ++++
.../drivers/modules/ansible/playbooks/clean.yaml   |   6 +
.../modules/ansible/playbooks/clean_steps.yaml     |  19 +
.../drivers/modules/ansible/playbooks/deploy.yaml  |  12 +
ironic/drivers/modules/ansible/playbooks/inventory |   1 +
.../modules/ansible/playbooks/library/facts_wwn.py |  64 ++
.../ansible/playbooks/library/root_hints.py        |  97 +++
.../ansible/playbooks/library/stream_url.py        | 118 +++
.../playbooks/roles/clean/defaults/main.yaml       |   1 +
.../ansible/playbooks/roles/clean/tasks/main.yaml  |   6 +
.../ansible/playbooks/roles/clean/tasks/shred.yaml |   8 +
.../ansible/playbooks/roles/clean/tasks/wipe.yaml  |  24 +
.../ansible/playbooks/roles/clean/tasks/zap.yaml   |  16 +
.../playbooks/roles/configure/defaults/main.yaml   |   3 +
.../playbooks/roles/configure/tasks/grub.yaml      |  86 ++
.../playbooks/roles/configure/tasks/main.yaml      |   4 +
.../playbooks/roles/configure/tasks/mounts.yaml    |   8 +
.../roles/deploy/files/partition_configdrive.sh    | 110 +++
.../playbooks/roles/deploy/tasks/configdrive.yaml  |  44 +
.../playbooks/roles/deploy/tasks/download.yaml     |  13 +
.../ansible/playbooks/roles/deploy/tasks/main.yaml |   7 +
.../playbooks/roles/deploy/tasks/write.yaml        |  20 +
.../playbooks/roles/discover/tasks/main.yaml       |  13 +
.../playbooks/roles/discover/tasks/roothints.yaml  |   9 +
.../playbooks/roles/prepare/tasks/main.yaml        |   2 +
.../playbooks/roles/prepare/tasks/parted.yaml      |  45 +
.../playbooks/roles/shutdown/tasks/main.yaml       |   6 +
.../modules/ansible/playbooks/shutdown.yaml        |   6 +
ironic/drivers/modules/deploy_utils.py             |   2 +-
ironic/drivers/modules/fake.py                     |  16 +
ironic/drivers/modules/image_cache.py              |   2 +-
ironic/drivers/modules/inspector.py                |  36 +-
ironic/drivers/modules/irmc/inspect.py             |  82 +-
ironic/drivers/modules/iscsi_deploy.py             |  10 +
ironic/drivers/modules/network/common.py           |  17 +-
ironic/drivers/modules/network/flat.py             |  14 +-
ironic/drivers/modules/network/neutron.py          |  29 +-
ironic/drivers/modules/oneview/common.py           |   5 +-
ironic/drivers/modules/oneview/deploy.py           |   6 +-
ironic/drivers/modules/oneview/deploy_utils.py     |   5 +-
ironic/drivers/modules/oneview/inspect.py          |   5 +-
ironic/drivers/modules/oneview/management.py       |   5 +-
ironic/drivers/modules/oneview/power.py            |   5 +-
ironic/drivers/oneview.py                          |   4 +-
ironic/locale/ja/LC_MESSAGES/ironic.po             |  24 +-
ironic/objects/node.py                             |  45 +-
.../unit/api/controllers/v1/test_portgroup.py      |  18 +-
.../api/controllers/v1/test_volume_connector.py    |  22 +-
.../unit/api/controllers/v1/test_volume_target.py  |  20 +-
.../unit/drivers/modules/ansible/test_deploy.py    | 909 +++++++++++++++++++++
.../unit/drivers/modules/irmc/test_inspect.py      | 348 +++++++-
.../unit/drivers/modules/network/test_common.py    |  49 +-
.../unit/drivers/modules/network/test_flat.py      |  13 +-
.../unit/drivers/modules/network/test_neutron.py   |  44 +-
.../unit/drivers/modules/oneview/test_common.py    |   4 +-
.../unit/drivers/modules/oneview/test_deploy.py    |   6 +-
.../drivers/modules/oneview/test_deploy_utils.py   |   5 +-
.../unit/drivers/modules/oneview/test_inspect.py   |   5 +-
.../drivers/modules/oneview/test_management.py     |   5 +-
.../unit/drivers/modules/oneview/test_power.py     |   6 +-
.../unit/drivers/modules/test_agent_base_vendor.py |  65 +-
.../unit/drivers/modules/test_agent_client.py      |  24 +-
.../unit/drivers/modules/test_iscsi_deploy.py      |  17 +
.../unit/drivers/third_party_driver_mock_specs.py  |   1 +
ironic_tempest_plugin/README.rst                   |  15 -
ironic_tempest_plugin/__init__.py                  |   0
ironic_tempest_plugin/clients.py                   |  53 --
ironic_tempest_plugin/common/__init__.py           |   0
ironic_tempest_plugin/common/utils.py              |  33 -
ironic_tempest_plugin/common/waiters.py            | 112 ---
ironic_tempest_plugin/config.py                    | 116 ---
ironic_tempest_plugin/manager.py                   | 559 -------------
ironic_tempest_plugin/plugin.py                    |  46 --
ironic_tempest_plugin/services/__init__.py         |   0
.../services/baremetal/__init__.py                 |   0
ironic_tempest_plugin/services/baremetal/base.py   | 264 ------
.../services/baremetal/v1/__init__.py              |   0
.../services/baremetal/v1/json/__init__.py         |   0
.../services/baremetal/v1/json/baremetal_client.py | 641 ---------------
.../scenario/ironic_standalone/test_basic_ops.py   | 145 ----
.../scenario/test_baremetal_boot_from_volume.py    | 152 ----
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
playbooks/legacy/grenade-dsvm-ironic/post.yaml     |  15 -
playbooks/legacy/grenade-dsvm-ironic/run.yaml      |  17 +-
.../legacy/ironic-dsvm-base-multinode/post.yaml    |  15 +
playbooks/legacy/ironic-dsvm-base/post.yaml        |  15 +
playbooks/legacy/ironic-dsvm-functional/post.yaml  |  15 -
playbooks/legacy/ironic-dsvm-functional/run.yaml   |   2 +-
playbooks/legacy/ironic-dsvm-standalone/post.yaml  |  15 -
playbooks/legacy/ironic-dsvm-standalone/run.yaml   |  23 +-
playbooks/legacy/tempest-dsvm-ironic-bfv/post.yaml |  15 -
playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml  |  16 +-
.../legacy/tempest-dsvm-ironic-inspector/post.yaml |  15 -
.../legacy/tempest-dsvm-ironic-inspector/run.yaml  |  25 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  26 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../legacy/tempest-dsvm-ironic-parallel/post.yaml  |  15 -
.../legacy/tempest-dsvm-ironic-parallel/run.yaml   |   2 +-
.../tempest-dsvm-ironic-pxe_ipa-full/post.yaml     |  15 -
.../tempest-dsvm-ironic-pxe_ipa-full/run.yaml      |  17 +-
.../post.yaml                                      |  15 -
.../run.yaml                                       |  17 +-
.../add-agent-api-error-77ec6c272390c488.yaml      |   4 +
.../notes/ansible-deploy-15da234580ca0c30.yaml     |  27 +
.../default-resource-class-e11bacfb01d6841b.yaml   |   6 +
.../default-swift_account-b008d08e85bdf154.yaml    |  15 +
...precate-glance-url-scheme-ceff3008cf9cf590.yaml |   7 +
.../deprecate-global-region-4dbea91de71ebf59.yaml  |   9 +
.../deprecated-cinder-opts-e10c153768285cab.yaml   |   8 +
.../deprecated-glance-opts-4825f000d20c2932.yaml   |  31 +
...deprecated-inspector-opts-b19a08339712cfd7.yaml |  17 +
.../deprecated-neutron-opts-2e1d9e65f00301d3.yaml  |  49 ++
...provisioning-port-cleanup-79ee7930ca206c42.yaml |   9 +
...fix-reboot-log-collection-c3e22fc166135e61.yaml |   8 +
.../fix-swift-ssl-options-d93d653dcd404960.yaml    |   6 +
.../heartbeat_agent_version-70f4e64b19b51d87.yaml  |   8 +
...c-additional-capabilities-4fd72ba50d05676c.yaml |  17 +
.../notes/iscsi-whole-disk-cd464d589d029b01.yaml   |   6 +
.../keystoneauth-config-1baa45a0a2dd93b4.yaml      |   6 +
.../notes/pin-api-version-029748f7d3be68d1.yaml    |   8 +
.../tempest_plugin_removal-009f9ce8456b16fe.yaml   |   9 +
.../notes/wsgi-applications-5d36cf2a8885a56d.yaml  |  11 +
releasenotes/source/conf.py                        |  12 +-
releasenotes/source/liberty.rst                    |   6 +-
.../source/locale/ja/LC_MESSAGES/releasenotes.po   |  43 -
requirements.txt                                   |  16 +-
setup.cfg                                          |  11 +-
test-requirements.txt                              |   2 +-
tox.ini                                            |   3 +-
zuul.d/legacy-ironic-jobs.yaml                     |  30 +-
zuul.d/project.yaml                                |   4 +-
316 files changed, 7783 insertions(+), 7890 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index a344bd6..952f3a4 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -11 +11 @@ python-oneviewclient<3.0.0,>=2.5.2
-python-scciclient>=0.5.0
+python-scciclient>=0.6.0
@@ -19,0 +20,3 @@ sushy
+
+# Ansible-deploy interface
+ansible>=2.4
diff --git a/requirements.txt b/requirements.txt
index 2659169..0657480 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10 +10 @@ WebOb>=1.7.1 # MIT
-python-cinderclient>=3.2.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
@@ -13 +13 @@ python-glanceclient>=2.8.0 # Apache-2.0
-keystoneauth1>=3.2.0 # Apache-2.0
+keystoneauth1>=3.3.0 # Apache-2.0
@@ -20 +20 @@ oslo.concurrency>=3.20.0 # Apache-2.0
-oslo.config>=4.6.0 # Apache-2.0
+oslo.config>=5.1.0 # Apache-2.0
@@ -27 +27 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=1.23.0 # Apache-2.0
+oslo.policy>=1.30.0 # Apache-2.0
@@ -30,2 +30,2 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
-oslo.service>=1.24.0 # Apache-2.0
-oslo.utils>=3.31.0 # Apache-2.0
+oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
+oslo.utils>=3.33.0 # Apache-2.0
@@ -36,2 +36,2 @@ rfc3986>=0.3.1 # Apache-2.0
-six>=1.9.0 # MIT
-jsonpatch>=1.16 # BSD
+six>=1.10.0 # MIT
+jsonpatch!=1.20,>=1.16 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index b9cfbdb..cf370de 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14 +14 @@ psycopg2>=2.6.2 # LGPL/ZPL
-testtools>=1.4.0 # MIT
+testtools>=2.2.0 # MIT






More information about the Release-announce mailing list