openstacksdk 4.5.0 (flamingo)
We are glad to announce the release of: openstacksdk 4.5.0 This release is part of the flamingo 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.5.0 ^^^^^ New Features ************ * Support for the attributes API of the Accelerator service (Cyborg) has been added. * Added support for the extend volume completion action. * Implements virtual media attach/detach API for bare metal nodes. * Add the "validate_console_auth_token" method to the Compute proxy. This method uses the pre-existing "os-console-auth-tokens" OpenStack Compute API to validate a console access token as produced by "get_console_url". In addition, the method returns hypervisor connection information for the console (hypervisor IP and port numbers), as this call is generally used by the console proxies which users connect to. By default, callers of this method must have "admin" access to the OpenStack Compute API due to the privileged nature of the hypervisor connection information returned. * Added Neutron QoS packet rate limit rule object and introduced support for CRUD operations. * The following proxy "find_*" operations will now retrieve a detailed resource by default when retrieving by name: * Bare metal (v1) * "find_chassis" * "find_node" * "find_port" * "find_port_group" * "find_volume_connector" * "find_volume_target" Upgrade Notes ************* * The following volume (v2 and v3) helpers have been renamed: * "reset_snapshot" -> "reset_snapshot_status" * "reset_backup" -> "reset_backup_status" * "reset_group_state" -> "reset_group_status" * "reset_group_snapshot_state" -> "reset_group_snapshot_status" Aliases are provided for backwards compatibility. Bug Fixes ********* * Fixed DNS secondary zone creation. Now secondary zones do not require email not ttl, as both get overriden by the following zone transfer. Changes in openstacksdk 4.4.0..4.5.0 ------------------------------------ c7f3d1494 Add listing of groups for a user 3ea1b0908 typing: Correct types for fake generator 2440aa7e2 volume: Add Transfer to volume v2 API 32388ccc9 pre-commit: Enable bandit checks 873e5a899 Add virtual media attachment and detachment support fbeb5eae1 Adding basic implementation for Accelerator attribute resource 6e5e77136 Add os-extend_volume_completion volume action. 329b28f38 identity: Add functional tests for limits, registered limits f3ba347b0 baremetal: Add 'details' parameter to various 'find' proxy methods 446c47ad7 Add support for spice-direct console types. 02f039cfc tests: Streamline keypair tests 4b997e783 tests: Use correct cloud 7b3ea1539 test: Use specific cloud in functional test 4d85cf076 typing: Annotate openstack.connection 7aa5a9d0c typing: Annotate openstack.proxy 54faf1b23 tests: Remove redundant _set_operator_cloud calls 8a5143e5e volume: Add update_snapshot to v2 API 3199a7077 volume: Stop setting microversion for block storage v2 1a57c14ee volume: Add Snapshot.manage, unmanage to volume v2 API 72c76fe09 volume: Add backup metadata helpers 84f7c5774 volume: Use consistent reset_*_state functions cbf29120b Add QoS packet rate limit rule object and CRUD operations 55d0c692d zuul: Replace removed jobs d31db239f Refactor loader magic fixes ef9b958d2 Define the correct QoS rules deletion method cf84ae1d7 Indicate providers that are dead/unresponsive f25c47e0b Fix argparse integration 97958bbd4 Refactor and expand loader backward compat tests 0f6deb200 Fix token-based auth loading from config c87a4b93f Update master for stable/2025.1 a33dde193 volume: Use force delete param when possible 0fd18edc4 volume: Add support for cascaded deletions 4b63e1729 docs: Sort proxy docs alphabetically 699422369 volume: Add Service to volume v2 API c4f19bb72 volume: Add service 'set-log', 'get-log' actions 30101a049 resource: Drop 'action' arg for '_get_microversion' d322b49fe resource: Make _assert_microversion_for a classmethod abdcb8901 Bump hacking in unit tests 88e1c8a92 Fix DNS secondary zone creation 2c96712ca Do not pin openstacksdk to master 55904234c Bump compute max microversion to 2.100 6250b98b5 tests: Drop support for testing identity v2 f10faaafc tests: Rename cloud name variables 7fb2a33f3 exceptions: Deprecate http_status, request_id params ca93cf5a2 identity: Fix limit, registered limit creation 6822ab9d1 proxy: Remove '_check_resource' decorator 73a7c8e5d typing: Add (more) missing proxy arguments c68ae72d7 cloud: Deprecate jmespath-style filters 8f333517d cloud: Add missing parameter docs 76010b1fc cloud: Switch remaining compute functions to proxy 49f2e2d16 zuul: Make openstacksdk-functional-devstack-masakari voting 62a496d52 zuul: Make openstacksdk-functional-devstack-manila voting fbebf106a deps: Bump minimum keystoneauth ec4720d8f Support streaming download of the image Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 2 +- .../user/resources/accelerator/v2/attribute.rst | 12 + .../user/resources/accelerator/v2/deployable.rst | 2 +- .../user/resources/accelerator/v2/device.rst | 4 +- .../resources/accelerator/v2/device_profile.rst | 2 +- .../user/resources/block_storage/v2/service.rst | 12 + .../user/resources/block_storage/v2/transfer.rst | 13 + .../resources/compute/v2/console_auth_token.rst | 13 + .../network/v2/qos_packet_rate_limit_rule.rst | 13 + examples/image/download.py | 2 +- openstack/__init__.py | 9 +- openstack/accelerator/v2/_proxy.py | 50 +++ openstack/accelerator/v2/accelerator_request.py | 2 +- openstack/accelerator/v2/attribute.py | 37 ++ openstack/baremetal/configdrive.py | 5 +- openstack/baremetal/v1/_common.py | 137 +++++- openstack/baremetal/v1/_proxy.py | 157 ++++++- openstack/baremetal/v1/allocation.py | 2 +- openstack/baremetal/v1/conductor.py | 2 +- openstack/baremetal/v1/deploy_templates.py | 2 +- openstack/baremetal/v1/node.py | 175 ++++++-- openstack/baremetal/v1/volume_connector.py | 2 +- openstack/baremetal/v1/volume_target.py | 2 +- .../baremetal_introspection/v1/introspection.py | 8 +- .../v1/introspection_rule.py | 3 +- openstack/block_storage/v2/_proxy.py | 347 ++++++++++++++- openstack/block_storage/v2/backup.py | 22 +- openstack/block_storage/v2/service.py | 141 ++++++ openstack/block_storage/v2/snapshot.py | 51 ++- openstack/block_storage/v2/transfer.py | 59 +++ openstack/block_storage/v2/volume.py | 2 +- openstack/block_storage/v3/_proxy.py | 199 ++++++++- openstack/block_storage/v3/attachment.py | 3 +- openstack/block_storage/v3/backup.py | 19 +- openstack/block_storage/v3/group.py | 17 +- openstack/block_storage/v3/group_snapshot.py | 13 +- openstack/block_storage/v3/group_type.py | 10 +- openstack/block_storage/v3/service.py | 120 ++++- openstack/block_storage/v3/snapshot.py | 13 +- openstack/block_storage/v3/transfer.py | 3 +- openstack/block_storage/v3/volume.py | 11 +- openstack/cloud/_baremetal.py | 4 +- openstack/cloud/_compute.py | 194 ++++++-- openstack/cloud/_image.py | 57 ++- openstack/cloud/_network.py | 24 +- openstack/cloud/_network_common.py | 5 +- openstack/cloud/_utils.py | 8 + openstack/cloud/meta.py | 5 +- openstack/cloud/openstackcloud.py | 89 ++-- openstack/compute/v2/_proxy.py | 16 +- openstack/compute/v2/console_auth_token.py | 35 ++ openstack/compute/v2/flavor.py | 10 +- openstack/compute/v2/hypervisor.py | 2 +- openstack/compute/v2/server.py | 12 +- openstack/compute/v2/server_group.py | 2 +- openstack/compute/v2/server_migration.py | 2 +- openstack/compute/v2/server_remote_console.py | 10 +- openstack/config/__init__.py | 40 +- openstack/config/cloud_region.py | 219 ++++++--- openstack/config/loader.py | 95 ++-- openstack/config/vendors/__init__.py | 9 +- openstack/config/vendors/betacloud.json | 4 +- openstack/config/vendors/fuga.json | 4 +- openstack/config/vendors/ibmcloud.json | 4 +- openstack/config/vendors/internap.json | 4 +- openstack/config/vendors/ultimum.json | 4 +- openstack/config/vendors/unitedstack.json | 4 +- openstack/connection.py | 96 ++-- openstack/dns/v2/_proxy.py | 3 + openstack/dns/v2/zone_export.py | 2 +- openstack/dns/v2/zone_import.py | 2 +- openstack/exceptions.py | 33 +- openstack/identity/v3/_proxy.py | 13 + openstack/identity/v3/group.py | 14 + openstack/identity/v3/limit.py | 23 +- openstack/identity/v3/registered_limit.py | 23 +- openstack/image/v2/_proxy.py | 1 + openstack/image/v2/cache.py | 2 +- openstack/image/v2/metadef_property.py | 2 +- openstack/load_balancer/v2/amphora.py | 4 +- openstack/load_balancer/v2/load_balancer.py | 2 +- openstack/network/v2/_proxy.py | 159 ++++++- openstack/network/v2/qos_packet_rate_limit_rule.py | 39 ++ openstack/object_store/v1/info.py | 2 +- openstack/object_store/v1/obj.py | 2 +- openstack/orchestration/util/environment_format.py | 2 +- openstack/orchestration/util/template_format.py | 2 +- openstack/orchestration/util/template_utils.py | 4 +- openstack/orchestration/util/utils.py | 2 +- openstack/orchestration/v1/stack.py | 4 +- openstack/placement/v1/resource_provider.py | 4 +- .../placement/v1/resource_provider_inventory.py | 2 +- openstack/placement/v1/trait.py | 2 +- openstack/proxy.py | 490 ++++++++++++++------- openstack/resource.py | 224 +++++----- openstack/service_description.py | 18 +- openstack/shared_file_system/v2/share.py | 4 +- .../shared_file_system/v2/share_access_rule.py | 8 +- .../shared_file_system/v2/share_group_snapshot.py | 10 +- openstack/shared_file_system/v2/share_instance.py | 8 +- openstack/test/fakes.py | 50 +-- .../baremetal/test_baremetal_allocation.py | 90 ++-- .../functional/baremetal/test_baremetal_chassis.py | 32 +- .../baremetal/test_baremetal_conductor.py | 6 +- .../baremetal/test_baremetal_deploy_templates.py | 40 +- .../functional/baremetal/test_baremetal_driver.py | 10 +- .../functional/baremetal/test_baremetal_node.py | 222 ++++++---- .../functional/baremetal/test_baremetal_port.py | 50 ++- .../baremetal/test_baremetal_port_group.py | 58 ++- .../baremetal/test_baremetal_volume_connector.py | 97 ++-- .../baremetal/test_baremetal_volume_target.py | 102 +++-- .../functional/block_storage/v3/test_attachment.py | 6 +- .../block_storage/v3/test_availability_zone.py | 4 +- .../block_storage/v3/test_block_storage_summary.py | 2 +- .../block_storage/v3/test_capabilities.py | 2 +- .../block_storage/v3/test_default_type.py | 10 +- .../functional/block_storage/v3/test_extension.py | 2 +- .../functional/block_storage/v3/test_group.py | 92 ++-- .../functional/block_storage/v3/test_limits.py | 2 +- .../block_storage/v3/test_resource_filters.py | 4 +- .../functional/block_storage/v3/test_transfer.py | 6 +- .../cloud/{test_identity.py => test_roles.py} | 30 +- .../functional/identity/v3/test_access_rule.py | 16 +- .../identity/v3/test_application_credential.py | 14 +- .../v3/{test_projects.py => test_project.py} | 0 .../identity/v3/test_registered_limit.py | 111 +++++ .../functional/image/v2/test_metadef_namespace.py | 22 +- .../functional/image/v2/test_metadef_object.py | 26 +- .../functional/image/v2/test_metadef_property.py | 30 +- .../image/v2/test_metadef_resource_type.py | 22 +- .../functional/image/v2/test_metadef_schema.py | 32 +- .../load_balancer/v2/test_load_balancer.py | 435 ++++++++++-------- .../network/v2/test_auto_allocated_topology.py | 7 +- .../network/v2/test_qos_bandwidth_limit_rule.py | 2 +- .../network/v2/test_qos_dscp_marking_rule.py | 20 +- .../network/v2/test_qos_packet_rate_limit_rule.py | 115 +++++ .../functional/object_store/v1/test_account.py | 34 +- .../functional/object_store/v1/test_container.py | 90 ++-- .../functional/orchestration/v1/test_stack.py | 34 +- .../placement/v1/test_resource_provider.py | 2 +- .../shared_file_system/test_resource_lock.py | 2 +- .../shared_file_system/test_share_group.py | 4 +- .../shared_file_system/test_user_message.py | 4 +- .../unit/block_storage/v3/test_group_snapshot.py | 33 ++ .../unit/cloud/test_server_delete_metadata.py | 10 +- .../network/v2/test_qos_packet_rate_limit_rule.py | 49 +++ .../shared_file_system/v2/test_share_instance.py | 4 +- openstack/utils.py | 6 +- pyproject.toml | 16 +- ...erator-attributes-support-492cae3594272818.yaml | 5 + ...volume-completion-support-712217dafff8ce28.yaml | 4 + .../notes/add-vmedia-support-20494ed415e5b32b.yaml | 4 + ...lidate-console-auth-token-999b790aec83de85.yaml | 13 + .../consistent-volume-status-5a527cd561af5e7a.yaml | 11 + ...-secondary-zones-creation-78ed84fa7d514998.yaml | 6 + ...os-packet-rate-limit-rule-385945e2e831ab0d.yaml | 5 + ...ew-for-find-proxy-methods-10ecdff59f5c6913.yaml | 14 + releasenotes/source/2025.1.rst | 6 + releasenotes/source/index.rst | 1 + requirements.txt | 2 +- test-requirements.txt | 2 +- zuul.d/functional-jobs.yaml | 6 - zuul.d/metal-jobs.yaml | 2 +- zuul.d/project.yaml | 6 +- 243 files changed, 6590 insertions(+), 2432 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index a57c83ed3..b2a10c619 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7 +7 @@ jsonpatch!=1.20,>=1.16 # BSD -keystoneauth1>=3.18.0 # Apache-2.0 +keystoneauth1>=5.10.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index b771e0ca3..ad4d20706 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4 +4 @@ fixtures>=3.0.0 # Apache-2.0/BSD -hacking>=3.1.0,<4.0.0 # Apache-2.0 +hacking>=7.0.0,<7.1.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org