We are amped to announce the release of: openstacksdk 3.0.0: An SDK for building applications to work with OpenStack This release is part of the caracal 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. 3.0.0 ^^^^^ New Features * Added support for manage volume operation. * Added support to manipulate resource locks from the shared file system service. * Added support to restrict the visibility and deletion of the shared file system share access rules. * Added support for volume snapshot manage and volume snapshot unmanage. * Methods "openstack.block_storage.v3.volume.Volume.init_attachment" and "block_storage.init_volume_attachment" now return the results of the POST request instead of None. This replicates the behaviour of cinderclient; the returned data is used by nova and ironic for managing volume attachments. Changes in openstacksdk 2.1.0..3.0.0 ------------------------------------ 4e0d6938 Resource locks and access rules restrictions 8c988b7e Fix list of server migrations 568921ce tox: Correct functional test factors 6ec46610 docs: Add docs on configuration of a service user 4baf2eb2 Incorrect protocol type in create_security_group_rule() a0cec19e Add missing snapshot parameters 6077e6c2 reno: Update master for unmaintained/yoga dd329d0a Add support for provider_id for volume objects a4feb32a Add volume manage support 92868d3e pre-commit: Bump linter versions d506b9ff mypy: Add typing to openstack._log 554dc628 mypy: Address issues with remaining service modules a7cfc534 mypy: Address issues with openstack.orchestration 4c1ced6a mypy: Address issues with openstack.clustering b6cc1d81 mypy: Address issues with openstack.baremetal, baremetal_introspection 5d47d65d mypy: Address issues with openstack.object_store 4f8d4102 mypy: Address issues with openstack.network f8a0ec9a identity: Add test for 'role_assignments_filter' proxy method 6c8f2307 mypy: Address issues with openstack.identity 4cf4eea2 mypy: Address issues with openstack.block_storage bbe8518c mypy: Address issues with openstack.image b999a1e2 zuul: Switch bifrost job to jammy 24f76117 config: Add missing space to warning f59019da Remove unnecessary `keys` calls 2e843536 Remove importlib-metadata from requirements 478f5b9c mypy: Address issues with openstack.compute a03396d3 Return the results of init attachment request 621b561c cloud: Replace use of aliased exceptions f4400474 Drop support for Python 3.6 ea8c5d5a Support the API for managing external gateways 4303afc9 Fix: Update/Delete type encryption operation 64e197d1 Add snapshot manage unmanage support 1326d1bf [baremetal] port add shard, is_smartnic, name 3ec78b7e [baremetal] Add some missing fields to node object Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 39 +--- .../user/resources/shared_file_system/index.rst | 1 + .../shared_file_system/v2/resource_locks.rst | 13 ++ examples/network/security_group_rules.py | 2 +- openstack/_log.py | 26 ++- openstack/baremetal/configdrive.py | 15 +- openstack/baremetal/v1/_common.py | 6 +- openstack/baremetal/v1/_proxy.py | 4 +- openstack/baremetal/v1/allocation.py | 2 +- openstack/baremetal/v1/chassis.py | 2 +- openstack/baremetal/v1/conductor.py | 2 +- openstack/baremetal/v1/deploy_templates.py | 2 +- openstack/baremetal/v1/driver.py | 4 +- openstack/baremetal/v1/node.py | 15 +- openstack/baremetal/v1/port.py | 12 +- openstack/baremetal/v1/port_group.py | 2 +- openstack/baremetal/v1/volume_connector.py | 2 +- openstack/baremetal/v1/volume_target.py | 2 +- .../v1/introspection_rule.py | 2 +- openstack/block_storage/v2/backup.py | 7 +- openstack/block_storage/v2/volume.py | 4 +- openstack/block_storage/v3/_proxy.py | 60 ++++- openstack/block_storage/v3/backup.py | 7 +- openstack/block_storage/v3/snapshot.py | 49 +++- openstack/block_storage/v3/volume.py | 55 ++++- openstack/cloud/_baremetal.py | 71 +++--- openstack/cloud/_block_storage.py | 113 +++++---- openstack/cloud/_coe.py | 60 ++--- openstack/cloud/_compute.py | 194 +++++++++------ openstack/cloud/_dns.py | 42 ++-- openstack/cloud/_floating_ip.py | 93 ++++---- openstack/cloud/_identity.py | 212 +++++++++-------- openstack/cloud/_image.py | 29 +-- openstack/cloud/_network.py | 260 ++++++++++++--------- openstack/cloud/_network_common.py | 26 +-- openstack/cloud/_object_store.py | 53 +++-- openstack/cloud/_orchestration.py | 40 ++-- openstack/cloud/_security_group.py | 30 +-- openstack/cloud/_utils.py | 23 +- openstack/cloud/cmd/inventory.py | 3 +- openstack/cloud/exc.py | 2 +- openstack/cloud/inventory.py | 2 +- openstack/cloud/meta.py | 8 +- openstack/cloud/openstackcloud.py | 10 +- openstack/compute/v2/server.py | 24 +- openstack/compute/v2/server_migration.py | 15 +- openstack/config/loader.py | 4 +- openstack/connection.py | 78 ++++++- openstack/database/v1/instance.py | 2 +- openstack/dns/v2/_base.py | 4 +- openstack/dns/v2/zone_share.py | 9 +- openstack/exceptions.py | 7 +- openstack/identity/v3/_proxy.py | 42 ++-- openstack/image/_download.py | 25 +- openstack/image/image_signer.py | 5 +- openstack/image/v1/_proxy.py | 13 +- openstack/image/v2/_proxy.py | 3 +- openstack/image/v2/image.py | 10 +- openstack/image/v2/metadef_property.py | 4 +- openstack/instance_ha/v1/host.py | 2 - openstack/message/v2/message.py | 5 + openstack/network/v2/_proxy.py | 36 +++ openstack/network/v2/port.py | 6 +- openstack/network/v2/router.py | 46 ++++ openstack/object_store/v1/_base.py | 10 +- openstack/object_store/v1/_proxy.py | 56 +++-- openstack/orchestration/util/template_format.py | 2 +- openstack/orchestration/util/template_utils.py | 9 +- openstack/orchestration/v1/stack_environment.py | 4 +- openstack/orchestration/v1/stack_files.py | 4 +- .../placement/v1/resource_provider_inventory.py | 4 +- openstack/proxy.py | 45 +++- openstack/resource.py | 77 ++++-- openstack/shared_file_system/v2/_proxy.py | 141 ++++++++++- openstack/shared_file_system/v2/resource_locks.py | 73 ++++++ .../shared_file_system/v2/share_access_rule.py | 17 +- .../cloud/test_qos_bandwidth_limit_rule.py | 4 +- .../functional/cloud/test_qos_dscp_marking_rule.py | 4 +- .../cloud/test_qos_minimum_bandwidth_rule.py | 4 +- .../shared_file_system/test_resource_lock.py | 96 ++++++++ .../shared_file_system/test_share_access_rule.py | 13 ++ .../unit/cloud/test_create_volume_snapshot.py | 6 +- .../unit/cloud/test_delete_volume_snapshot.py | 8 +- .../unit/cloud/test_qos_bandwidth_limit_rule.py | 12 +- .../unit/cloud/test_qos_minimum_bandwidth_rule.py | 12 +- .../unit/cloud/test_server_delete_metadata.py | 4 +- .../v1/test_resource_provider_inventory.py | 2 +- ...add-manage-volume-support-a4fd90e3ff2fa0d0.yaml | 4 + ...file-system-locks-support-4859ca93f93a1056.yaml | 8 + ...t-manage-unmanage-support-fc0be2a3fb4427d1.yaml | 5 + ...block-storage-init-return-95b465b4755f03ca.yaml | 7 + releasenotes/source/yoga.rst | 2 +- requirements.txt | 1 - setup.cfg | 28 +-- tox.ini | 2 +- zuul.d/metal-jobs.yaml | 2 +- 171 files changed, 2380 insertions(+), 1125 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 25fb9a19..ad1c7e95 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4 +3,0 @@ dogpile.cache>=0.6.5 # BSD -importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0