We are happy to announce the release of: tempest 37.0.0: OpenStack Integration Testing This release is part of the caracal 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. 37.0.0 ^^^^^^ Prelude ******* This is an intermediate release during the 2024.1 development cycle to mark the end of support for Yoga release in Tempest. After this release, Tempest will support below OpenStack Releases: * 2023.2 * 2023.1 * Zed Current development of Tempest is for OpenStack 2024.1 development cycle. New Features ************ * A new config option in the default section, resource_name_prefix, is added to allow users to customize the name (specifically the prefix) of the resources created by Tempest during a test run. By default it is set to tempest. Tempest cleanup CLI will then use this config option to cleanup only the resources that match the prefix. Make sure this prefix does not match with the resource name you do not want Tempest cleanup CLI to delete. * Add delete image from specific store API to image V2 client * A new tempest.conf option called backup_driver was added to tempest to indicate which backup driver is used by Cinder. This option allows us to create a resource properly and avoid cleanup issues when Swift is used as the backup driver. Upgrade Notes ************* * The following deprecated options in the "[identity-feature- enabled]" section have been removed. Project tags API and application credentials API are now always tested if identity v3 API is available. * "project_tag" * "application_credentials" * Default value of the "[identity-feature-enabled] access_rule" option has been changed from "False" to "True" and now the access rule API is always tested when identity API is available. * The deprecated "[compute-feature-enabled] block_migrate_cinder_iscsi" option has been removed. Now the "[compute-feature-enabled] block_migration_for_live_migration" option is solely used to determine when to run block migration based tests during live migration. * The deprecated "[compute-feature-enabled] nova_cert" option has been removed. The nova-cert service was removed from nova in 16.0.0 release. Tests of compute root certificates API have also been removed. * The deprecated "[compute-feature-enabled] rdp_console" config option has been removed. * The deprecated "[compute-feature-enabled] vnc_server_header" option has been removed. Deprecation Notes ***************** * The Keystone access_rule is enabled by default since Train release and we no longer need a separate config in Tempest to enable it. Therefore the "[identity-feature-enabled] access_rule" option has been deprecated and will be removed in a future release. Changes in tempest 36.0.0..37.0.0 --------------------------------- 7edc9f524 Pin stable/2023.2 constraint in tox to release 37.0.0 a7b530ce7 End support for stable/yoga 86ee115f9 Increase timeout for tempest-all job d76178e68 General doc updates 73005a145 Clean up [identity-feature-enable] options for old releases 304f7d713 Remove rdp_console option 74c19b3a5 Remove nova_cert option b9f775d6d Document choices using oslo.config interface 4c73e54f9 Remove [compute-feature-enabled] vnc_server_header 019e04c6e Remove [compute-feature-enabled] block_migrate_cinder_iscsi 3101be67f Use lowercase names for swift/S3 containers bd9cbd35c Add delete image from specific store API 213d0a4c6 Pass resource_name_prefix from tests 17053d69e Adding tempest prefix option in tempest.conf a0b161bbd Handle split kernel/ramdisk images 4e49975c9 Fix of wrong parsing of flavour name and disk_over_commit parameter 3f233b24d Report original request ID on failed shelve cc0e9b181 Switch Neutron RBAC flag in testing 2bb851918 Remove tap-as-a-service-tempest-plugin 14f893e82 Skip test_dhcp_agent_scheduler tests if there is no DHCP agent available 88d366546 Fix test_show_host_detail to support installation with ironic 553d91b51 Fix cleanup for object_storage tests 433dbdc4b Add unit tests to increase coverage 270e4fe7b Make greande-skip-level job voting on current master 5c64e3913 Add Tempest gate job for stable/2023.2 2ce81e518 Create releasenotes page for tempest 35.0.0, 36.0.0 6a122ead5 Switch to the master constraint in tox.ini bd76355ef Verify that instance can boot after volume retype with migration Diffstat (except docs and test files) ------------------------------------- .coveragerc | 2 +- HACKING.rst | 4 +- README.rst | 1 - ...name_prefix-config-option-26e0b7cfeffc48f9.yaml | 10 + ...e-from-specific-store-api-84c0ecd50724f6de.yaml | 4 + ...ckup-driver-config-option-5f12e71c75b7f01b.yaml | 7 + .../end-of-support-of-yoga-4ad45e91fe893024.yaml | 12 ++ ...ature-opt-cleanup-caracal-7afd283855a07025.yaml | 21 ++ ...lock-migrate-cinder-iscsi-882da88096019f3c.yaml | 8 + .../notes/remove-nova_cert-e2ee70a40e117e8a.yaml | 6 + .../notes/remove-rdp_console-34e11f58d525905a.yaml | 5 + .../remove-vnc-server-header-1a9731ba10242603.yaml | 5 + releasenotes/source/index.rst | 2 + releasenotes/source/v35.0.0.rst | 6 + releasenotes/source/v36.0.0.rst | 6 + tempest/README.rst | 12 +- tempest/api/README.rst | 12 +- tempest/api/compute/admin/test_agents.py | 4 +- .../api/compute/admin/test_aggregates_negative.py | 15 +- tempest/api/compute/admin/test_create_server.py | 3 +- tempest/api/compute/admin/test_flavors.py | 26 ++- .../api/compute/admin/test_flavors_extra_specs.py | 10 +- .../admin/test_flavors_extra_specs_negative.py | 6 +- tempest/api/compute/admin/test_hosts.py | 4 +- tempest/api/compute/admin/test_keypairs_v210.py | 6 +- tempest/api/compute/admin/test_live_migration.py | 12 +- .../compute/admin/test_live_migration_negative.py | 3 +- tempest/api/compute/admin/test_migrations.py | 4 +- tempest/api/compute/admin/test_quotas.py | 12 +- tempest/api/compute/admin/test_quotas_negative.py | 5 +- tempest/api/compute/admin/test_security_groups.py | 14 +- tempest/api/compute/admin/test_servers.py | 7 +- tempest/api/compute/admin/test_volume.py | 5 + tempest/api/compute/base.py | 33 +++- .../api/compute/certificates/test_certificates.py | 40 ---- .../api/compute/flavors/test_flavors_negative.py | 3 +- tempest/api/compute/images/test_image_metadata.py | 7 +- tempest/api/compute/images/test_images.py | 15 +- tempest/api/compute/images/test_images_negative.py | 20 +- .../api/compute/images/test_images_oneserver.py | 7 +- .../api/compute/images/test_list_image_filters.py | 6 +- tempest/api/compute/keypairs/base.py | 6 +- tempest/api/compute/keypairs/test_keypairs.py | 12 +- .../api/compute/keypairs/test_keypairs_negative.py | 10 +- tempest/api/compute/keypairs/test_keypairs_v22.py | 6 +- .../test_security_group_rules_negative.py | 9 +- .../security_groups/test_security_groups.py | 11 +- .../test_security_groups_negative.py | 27 ++- .../api/compute/servers/test_attach_interfaces.py | 8 +- tempest/api/compute/servers/test_create_server.py | 4 +- .../servers/test_create_server_multi_nic.py | 4 +- tempest/api/compute/servers/test_device_tagging.py | 27 ++- .../compute/servers/test_list_server_filters.py | 12 +- tempest/api/compute/servers/test_server_actions.py | 20 +- tempest/api/compute/servers/test_server_group.py | 9 +- tempest/api/compute/servers/test_server_tags.py | 26 ++- tempest/api/compute/servers/test_servers.py | 13 +- .../compute/servers/test_servers_microversions.py | 6 +- .../api/compute/servers/test_servers_negative.py | 6 +- .../api/compute/volumes/test_volume_snapshots.py | 4 +- tempest/api/compute/volumes/test_volumes_get.py | 4 +- .../api/compute/volumes/test_volumes_negative.py | 20 +- tempest/api/identity/admin/v2/test_endpoints.py | 18 +- tempest/api/identity/admin/v2/test_roles.py | 9 +- .../api/identity/admin/v2/test_roles_negative.py | 18 +- tempest/api/identity/admin/v2/test_services.py | 27 ++- .../api/identity/admin/v2/test_tenant_negative.py | 12 +- tempest/api/identity/admin/v2/test_tenants.py | 18 +- tempest/api/identity/admin/v2/test_tokens.py | 12 +- tempest/api/identity/admin/v2/test_users.py | 12 +- .../api/identity/admin/v2/test_users_negative.py | 12 +- tempest/api/identity/admin/v3/test_credentials.py | 22 ++- .../identity/admin/v3/test_default_project_id.py | 6 +- .../identity/admin/v3/test_domain_configuration.py | 9 +- tempest/api/identity/admin/v3/test_domains.py | 18 +- .../api/identity/admin/v3/test_domains_negative.py | 6 +- .../api/identity/admin/v3/test_endpoint_groups.py | 34 ++-- tempest/api/identity/admin/v3/test_endpoints.py | 28 ++- .../identity/admin/v3/test_endpoints_negative.py | 19 +- tempest/api/identity/admin/v3/test_groups.py | 13 +- tempest/api/identity/admin/v3/test_inherits.py | 11 +- .../api/identity/admin/v3/test_list_projects.py | 10 +- tempest/api/identity/admin/v3/test_list_users.py | 7 +- .../api/identity/admin/v3/test_oauth_consumers.py | 9 +- tempest/api/identity/admin/v3/test_policies.py | 16 +- tempest/api/identity/admin/v3/test_project_tags.py | 9 +- tempest/api/identity/admin/v3/test_projects.py | 27 ++- .../identity/admin/v3/test_projects_negative.py | 9 +- tempest/api/identity/admin/v3/test_regions.py | 18 +- tempest/api/identity/admin/v3/test_roles.py | 24 ++- tempest/api/identity/admin/v3/test_services.py | 26 ++- tempest/api/identity/admin/v3/test_tokens.py | 6 +- tempest/api/identity/admin/v3/test_trusts.py | 11 +- tempest/api/identity/admin/v3/test_users.py | 11 +- .../api/identity/admin/v3/test_users_negative.py | 3 +- tempest/api/identity/base.py | 41 ++-- tempest/api/identity/v3/test_access_rules.py | 8 +- tempest/api/image/base.py | 42 +++- tempest/api/image/v2/admin/test_image_caching.py | 4 +- tempest/api/image/v2/admin/test_image_task.py | 9 +- tempest/api/image/v2/admin/test_images.py | 63 +++++- .../test_images_metadefs_namespace_objects.py | 10 +- .../test_images_metadefs_namespace_properties.py | 10 +- .../admin/test_images_metadefs_namespace_tags.py | 9 +- .../v2/admin/test_images_metadefs_namespaces.py | 6 +- tempest/api/image/v2/test_images.py | 56 ++---- tempest/api/image/v2/test_images_tags.py | 6 +- tempest/api/image/v2/test_images_tags_negative.py | 9 +- .../api/network/admin/test_dhcp_agent_scheduler.py | 9 + .../admin/test_external_network_extension.py | 3 +- .../admin/test_external_networks_negative.py | 4 +- .../api/network/admin/test_metering_extensions.py | 9 +- tempest/api/network/admin/test_ports.py | 15 +- tempest/api/network/admin/test_routers.py | 16 +- tempest/api/network/admin/test_routers_dvr.py | 15 +- tempest/api/network/admin/test_routers_negative.py | 3 +- tempest/api/network/base.py | 7 +- tempest/api/network/base_security_groups.py | 6 +- tempest/api/network/test_allowed_address_pair.py | 12 +- tempest/api/network/test_extra_dhcp_options.py | 9 +- tempest/api/network/test_floating_ips.py | 9 +- tempest/api/network/test_networks.py | 15 +- tempest/api/network/test_networks_negative.py | 7 +- tempest/api/network/test_ports.py | 50 +++-- tempest/api/network/test_routers.py | 25 ++- tempest/api/network/test_routers_negative.py | 18 +- tempest/api/network/test_security_groups.py | 6 +- tempest/api/network/test_subnetpools_extensions.py | 6 +- tempest/api/network/test_tags.py | 16 +- tempest/api/object_storage/base.py | 55 +----- tempest/api/object_storage/test_account_bulk.py | 6 +- tempest/api/object_storage/test_account_quotas.py | 3 +- .../api/object_storage/test_account_services.py | 7 +- tempest/api/object_storage/test_container_acl.py | 6 +- .../object_storage/test_container_acl_negative.py | 30 ++- .../api/object_storage/test_container_quotas.py | 11 +- .../api/object_storage/test_container_services.py | 36 ++-- .../test_container_services_negative.py | 9 +- tempest/api/object_storage/test_container_sync.py | 15 +- tempest/api/object_storage/test_object_formpost.py | 6 +- .../test_object_formpost_negative.py | 6 +- tempest/api/object_storage/test_object_services.py | 113 +++++++---- tempest/api/object_storage/test_object_slo.py | 11 +- .../test_object_temp_url_negative.py | 3 +- tempest/api/object_storage/test_object_version.py | 16 +- tempest/api/volume/admin/test_group_snapshots.py | 25 ++- tempest/api/volume/admin/test_group_types.py | 20 +- tempest/api/volume/admin/test_groups.py | 18 +- tempest/api/volume/admin/test_multi_backend.py | 8 +- tempest/api/volume/admin/test_qos.py | 9 +- tempest/api/volume/admin/test_snapshot_manage.py | 10 +- tempest/api/volume/admin/test_user_messages.py | 10 +- tempest/api/volume/admin/test_volume_manage.py | 3 +- .../api/volume/admin/test_volume_quota_classes.py | 9 +- tempest/api/volume/admin/test_volume_types.py | 20 +- tempest/api/volume/admin/test_volumes_backup.py | 7 +- tempest/api/volume/base.py | 53 +++++- tempest/api/volume/test_volumes_actions.py | 3 +- tempest/api/volume/test_volumes_backup.py | 42 ++-- tempest/api/volume/test_volumes_get.py | 11 +- tempest/api/volume/test_volumes_negative.py | 31 ++- tempest/api/volume/test_volumes_snapshots.py | 3 +- .../api/volume/test_volumes_snapshots_negative.py | 8 +- tempest/common/compute.py | 15 +- tempest/common/object_storage.py | 64 +++++++ tempest/common/waiters.py | 30 +++ tempest/config.py | 77 +++----- tempest/lib/services/image/v2/images_client.py | 12 ++ tempest/scenario/README.rst | 9 +- tempest/scenario/manager.py | 113 +++++++++-- .../scenario/test_network_advanced_server_ops.py | 15 +- tempest/scenario/test_network_qos_placement.py | 12 +- tempest/scenario/test_security_groups_basic_ops.py | 15 +- tempest/scenario/test_unified_limits.py | 4 +- tempest/scenario/test_volume_boot_pattern.py | 10 +- tempest/scenario/test_volume_migrate_attached.py | 115 +++++++++-- .../scenario/test_aggregates_basic_ops.py | 10 +- .../lib/services/image/v2/test_images_client.py | 39 ++++ tools/generate-tempest-plugins-list.py | 1 - tox.ini | 8 +- zuul.d/integrated-gate.yaml | 71 +++++-- zuul.d/project.yaml | 24 +-- zuul.d/stable-jobs.yaml | 28 +-- 198 files changed, 2516 insertions(+), 914 deletions(-)
participants (1)
-
no-reply@openstack.org