We are chuffed to announce the release of: openstacksdk 4.9.0 This release is part of the gazpacho 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://bugs.launchpad.net/openstacksdk/+bugs For more details, please see below. 4.9.0 ^^^^^ New Features * Add support for Image Metadef Tags to create, remove create- multiple, update tags. * Add support for key manager project quota API Changes in openstacksdk 4.8.0..4.9.0 ------------------------------------ 6f9f4c04a Define tenant_id as a server-side filter for Port resource 155915415 Fix Python 3.14 annotation 9821bc328 Update name of bifrost CI job 263dd48a1 Add secure hash validation for image downloads 32734dbb7 Identity: Deprecate find_region() bffe67699 Fix mypy type check errors 4accf3e50 Add SDK support for adding/removing metadef tags 1e58792db ruff: Enable W rules 1f56f4824 ruff: Enable RUF rules 4a49b59d5 ruff: Enable E5 errors 6a707b787 trivial: Replace smart quotes, NBSP 880ad46df ci: ironic: don't use tinyipa ca878d73d ruff: Use more specific name to enable pyupgrade rule 1bb4de93d Add _max_microversion to ShareGroup 1f931b61b update requirements for os-service-types to new release 1.8.1 d3cc7e096 Add find and delete examples to Key Manager e864c1fe7 Add functional test for keystone user group 3ba503492 Add support for key manager project quota API Diffstat (except docs and test files) ------------------------------------- .../resources/key_manager/v1/project_quota.rst | 12 + examples/key_manager/delete.py | 29 +++ examples/key_manager/find.py | 31 +++ openstack/accelerator/v2/_proxy.py | 8 +- openstack/baremetal/v1/node.py | 5 +- openstack/block_storage/v2/_proxy.py | 17 +- openstack/block_storage/v3/_proxy.py | 28 +- openstack/cloud/_compute.py | 2 +- openstack/cloud/_dns.py | 3 +- openstack/cloud/_identity.py | 2 +- openstack/cloud/_network_common.py | 12 +- openstack/cloud/_object_store.py | 2 +- openstack/cloud/_utils.py | 4 +- openstack/cloud/meta.py | 8 +- openstack/cloud/openstackcloud.py | 13 +- openstack/clustering/v1/_proxy.py | 35 +-- openstack/compute/v2/_proxy.py | 66 ++--- openstack/compute/v2/flavor.py | 2 +- openstack/config/__init__.py | 2 +- openstack/config/cloud_region.py | 21 +- openstack/config/loader.py | 9 +- openstack/connection.py | 10 +- .../v1/cluster_template.py | 4 +- openstack/dns/v2/_proxy.py | 52 ++-- openstack/dns/v2/service_status.py | 4 +- openstack/dns/v2/tsigkey.py | 4 +- openstack/exceptions.py | 9 +- openstack/identity/v3/_proxy.py | 39 ++- openstack/identity/v3/registered_limit.py | 3 +- openstack/identity/v3/role_assignment.py | 8 +- openstack/image/_download.py | 155 +++++++---- openstack/image/v2/_proxy.py | 84 ++++-- openstack/image/v2/image_tasks.py | 4 +- openstack/image/v2/metadef_namespace.py | 53 +++- openstack/key_manager/v1/_proxy.py | 50 +++- openstack/key_manager/v1/project_quota.py | 43 ++++ openstack/load_balancer/v2/_proxy.py | 54 ++-- openstack/network/v2/_proxy.py | 55 ++-- openstack/network/v2/port.py | 2 + openstack/object_store/v1/_proxy.py | 15 +- openstack/orchestration/v1/_proxy.py | 8 +- openstack/placement/v1/_proxy.py | 22 +- .../placement/v1/resource_provider_inventory.py | 2 +- openstack/proxy.py | 4 +- openstack/resource.py | 10 +- openstack/service_description.py | 6 +- openstack/shared_file_system/v2/_proxy.py | 15 +- openstack/shared_file_system/v2/quota_class_set.py | 15 +- openstack/shared_file_system/v2/resource_locks.py | 4 +- openstack/shared_file_system/v2/share.py | 2 +- .../shared_file_system/v2/share_access_rule.py | 4 +- openstack/shared_file_system/v2/share_group.py | 5 +- openstack/shared_file_system/v2/share_instance.py | 2 +- openstack/shared_file_system/v2/share_network.py | 4 +- openstack/shared_file_system/v2/share_snapshot.py | 2 +- .../v2/share_snapshot_instance.py | 4 +- openstack/test/fakes.py | 14 +- .../functional/baremetal/test_baremetal_driver.py | 2 +- .../block_storage/v3/test_capabilities.py | 4 +- .../functional/block_storage/v3/test_group.py | 4 +- .../functional/image/v2/test_metadef_namespace.py | 45 ++++ .../key_manager/v1/test_project_quota.py | 87 +++++++ .../load_balancer/v2/test_load_balancer.py | 2 +- .../v1/test_resource_provider_inventory.py | 2 +- .../test_share_group_snapshot.py | 2 +- .../unit/key_manager/v1/test_project_quota.py | 44 ++++ openstack/workflow/v2/_proxy.py | 6 +- pyproject.toml | 5 +- .../add-image-metadef-tags-c980ec5e6502d76c.yaml | 5 + ...ey-manager-project-quotas-281845cccdc52ad2.yaml | 4 + requirements.txt | 2 +- tools/keystone_version.py | 2 +- tools/print-services.py | 8 +- zuul.d/functional-jobs.yaml | 3 +- zuul.d/metal-jobs.yaml | 2 +- 109 files changed, 1460 insertions(+), 504 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 5a531f3f9..d63e00eb6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8 +8 @@ keystoneauth1>=5.10.0 # Apache-2.0 -os-service-types>=1.8.0 # Apache-2.0 +os-service-types>=1.8.1 # Apache-2.0