We are pleased to announce the release of: tempest 36.0.0: OpenStack Integration Testing This release is part of the bobcat 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. 36.0.0 ^^^^^^ Prelude ******* Glance v1 APIs were removed in Rocky release and last supported release for v1 was Queens. Tempest master does not support the Rocky or Queens release so we removed the Glance v1 tests, config option, and its service clients. If you would like to test the v1 APIs then you can use the old Tempest version. Tempest remove the nova-network tests and service clients. The nova- network was removed from Rocky release and current Tempest master does not support the Rocky release. Below are the service clients have been removed: * floating_ip_pools_client * floating_ips_bulk_client * fixed_ips_client * list_virtual_interfaces This release is to tag Tempest for OpenStack 2023.2 release. This release marks the start of 2023.2 release support in Tempest. After this release, Tempest will support below OpenStack Releases: * 2023.2 * 2023.1 * Zed * Yoga Current development of Tempest is for OpenStack 2024.1 development cycle. Every Tempest commit is also tested against master during the 2024.1 cycle. However, this does not necessarily mean that using Tempest as of this tag will work against a 2024.1 (or future release) cloud. To be on safe side, use this tag to test the OpenStack 2023.2 release. New Features ************ * The following "tasks_client" tempest client for glance v2 image task API is implemented in this release. * Adding a new config option *[identity]/user_minimum_password_age* which allows to specify the number of days that a password must be used before the user can change it. For this option to take effect, identity-feature-enabled.security_compliance must be set to True. Changes in tempest xena-last..36.0.0 ------------------------------------ 392660863 Use stable constraint in tox to release new tag for 2023.2 2d5987fbe Add releasenote to tag the Tempest for 2023.2 release 3bf5e5b24 Update Tempest supported releases and python versions c52304f4b Use re2 compatible regexes in branch matchers 53885e50f Use upper constraints in pep8 test run cc2cbda07 Fix the unstable_test syntax for test_live_migration_with_trunk 763c9cc7f Remove test duplication between tempest and n-t-p QuotasTest 14109a7e9 Fixed typo in override-checkout branch for stable/2023.1 109a68df1 Mark "test_live_migration_with_trunk" as unstable 18c07ae15 Revert "Fix cleanup for volume backup tests" 347ef0345 Fix clean up for test_access_rules tests dca1ac276 Revert "Mark "test_live_migration_with_trunk" as unstable" 2c2484ca6 Fix cleanup for volume backup tests 76283c27d Use service role also in test_server_external_events 1470ddcee Use service role also in test_assisted_volume_snapshots 28336ece6 Add python 3.11 unit test job 3562cd001 Remove Glance v1 APIs tests c49ed6f6c Added json.loads(body) to delete_attachment method 702f0befc Skip failing tests affected by minimum password age ec63f4aaf Improve rebuild tests in test_server_actions be7bed4de Do not retry immediately after server fault 68a25ef77 Setting Tempest run concurrency to 4 for a few jobs 58bb99197 Skip test_image_tasks_create() for bug 2030527 a10451524 Mark x/networking-fortinet tempest plugins inactive 5b5e81c6a Remove nova-network tests 2803b57d6 Skip scenario tests early to avoid unnecessary setup c73643633 Add test for assisted volume snapshot fd90dacc8 Skip test early to improve memory footprint and time 30eb87869 Use vfat for timestamp 88660d436 Add image task client and image tests task APIs. 8bb73e9b3 Skip rebuild_volume_backed_server if no cinder e427f4efb tox: Remove basepython 210d1fa84 create default network for few more server tests 4af82e816 Add ironic-tempest-bios-ipmi-direct-tinyipa job in tempest gate 2c9124101 Test Nova and Glance RBAC policy old defaults 0208fc06f Correct _get_console() to get console of correct server b70d30d10 Revert "Run test_port_security_macspoofing_port slow tests serially" 629da8905 Disable dhcpcd in test_port_security_macspoofing_port 51c0f9a35 Optimize the resource creation and status waiting in scenario tests 55962e1b5 Avoid duplicate server creation in rebuild test 7fc42801b Overlap volume and server creation in backup 5e2019fde Reorder device rescue with volume for overlap 7249e2a53 Reorder server and port creation for overlap 671a931e5 Increase the default concurrency for tempest run 33e4e24df Run test_port_security_macspoofing_port slow tests serially 1643536c9 Split up ServerActionsTestJSON for better mixing 180717d38 Fix tempest-slow-py3 job for < stable/xena 14399c08a Revert "Revert "Mark "test_live_migration_with_trunk" as unstable"" 8de4127c0 Run slow tests parallely 8766b0472 Update object_storage container creation using metadata tests to accept 204 reponses dd49b3ee3 Revert "Mark "test_live_migration_with_trunk" as unstable" d74c582a4 Fix test_schedule_to_all_node to support installation with ironic 724c675ed Manage a snapshot with an attached volume 03ec2ae24 Avoid false positives with test_server_connectivity_live_migration 08329968e Increase concurrency for tempest-slow jobs 9db106a2e Add image admin test to list public image 3d2e9a456 Fix cleanup of resources for object_storage tests 2038c895d Remove setting of DEFAULT_IMAGE_NAME to non exit image 0c953a7c1 Mark "test_live_migration_with_trunk" as unstable 1fe102a62 Add tests to list hidden images 768d25367 Add test to rebuild volume backed instance e095e74a0 Switch back the tox constraint to master 2da632a9c Default to /tmp for scenario (create|get)_timestamp() 3f844b250 Improve error msg of wait_for_server_status waiter 0e8fcab93 Skip test_list_all_networks if no known network configured 9d41c46a6 Remove python-devel package for rpm based distributions from bindep Diffstat (except docs and test files) ------------------------------------- bindep.txt | 1 - ...k-apis-as-tempest-clients-228ccba01f59cbf3.yaml | 54 ++ ...-opt-minimum-password-age-426e9d225f743137.yaml | 8 + .../tempest-2023-2-release-e913af3f36762afb.yaml | 17 + roles/run-tempest-26/tasks/main.yaml | 2 +- roles/run-tempest/tasks/main.yaml | 2 +- setup.cfg | 1 + .../admin/test_assisted_volume_snapshots.py | 70 +++ tempest/api/compute/admin/test_fixed_ips.py | 72 --- .../api/compute/admin/test_fixed_ips_negative.py | 101 ---- .../api/compute/admin/test_floating_ips_bulk.py | 85 --- tempest/api/compute/admin/test_live_migration.py | 16 +- tempest/api/compute/admin/test_networks.py | 4 +- .../compute/admin/test_server_external_events.py | 9 +- tempest/api/compute/admin/test_servers.py | 2 + tempest/api/compute/admin/test_volume_swap.py | 5 +- tempest/api/compute/base.py | 55 +- .../api/compute/flavors/test_flavors_negative.py | 15 +- tempest/api/compute/floating_ips/base.py | 1 - .../compute/floating_ips/test_list_floating_ips.py | 7 - tempest/api/compute/images/test_image_metadata.py | 24 +- .../compute/images/test_image_metadata_negative.py | 10 + .../api/compute/images/test_images_oneserver.py | 2 + .../api/compute/images/test_list_image_filters.py | 25 +- .../api/compute/servers/test_attach_interfaces.py | 24 +- tempest/api/compute/servers/test_server_actions.py | 671 ++++++++++++--------- .../api/compute/servers/test_server_addresses.py | 3 - .../servers/test_server_addresses_negative.py | 3 - tempest/api/compute/servers/test_server_rescue.py | 4 +- .../api/compute/servers/test_servers_negative.py | 5 +- .../api/compute/servers/test_virtual_interfaces.py | 66 -- .../servers/test_virtual_interfaces_negative.py | 50 -- tempest/api/compute/test_tenant_networks.py | 11 + tempest/api/identity/v3/test_access_rules.py | 40 +- tempest/api/identity/v3/test_users.py | 20 +- tempest/api/image/base.py | 62 +- tempest/api/image/v1/__init__.py | 0 tempest/api/image/v1/test_image_members.py | 63 -- .../api/image/v1/test_image_members_negative.py | 62 -- tempest/api/image/v1/test_images.py | 341 ----------- tempest/api/image/v1/test_images_negative.py | 82 --- tempest/api/image/v2/admin/test_image_task.py | 140 +++++ tempest/api/image/v2/admin/test_images.py | 18 + tempest/api/image/v2/test_images.py | 25 + tempest/api/network/admin/test_negative_quotas.py | 86 --- tempest/api/network/admin/test_quotas.py | 107 ---- tempest/api/network/test_service_providers.py | 12 +- tempest/api/object_storage/base.py | 35 +- .../object_storage/test_container_acl_negative.py | 1 + tempest/api/object_storage/test_object_services.py | 3 +- .../volume/admin/test_encrypted_volumes_extend.py | 19 +- tempest/api/volume/admin/test_snapshot_manage.py | 27 +- tempest/api/volume/base.py | 4 + tempest/api/volume/test_volumes_backup.py | 4 +- tempest/api/volume/test_volumes_extend.py | 13 +- tempest/clients.py | 6 +- tempest/cmd/verify_tempest_config.py | 27 +- tempest/common/utils/linux/remote_client.py | 2 +- tempest/common/waiters.py | 38 +- tempest/config.py | 19 +- .../api_schema/response/compute/v2_1/fixed_ips.py | 41 -- .../response/compute/v2_1/floating_ips.py | 85 --- .../api_schema/response/compute/v2_1/servers.py | 27 - tempest/lib/common/utils/test_utils.py | 1 + tempest/lib/services/clients.py | 1 - tempest/lib/services/compute/__init__.py | 12 +- tempest/lib/services/compute/fixed_ips_client.py | 42 -- .../services/compute/floating_ip_pools_client.py | 36 -- .../services/compute/floating_ips_bulk_client.py | 51 -- tempest/lib/services/compute/servers_client.py | 8 - tempest/lib/services/image/__init__.py | 3 +- tempest/lib/services/image/v1/__init__.py | 28 - tempest/lib/services/image/v1/images_client.py | 155 ----- tempest/lib/services/image/v2/__init__.py | 4 +- .../image_members_client.py => v2/tasks_client.py} | 66 +- .../services/object_storage/container_client.py | 2 +- .../lib/services/volume/v3/attachments_client.py | 1 + tempest/scenario/manager.py | 70 +-- tempest/scenario/test_encrypted_cinder_volumes.py | 34 +- tempest/scenario/test_minimum_basic.py | 6 + .../scenario/test_network_advanced_server_ops.py | 8 +- tempest/scenario/test_network_basic_ops.py | 5 +- tempest/scenario/test_server_advanced_ops.py | 12 +- tempest/scenario/test_server_multinode.py | 15 +- tempest/scenario/test_server_volume_attachment.py | 23 +- tempest/scenario/test_stamp_pattern.py | 21 +- tempest/scenario/test_volume_backup_restore.py | 2 + tempest/scenario/test_volume_boot_pattern.py | 6 + tempest/scenario/test_volume_migrate_attached.py | 2 + .../lib/services/compute/test_fixedIPs_client.py | 58 -- .../compute/test_floating_ip_pools_client.py | 46 -- .../compute/test_floating_ips_bulk_client.py | 88 --- .../lib/services/compute/test_servers_client.py | 15 - .../services/image/v1/test_image_members_client.py | 84 --- .../services/image/v2/test_image_tasks_client.py | 86 +++ tools/generate-tempest-plugins-list.py | 3 + tox.ini | 38 +- zuul.d/base.yaml | 2 + zuul.d/integrated-gate.yaml | 140 +++-- zuul.d/project.yaml | 15 +- zuul.d/stable-jobs.yaml | 82 +-- zuul.d/tempest-specific.yaml | 1 - 108 files changed, 1430 insertions(+), 2744 deletions(-)