We eagerly announce the release of: tempest 43.0.0 This release is part of the epoxy release series. The source is available from: https://opendev.org/openstack/tempest Download the package from: https://pypi.org/project/tempest Please report issues through: https://bugs.launchpad.net/tempest/+bugs For more details, please see below. 43.0.0 ^^^^^^ Prelude ******* This release is to tag Tempest for OpenStack 2025.1 release. This release marks the start of 2025.1 release support in Tempest. After this release, Tempest will support below OpenStack Releases: * 2025.1 * 2024.2 * 2024.1 * 2023.2 Current development of Tempest is for OpenStack 2025.2 development cycle. Every Tempest commit is also tested against master during the 2025.2 cycle. However, this does not necessarily mean that using Tempest as of this tag will work against a 2025.2 (or future release) cloud. To be on safe side, use this tag to test the OpenStack 2025.1 release. New Features ************ * Add a new config option *[image_feature_enabled]/image_format_enforcement* which tells tempest that glance will do image format inspection and enforcement on upload. This will disable tests that require glance to accept a bad image in order to test another service (i.e. nova). * The wait_for_image_status() waiter now allows a list of status values instead of just a string, and returns the state the image was in when we stopped waiting. Changes in tempest 42.0.0..43.0.0 --------------------------------- 53dc8dff9 Use stable constraint in tox to release new tag for 2025.1 8d49786d5 Add releasenote to tag the Tempest for 2025.1 release 88a49e846 Remove deprecated nova scheduler filter 50bd5aa47 Fix unit tests to work with cliff v4.9.x faa1deced Add compute tests for microversion 2.100 9473b7f6b Fix schema for Nova microversion 2.96 and 2.98 cb03598a6 Add compute response schema for microversion 2.98 c42bb0adc Renumber the spice-direct nova API microversion. ea1a5759d Move test_restore_server_invalid_state test to admin test fbbf01b2c Add a spice-direct tempest test. 3d7b364ce Wait for server termination in server affinity tests 83f386cd7 test_instances_with_cinder_volumes: Make sure attachments in guest are correct eabbd3551 Add test to verify instance bootability after volume snapshot bd02c7355 test_instances_with_cinder_volumes: Delay attaching volumes 9157d5e02 Re Fix test_rebuild_server test by waiting for floating ip 045252f5d Add missing space in enable_volume_image_dep_tests description d22eeda3b Stop harder sending underscores in header names to Swift 14f199eca Run cindet-tempest-plugin tests in tempest-extra-tests 6a22d4fe8 Stop sending underscores in header names to Swift 5e1a714cf Fixed encryption type methods to comply with documentation e1145a333 Add support for specifying fixed IP address in floating IP association f2aa158d4 Wait for the router port activation before deletion cd0f4bc25 Deprecate `volume_image_dep_tests` 9e4337362 Add Jammy integration jobs to gate pipeline also 736d328e4 Revert "Make tempest plugin sanity job non voting" c2d176235 For test VM validation resource were added. 1164ba37f Clear pool for each new HTTP Connection 9400fb6f7 Make tempest plugin sanity job non voting 040070add Migrate tempest jobs to Ubuntu Noble (24.04) f3d0328df Expand accounst.yaml sample 397f49c2e Bump hacking 88c3d48ce Allow glance support for GPT images aa8d42c51 Allow wait_for_image_status() to have multiple 22022ccc5 [Xena Jobs] use 'full' tox env e60b31706 Added statuscode 406 support afe134a40 Fix "pause_teardown" help text for docutils 906b6b85a Check for glance service for glance tests 09a4373f6 Wait for VM ACTIVE state is added for fixed network case 2ba7ed8e3 Avoid image format tests if glance is enforcing 7c44604e4 Check only ports owned by the dhcp service in the dhcp scheduler tests b9a8f3b75 Switch back the tox constraint to master 4e96588cf workaround: Wait for instance.host=None when shelving 73ba33773 Add tests for creating servers with (anti-)affinity 370bea472 Make scenario snapshot tests work with ephemeral|swap Diffstat (except docs and test files) ------------------------------------- etc/accounts.yaml.sample | 22 ++ ...-spice-rdp-console-config-f2af173552axfb72.yaml | 10 +- .../image-enforcement-config-0bc67791a40bac56.yaml | 8 + .../image-wait-multiple-79c55305b584b1ba.yaml | 6 + .../tempest-2024-2-release-e706f62c7e841bd0.yaml | 17 ++ requirements.txt | 3 - tempest/api/compute/admin/test_servers_negative.py | 12 + .../compute/admin/test_servers_on_multinodes.py | 13 ++ tempest/api/compute/admin/test_spice.py | 153 +++++++++++++ .../api/compute/servers/test_attach_interfaces.py | 1 + tempest/api/compute/servers/test_server_actions.py | 44 ++-- tempest/api/compute/servers/test_servers.py | 58 ++++- .../api/compute/servers/test_servers_negative.py | 12 - tempest/api/identity/admin/v3/test_groups.py | 2 +- tempest/api/image/v2/test_images.py | 9 + tempest/api/image/v2/test_images_formats.py | 50 ++-- .../api/network/admin/test_dhcp_agent_scheduler.py | 7 +- tempest/api/network/base.py | 14 ++ tempest/api/network/test_routers.py | 26 +-- tempest/api/network/test_routers_negative.py | 14 +- tempest/api/volume/admin/test_volume_types.py | 5 +- tempest/common/utils/linux/remote_client.py | 18 +- tempest/common/utils/net_downtime.py | 21 +- tempest/common/waiters.py | 21 +- tempest/config.py | 31 +-- tempest/hacking/checks.py | 63 +++--- .../response/compute/v2_1/parameter_types.py | 13 ++ .../response/compute/v2_100}/__init__.py | 0 .../api_schema/response/compute/v2_100/servers.py | 129 +++++++++++ .../api_schema/response/compute/v2_6/servers.py | 3 +- .../api_schema/response/compute/v2_96/servers.py | 32 ++- .../api_schema/response/compute/v2_98/__init__.py | 0 .../api_schema/response/compute/v2_98/servers.py | 85 +++++++ .../api_schema/response/compute/v2_99/__init__.py | 0 .../api_schema/response/compute/v2_99/servers.py | 78 +++++++ tempest/lib/common/http.py | 16 ++ tempest/lib/common/rest_client.py | 5 + tempest/lib/exceptions.py | 5 + tempest/lib/services/compute/servers_client.py | 23 +- .../lib/services/object_storage/account_client.py | 6 +- .../services/object_storage/container_client.py | 13 +- .../services/volume/v3/encryption_types_client.py | 8 +- tempest/scenario/manager.py | 53 +++-- .../scenario/test_instances_with_cinder_volumes.py | 87 +++++-- tempest/scenario/test_unified_limits.py | 7 + tempest/scenario/test_volume_boot_pattern.py | 40 +++- .../api/{ => compute}/admin/test_aggregates.py | 0 .../api/compute/admin/test_server_affinity.py | 252 +++++++++++++++++++++ .../volume/v3/test_encryption_types_client.py | 4 +- test-requirements.txt | 8 +- tox.ini | 17 +- zuul.d/integrated-gate.yaml | 39 +++- zuul.d/project.yaml | 17 +- zuul.d/stable-jobs.yaml | 48 +++- zuul.d/tempest-specific.yaml | 2 +- 63 files changed, 1445 insertions(+), 261 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index d2f13a591..a1eff53d9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +0,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. diff --git a/test-requirements.txt b/test-requirements.txt index 17fa9f108..b9259217d 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +1 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. -hacking>=3.0.1,<3.1.0;python_version>='3.5' # Apache-2.0 +hacking>=7.0.0,<7.1.0 @@ -7,2 +4 @@ oslotest>=3.2.0 # Apache-2.0 -pycodestyle>=2.0.0,<2.6.0 # MIT -flake8-import-order==0.11 # LGPLv3 +flake8-import-order>=0.18.0,<0.19.0 # LGPLv3