tempest/tempest/scenario
Martin Kopec ba5cb852b8 Fix str to str comparison in live migration test
The str to str comparison in the
test_server_connectivity_live_migration_compute uses a "<"
operation that does not work as intended. Let's fix that by using
the tempest module created for comparing string microversions.

Change-Id: Id6d18c93e8637d797404a62a23d3fcc61208fd4c
2024-04-18 13:23:29 +02:00
..
README.rst General doc updates 2024-01-31 09:00:16 +01:00
__init__.py add scenario directory 2013-05-17 08:52:22 -04:00
manager.py Merge "Add scenario test: test instances with cinder volumes" 2024-04-05 21:16:02 +00:00
test_compute_unified_limits.py Fix compute_unified decoration 2022-03-17 11:59:16 +02:00
test_dashboard_basic_ops.py Move horizon test from tempest-horizon to tempest 2021-01-22 00:11:44 +00:00
test_encrypted_cinder_volumes.py Optimize the resource creation and status waiting in scenario tests 2023-07-23 18:22:18 -07:00
test_instances_with_cinder_volumes.py Add scenario test: test instances with cinder volumes 2024-03-15 18:29:36 +01:00
test_minimum_basic.py Add scenario test: test instances with cinder volumes 2024-03-15 18:29:36 +01:00
test_network_advanced_server_ops.py Fix str to str comparison in live migration test 2024-04-18 13:23:29 +02:00
test_network_basic_ops.py [codespell] fix typos 2024-04-02 12:12:32 +05:30
test_network_qos_placement.py Replace deprecated os_adm 2024-03-28 11:58:34 +09:00
test_network_v6.py Merge "Make _get_router() non-private" 2021-03-09 00:46:29 +00:00
test_object_storage_basic_ops.py docs: Fix incorrect docstrings in reStructuredText format 2018-11-21 19:06:43 -06:00
test_security_groups_basic_ops.py Pass resource_name_prefix from tests 2023-12-07 11:47:00 +01:00
test_server_advanced_ops.py Skip test early to improve memory footprint and time 2023-08-04 11:20:00 -07:00
test_server_basic_ops.py [FIX] Floating IP already exists error 2023-06-01 14:02:19 +00:00
test_server_multinode.py Optimize the resource creation and status waiting in scenario tests 2023-07-23 18:22:18 -07:00
test_server_volume_attachment.py Skip scenario tests early to avoid unnecessary setup 2023-08-04 19:38:16 +00:00
test_shelve_instance.py Minimize the tests footprint in multinode job 2023-02-11 19:05:26 +00:00
test_snapshot_pattern.py Make _create_security_group() non-private 2021-03-01 18:47:09 +05:30
test_stamp_pattern.py [codespell] fix typos 2024-04-02 12:12:32 +05:30
test_unified_limits.py Pass resource_name_prefix from tests 2023-12-07 11:47:00 +01:00
test_volume_backup_restore.py Skip scenario tests early to avoid unnecessary setup 2023-08-04 19:38:16 +00:00
test_volume_boot_pattern.py Pass resource_name_prefix from tests 2023-12-07 11:47:00 +01:00
test_volume_migrate_attached.py Verify that instance can boot after volume retype with migration 2023-09-22 05:18:01 +00:00

README.rst

Tempest Field Guide to Scenario tests

What are these tests?

Scenario tests are "through path" tests of OpenStack function. Complicated setups where one part might depend on the completion of a previous part. They ideally involve the integration between multiple OpenStack services to exercise the touch points between them.

Any scenario test should have a real-life use case. An example would be:

  • "As an operator, I want to start with a blank environment":
    1. upload a glance image
    2. deploy a vm from it
    3. ssh to the guest
    4. create a snapshot of the vm

Why are these tests in Tempest?

This is one of Tempest's core purposes, testing the integration between projects.

Scope of these tests

Scenario tests should always use the Tempest implementation of the OpenStack API, as we want to ensure that bugs aren't hidden by the official clients.

Tests should be tagged with which services they exercise, as determined by which client libraries are used directly by the test.

Example of a good test

While we are looking for interaction of 2 or more services, be specific in your interactions. A giant "this is my data center" smoke test is hard to debug when it goes wrong.

A flow of interactions between Glance and Nova, like in the introduction, is a good example. Especially if it involves a repeated interaction when a resource is setup, modified, detached, and then reused later again.