We are chuffed to announce the release of: openstacksdk 4.1.0 This release is part of the epoxy 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. 4.1.0 ^^^^^ New Features ************ * Add "trusted" attribute to "port" resourse. Users can use this attribute to set port to be trusted what will be then populated into the "binding:profile" dictionary. * Add getting the status of one or all services in Designate (DNS) system. * Add support for *options* property for roles in identity. * For Barbican secrets with detected or provided content type other than "text/plain" SDK now returns the secret payload as raw bytes. For secrets with content type "text/plain", the payload is returned as string, decoded to UTF-8. This behavior is following python- barbicanclient, and allows to use SDK with Barbican secrets that have binary payloads (e.g. "application/octet-stream"). * Adds support for runbooks; an API feature that enables project members to self-serve maintenance tasks via predefined step lists in lieu of an arbitrary list of clean/service steps. * The "migrate_server" compute proxy API and the "Server.migrate" API now accept a "host" parameter to migrate to a given host. Upgrade Notes ************* * Support for Python 3.7 and 3.8 has been dropped. Python 3.7 support was untested and known to be broken for multiple releases, while Python 3.8 is going EOL in October 2024. * The payload of Barbican secrets with other than "text/plain" content type is now returned as raw bytes. For secrets with content type "text/plain", the payload is returned as string, decoded to UTF-8. Changes in openstacksdk 4.0.0..4.1.0 ------------------------------------ c2470a21 tox: Fix functional tests b753d4b8 cloud: Don't raise error on missing domain 7069879b Deprecate unnecessary options, aliases 7994f88a Add "trusted" attribute to "port" resource 52672a57 cloud: Stop reimplementing ignore_missing=False bd6ab754 cloud: Consistently set 'ignore_missing' arguments 6ae5d3be pre-commit: Bump versions 91dbb4c9 Identity: Support `options` property for roles a1badd28 Add getting the status of the services in designate system 64692512 tests: Add functional tests for block storage quotas b119c1be Fix internal error when floating ip network is not found by name ad03b4f6 tests: Migrate quota tests to use a new project e7f14b09 tests: Add helpers to create, delete temp projects 6910a4e1 compute: Add support for targeting host during migrate 8c8b3967 Followup to I0e5ac1288c0d0423fa3a7a4e63173675b78aae79 26922907 Return payload as text only for text/plain secrets 6a434023 Add timeline for removal of deprecated features cf4cec6e Do not create a class in runtime on a potentially hot path c07e9952 cloud: Deprecate passing dicts 4916542a cloud: Re-add support for passing objects b7e8e869 Fix volume summary passing non-existent all_projects ed96765a Update master for stable/2024.2 2ea501c0 stack event loops: handle get None result 034a68b5 pre-commit: Bump mypy e614f8ea Remove unexpected Resource.update overrides c96d57f7 Fix override of ShareAccessRule.delete 187e88a5 pre-commit: Migrate from black to ruff format f83b657f trivial: Remove unnecessary trailing comma da0667e2 pre-commit: Migrate from flake8 to ruff 904e361c pre-commit: Bump versions 604d29bc Add support for the runbooks feature ec1bb9ee config: Minimal validation of config files 6b068e13 Remove redundant code 7db657a8 mypy: Run under minimum Python version 48f96397 Drop support for Python 3.8 ef052e48 Fix parameter name clashing in resource lock query 60a11dad Cast all header values to string a56c3c91 Allow to override _max_microversion for Volume._action function 1f21b864 Add docs for common keystoneauth settings Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 20 +- .../user/resources/dns/v2/service_status.rst | 13 ++ openstack/_hacking/checks.py | 2 +- openstack/accelerator/v2/accelerator_request.py | 6 +- openstack/accelerator/v2/deployable.py | 2 +- openstack/accelerator/v2/device_profile.py | 16 +- openstack/baremetal/v1/_common.py | 4 + openstack/baremetal/v1/node.py | 53 ++++- openstack/baremetal/v1/runbooks.py | 54 +++++ openstack/block_storage/v3/_proxy.py | 5 +- openstack/block_storage/v3/group.py | 2 +- openstack/block_storage/v3/service.py | 5 +- openstack/block_storage/v3/volume.py | 12 +- openstack/cloud/_accelerator.py | 1 - openstack/cloud/_baremetal.py | 57 ++--- openstack/cloud/_block_storage.py | 130 +++++------ openstack/cloud/_coe.py | 15 +- openstack/cloud/_compute.py | 193 ++++++++-------- openstack/cloud/_dns.py | 17 +- openstack/cloud/_identity.py | 112 +++------ openstack/cloud/_image.py | 15 +- openstack/cloud/_network.py | 257 +++++++-------------- openstack/cloud/_network_common.py | 32 ++- openstack/cloud/_object_store.py | 13 +- openstack/cloud/_orchestration.py | 5 +- openstack/cloud/_shared_file_system.py | 1 - openstack/cloud/_utils.py | 7 +- openstack/cloud/exc.py | 2 +- openstack/cloud/openstackcloud.py | 2 + openstack/clustering/v1/_async_resource.py | 2 +- openstack/common/quota_set.py | 34 ++- openstack/common/tag.py | 2 +- openstack/compute/v2/_proxy.py | 13 +- openstack/compute/v2/limits.py | 16 +- openstack/compute/v2/server.py | 18 +- openstack/compute/v2/server_ip.py | 2 +- openstack/compute/v2/service.py | 8 +- openstack/config/__init__.py | 2 +- openstack/config/cloud_region.py | 16 +- openstack/config/loader.py | 52 ++++- openstack/connection.py | 2 +- openstack/database/v1/user.py | 8 +- openstack/dns/v2/_proxy.py | 22 ++ openstack/dns/v2/service_status.py | 51 ++++ openstack/dns/v2/zone_export.py | 2 +- openstack/dns/v2/zone_import.py | 2 +- openstack/identity/v3/limit.py | 8 +- openstack/identity/v3/project.py | 2 +- openstack/identity/v3/registered_limit.py | 8 +- openstack/identity/v3/role.py | 3 + openstack/image/_download.py | 5 +- openstack/image/v1/_proxy.py | 2 +- openstack/image/v2/_proxy.py | 2 +- openstack/image/v2/cache.py | 4 +- openstack/image/v2/image.py | 9 +- openstack/key_manager/v1/secret.py | 13 +- openstack/load_balancer/v2/_proxy.py | 2 +- openstack/load_balancer/v2/amphora.py | 20 +- openstack/load_balancer/v2/health_monitor.py | 2 +- openstack/load_balancer/v2/l7_policy.py | 2 +- openstack/load_balancer/v2/l7_rule.py | 2 +- openstack/load_balancer/v2/listener.py | 2 +- openstack/load_balancer/v2/load_balancer.py | 10 +- openstack/load_balancer/v2/member.py | 2 +- openstack/load_balancer/v2/pool.py | 2 +- openstack/load_balancer/v2/quota.py | 8 +- openstack/message/v2/claim.py | 29 ++- openstack/message/v2/message.py | 5 +- openstack/message/v2/queue.py | 7 +- openstack/message/v2/subscription.py | 7 +- openstack/network/v2/_base.py | 3 +- openstack/network/v2/floating_ip.py | 2 +- openstack/network/v2/network.py | 2 +- openstack/network/v2/port.py | 5 +- openstack/network/v2/qos_policy.py | 2 +- openstack/network/v2/quota.py | 8 +- openstack/network/v2/router.py | 2 +- openstack/network/v2/security_group.py | 2 +- openstack/network/v2/security_group_rule.py | 2 +- openstack/network/v2/subnet.py | 2 +- openstack/network/v2/subnet_pool.py | 2 +- openstack/network/v2/trunk.py | 2 +- openstack/object_store/v1/_base.py | 15 +- openstack/object_store/v1/_proxy.py | 2 + openstack/object_store/v1/container.py | 2 +- openstack/object_store/v1/info.py | 5 +- openstack/object_store/v1/obj.py | 14 +- openstack/orchestration/util/event_utils.py | 13 +- openstack/orchestration/v1/_proxy.py | 10 +- openstack/orchestration/v1/software_config.py | 4 +- openstack/orchestration/v1/software_deployment.py | 8 +- openstack/orchestration/v1/stack.py | 26 ++- openstack/orchestration/v1/stack_files.py | 4 +- openstack/proxy.py | 17 +- openstack/shared_file_system/v2/_proxy.py | 26 ++- .../shared_file_system/v2/share_access_rule.py | 25 +- .../shared_file_system/v2/share_network_subnet.py | 10 +- .../functional/block_storage/v3/test_quota_set.py | 53 +++++ .../functional/cloud/test_floating_ip_pool.py | 1 - .../functional/image/v2/test_metadef_property.py | 2 +- .../load_balancer/v2/test_load_balancer.py | 2 +- .../functional/network/v2/test_floating_ip.py | 2 +- .../functional/network/v2/test_port_forwarding.py | 2 +- .../shared_file_system/test_quota_class_set.py | 40 ++-- .../unit/network/v2/test_security_group_rule.py | 1 - .../shared_file_system/v2/test_share_network.py | 1 - openstack/utils.py | 47 ++-- openstack/warnings.py | 13 +- openstack/workflow/v2/cron_trigger.py | 10 +- openstack/workflow/v2/execution.py | 8 +- openstack/workflow/v2/workflow.py | 23 +- pyproject.toml | 6 + ...d-trusted-vif-to-the-port-e306789f92e181b2.yaml | 6 + .../add-dns-service-status-bf1e1cfd811e59a0.yaml | 4 + ...ity-role-options-property-5d99d3fd909f01eb.yaml | 4 + .../notes/drop-python-37-38-2a6336af44050fec.yaml | 6 + .../secret-payload-as-bytes-d04370d85c9efc4c.yaml | 16 ++ ...self-service-via-runbooks-66ca5f6fda681228.yaml | 6 + ...support-migration-to-host-b2958b3b8c5ca1fb.yaml | 5 + releasenotes/source/2024.2.rst | 6 + releasenotes/source/index.rst | 1 + setup.cfg | 4 +- tox.ini | 21 +- 170 files changed, 1629 insertions(+), 1073 deletions(-)
participants (1)
-
no-reply@openstack.org