[ironic] ironic 10.0.0 (queens)
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
participants (1)
-
no-reply@openstack.org