We are stoked to announce the release of: openstacksdk 1.5.0: An SDK for building applications to work with OpenStack This release is part of the bobcat 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. 1.5.0 ^^^^^ New Features ************ * Added support for block storage services. * Add support for creating, updating and deleting domain configurations for the identity service. * Add support for Image Metadef objects. * Added new fields to loadbalancer create/update listener API in order to support new HTTP Strict Transport Security support. * Added support to manage and unmanage shares from the shared file system service. * Added support to list, get, create, update, and delete share metadata from shared file system service. * Add both "ca_tls_container_ref" and "crl_container_ref" parameters for Octavia pools, which can be used to store the ca certificate used by backend servers and the revocation list file. * Add SFC resources: FlowClassifier, PortChain, PortPair, PortPairGroup and ServiceGraph resources and introduce support for CRUD operations for these. Upgrade Notes ************* * The "openstack.format.Formatter" class no longer defines a "serialize" method to override. This was unused and unneccessary complexity. Changes in openstacksdk 1.4.0..1.5.0 ------------------------------------ 99585746 block storage: Add query string params for many APIs d8449527 docs: Add exception documentation 73495947 docs: Document various warnings a5a5e244 baremetal: Add missing docstrings dca64398 block storage: Add missing docstrings ac35b6ba compute: Add missing docstrings c0f2aee7 docs: Add missing docs for block storage resources d06ac50e docs: Add missing docs for compute resources 19ba0adc docs: Add missing docs for identity resources 60be29a5 identity: Add support for domain config 891443e7 cloud: Remove dead code 3d7bbc48 Fix heat stack _action function to handle exception 16c114dd Add SFC to SDK c9a877e2 Run mypy as pre-commit 2a8627d4 mypy: Address issues with top-level files 3163c759 openstack.format: Remove 'serialize' classmethod f9bea72a resource: Remove unused 'Resource.service' attribute 41d19a55 cloud: Remove unnecessary types import e24747d2 cloud: Remove unnecessary '_make_unicode' helper c05e17a0 image: Fixed URL for stores_info d67006ea tests: Move cloud-layer service tests to their own file 97d03496 tests: Rename file, remove unused file c6aaae56 Add image metadef object operations c8557f88 Add 2 tls container params for Octavia Pools 7b5356f3 Support manage/unmanage shares with manila 8f9aa3b7 fix memory leak of Connections bb4f5f1e tests: Skip intermittently failing placement traits test 8ee8f57a Stop randomly sorting error lines 460cee1f Cleanup logic to either dry-run, bulk_delete or do single object deletes d7cb495b Fix manila access rules functional tests 84f28505 tox: Add environment documentation 82ee4444 cloud: Remove '_object_store_client' 7852d957 cloud: Remove '_{service}_client' properties 6370f546 tests: Migrate tests from os-hosts to os-services 66d20191 block storage: Add support for services 0f7aeda9 cloud: Remove '_is_client_version' 6ef2af39 Implemented methods for share metadata dceca6bb volume: Add Extension to volume v2 API f5af5f5e Encode type of 'links' for Extension objects 7bedf9fc VPN: add missing fields to VpnIpsecPolicy 1d43b6b1 Add Octavia support for HSTS Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 43 ++ .../user/resources/block_storage/v2/stats.rst | 12 + .../block_storage/v3/availability_zone.rst | 13 + .../resources/block_storage/v3/capabilities.rst | 12 + .../user/resources/block_storage/v3/extension.rst | 12 + .../user/resources/block_storage/v3/group.rst | 12 + .../resources/block_storage/v3/group_snapshot.rst | 13 + .../user/resources/block_storage/v3/group_type.rst | 12 + .../user/resources/block_storage/v3/limits.rst | 37 ++ .../resources/block_storage/v3/resource_filter.rst | 13 + .../user/resources/block_storage/v3/service.rst | 12 + .../user/resources/block_storage/v3/stats.rst | 12 + .../user/resources/block_storage/v3/type.rst | 8 + .../resources/compute/v2/availability_zone.rst | 13 + .../user/resources/compute/v2/server_action.rst | 22 + .../resources/compute/v2/server_diagnostics.rst | 13 + .../user/resources/compute/v2/server_group.rst | 13 + .../resources/compute/v2/server_remote_console.rst | 13 + .../resources/compute/v2/volume_attachment.rst | 13 + .../identity/v3/application_credential.rst | 13 + .../user/resources/identity/v3/domain_config.rst | 12 + .../resources/identity/v3/federation_protocol.rst | 13 + .../resources/identity/v3/identity_provider.rst | 13 + .../resources/identity/v3/registered_limit.rst | 13 + .../user/resources/identity/v3/role_assignment.rst | 13 + .../identity/v3/role_domain_group_assignment.rst | 13 + .../identity/v3/role_domain_user_assignment.rst | 13 + .../identity/v3/role_project_group_assignment.rst | 13 + .../identity/v3/role_project_user_assignment.rst | 13 + .../identity/v3/role_system_group_assignment.rst | 13 + .../identity/v3/role_system_user_assignment.rst | 13 + .../user/resources/image/v2/metadef_object.rst | 13 + .../resources/network/v2/sfc_flow_classifier.rst | 13 + .../user/resources/network/v2/sfc_port_chain.rst | 12 + .../user/resources/network/v2/sfc_port_pair.rst | 12 + .../resources/network/v2/sfc_port_pair_group.rst | 13 + .../resources/network/v2/sfc_service_graph.rst | 13 + examples/shared_file_system/share_metadata.py | 61 +++ examples/shared_file_system/shares.py | 23 + openstack/baremetal/v1/node.py | 44 +- openstack/block_storage/v2/_proxy.py | 149 +++--- openstack/block_storage/v2/extension.py | 36 ++ openstack/block_storage/v2/type.py | 15 + openstack/block_storage/v3/_proxy.py | 147 ++++++ openstack/block_storage/v3/backup.py | 20 +- openstack/block_storage/v3/group.py | 10 + openstack/block_storage/v3/group_snapshot.py | 10 + openstack/block_storage/v3/resource_filter.py | 5 +- openstack/block_storage/v3/service.py | 158 ++++++ openstack/block_storage/v3/snapshot.py | 12 +- openstack/block_storage/v3/type.py | 44 +- openstack/cloud/_accelerator.py | 3 - openstack/cloud/_baremetal.py | 5 - openstack/cloud/_block_storage.py | 4 - openstack/cloud/_coe.py | 4 - openstack/cloud/_compute.py | 3 - openstack/cloud/_dns.py | 5 - openstack/cloud/_floating_ip.py | 4 - openstack/cloud/_identity.py | 18 +- openstack/cloud/_image.py | 22 +- openstack/cloud/_network.py | 4 - openstack/cloud/_network_common.py | 4 - openstack/cloud/_object_store.py | 13 +- openstack/cloud/_orchestration.py | 6 +- openstack/cloud/_security_group.py | 6 - openstack/cloud/_utils.py | 77 +-- openstack/cloud/openstackcloud.py | 138 +----- openstack/common/metadata.py | 5 + openstack/common/quota_set.py | 5 +- openstack/common/tag.py | 9 + openstack/compute/v2/extension.py | 3 +- openstack/compute/v2/flavor.py | 56 ++- openstack/compute/v2/server.py | 276 ++++++++++- openstack/config/cloud_region.py | 3 +- openstack/config/loader.py | 11 +- openstack/config/vendors/__init__.py | 3 +- openstack/connection.py | 3 +- openstack/exceptions.py | 37 +- openstack/format.py | 16 - openstack/identity/v2/extension.py | 2 +- openstack/identity/v3/_proxy.py | 117 +++++ openstack/identity/v3/domain_config.py | 47 ++ openstack/image/v2/_proxy.py | 116 ++++- openstack/image/v2/metadef_object.py | 40 ++ openstack/image/v2/service_info.py | 2 + openstack/key_manager/v1/_format.py | 8 - openstack/load_balancer/v2/listener.py | 13 + openstack/load_balancer/v2/pool.py | 6 + openstack/network/v2/_proxy.py | 546 ++++++++++++++++++++- openstack/network/v2/extension.py | 2 +- openstack/network/v2/port.py | 5 +- openstack/network/v2/sfc_flow_classifier.py | 88 ++++ openstack/network/v2/sfc_port_chain.py | 49 ++ openstack/network/v2/sfc_port_pair.py | 53 ++ openstack/network/v2/sfc_port_pair_group.py | 57 +++ openstack/network/v2/sfc_service_graph.py | 45 ++ openstack/network/v2/vpn_ipsec_policy.py | 6 + openstack/object_store/v1/_proxy.py | 39 +- openstack/orchestration/v1/stack.py | 5 +- openstack/proxy.py | 79 +-- openstack/resource.py | 56 ++- openstack/service_description.py | 7 +- openstack/shared_file_system/v2/_proxy.py | 128 ++++- openstack/shared_file_system/v2/share.py | 54 +- openstack/test/fakes.py | 8 +- .../block_storage/v3/test_capabilities.py | 14 +- .../functional/block_storage/v3/test_service.py | 38 ++ .../functional/identity/v3/test_domain_config.py | 83 ++++ .../functional/image/v2/test_metadef_object.py | 103 ++++ .../functional/shared_file_system/test_share.py | 57 +++ .../shared_file_system/test_share_access_rule.py | 4 +- .../shared_file_system/test_share_metadata.py | 120 +++++ .../unit/block_storage/v3/test_resource_filter.py | 4 +- .../unit/cloud/{test_shade.py => test_compute.py} | 544 ++++---------------- .../unit/network/v2/test_sfc_flow_classifier.py | 102 ++++ .../unit/network/v2/test_sfc_port_pair_group.py | 63 +++ .../unit/network/v2/test_sfc_service_graph.py | 65 +++ openstack/utils.py | 10 +- ...k-storage-service-support-ce03092ce2d7e7b9.yaml | 4 + ...tity-domain-configuration-2e8bcaa20736b379.yaml | 5 + .../notes/add-metadef-object-5eec168baf039e80.yaml | 4 + ...avia-listener-hsts-fields-50c621b71e56dc13.yaml | 5 + ...tem-manage-unmanage-share-830e313f96e5fd2b.yaml | 5 + ...ile-system-share-metadata-e0415bb71d8a0a48.yaml | 6 + ...-params-for-octavia-pools-76f295cd2daa7f53.yaml | 6 + ...rop-formatter-deserialize-30b19956fb79bb8d.yaml | 5 + ...network_add_sfc_resources-8a52c0c8c1f8e932.yaml | 6 + setup.cfg | 45 ++ tox.ini | 23 +- 186 files changed, 5519 insertions(+), 1247 deletions(-)