We are thrilled to announce the release of: openstacksdk 0.44.0: An SDK for building applications to work with OpenStack This release is part of the ussuri release series. The source is available from: https://opendev.org/openstack/openstacksdk Download the package from: https://pypi.org/project/openstacksdk Please report issues through: https://storyboard.openstack.org/#!/project/openstack/openstacksdk For more details, please see below. 0.44.0 ^^^^^^ New Features ************ * Added bulk create securtiy groups rules. With new proxy method *create_security_group_rules* now it's possible to create multiple rules for certain security group. * Project cleanup functionality. It provides a single method in the connection object, which calls cleanup method in all supported services (both part of the SDK itself and all "imported" in the runtime or through the vendor_hook functionality). Cleanup is working in multiple threads where possible (no dependencies between services). * Adds support to create and manage Identity v3 Federation resources - Specifically, Identity Providers, Mappings and Federation Protocols. * Switched to the "futurist" library for managing background concurrent tasks. Introduced a new "pool_executor" parameter to *Connection* that allows passing any any futurist Executor for cases where the default "ThreadPoolExecutor" would not be appropriate. * Adds an ability for the bare metal "wait_for_nodes_provision_state" call to return an object with nodes that succeeded, failed or timed out instead of raising an exception. Upgrade Notes ************* * Rackspace Cloud's vendor profile has been updated to use v2 of the Block Storage API. This introduces an endpoint override for the service based on "region_name" and "project_id". Bug Fixes ********* * Fixes API version negotiation in the following bare metal node calls: * "set_node_provision_state" * "set_node_power_state" * "patch_node" Previously an unexpectingly low version could be negotiated, breaking certain features, for example calling the "provide" provisioning action with a node name. Changes in openstacksdk 0.43.0..0.44.0 -------------------------------------- ad170452 Add Release notes entry for Identity v3 IDP, Mapping and Protocol 49c3bba9 Add support for Federation Protocols c6c69fc4 Update Rackspace vendor profile for cinder v2 d85c7eef Add support for Identity Providers d4ddd5ce Lay a foundation for the project cleanup 2c8a9181 Add support for not including the ID in creation requests 994c97e0 Run fetch-subunit-output role conditionally 9e58f9d7 Add bulk creation of rules for Security Group. d10d31b3 Add support for federation mappings 36fe79f9 Add Octavia quota to the SDK docs 40802262 Import generate_temp_url from swiftclient bc0e2605 Set max_microversion to 2.53 for hypervisors 00647dbb baremetal: fail-less mode for wait_for_nodes_provision_state 54a76faf Rationalize examples and functional extra config loading 2d844d77 Fix microversion negotiation in some bare metal node call 9231c872 Set min version to test node retirement 1c34e2a2 Add support for additional volume backup options b6a22e37 Switch to futurist for concurrency 14973754 Add description field to portforwarding NAT rules 27005c33 Fixes get_user when identity responses are paged Diffstat (except docs and test files) ------------------------------------- .../user/resources/load_balancer/v2/quota.rst | 12 + examples/connect.py | 4 +- lower-constraints.txt | 1 + openstack/baremetal/v1/_common.py | 9 + openstack/baremetal/v1/_proxy.py | 72 +++-- openstack/baremetal/v1/node.py | 30 +- openstack/block_storage/v3/_proxy.py | 39 +++ openstack/cloud/_block_storage.py | 8 +- openstack/cloud/_identity.py | 12 +- openstack/cloud/_object_store.py | 13 - openstack/cloud/openstackcloud.py | 54 ++++ openstack/compute/v2/_proxy.py | 20 ++ openstack/compute/v2/hypervisor.py | 3 + openstack/config/cloud_region.py | 27 ++ openstack/config/vendors/rackspace.json | 3 +- openstack/connection.py | 18 +- openstack/dns/v2/_proxy.py | 11 + openstack/identity/v3/_proxy.py | 320 +++++++++++++++++++++ openstack/identity/v3/federation_protocol.py | 43 +++ openstack/identity/v3/identity_provider.py | 48 ++++ openstack/identity/v3/mapping.py | 39 +++ openstack/network/v2/_proxy.py | 61 ++++ openstack/network/v2/port_forwarding.py | 2 + openstack/object_store/v1/_proxy.py | 135 +++++++++ openstack/orchestration/v1/_proxy.py | 18 ++ openstack/proxy.py | 16 ++ openstack/resource.py | 11 +- .../functional/baremetal/test_baremetal_node.py | 24 ++ .../functional/network/v2/test_port_forwarding.py | 6 +- .../unit/identity/v3/test_federation_protocol.py | 55 ++++ .../unit/identity/v3/test_identity_provider.py | 59 ++++ openstack/utils.py | 109 +++++++ playbooks/devstack/post.yaml | 3 +- .../notes/add-sg-rules-bulk-f36a3e2326d74867.yaml | 5 + .../add_project_cleanup-39c3517b25a5372e.yaml | 8 + .../added-federation-support-3b65e531e57211f5.yaml | 5 + releasenotes/notes/futurist-b54b0f449d410997.yaml | 8 + ...ovision-state-negotiation-0155b4d0e932054c.yaml | 12 + ...ackspace-block-storage-v2-fe0dd69b9e037599.yaml | 6 + ...t-provision-state-no-fail-efa74dd39f687df8.yaml | 6 + requirements.txt | 2 +- tox.ini | 2 + 65 files changed, 2368 insertions(+), 132 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 90a88c6e..bda4eb9f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17 +17 @@ ipaddress>=1.0.17;python_version<'3.3' # PSF -futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD +futurist>=2.1.0 # Apache-2.0