tempest/tempest/scenario
Matt Riedemann 1df940ebdb Fix test_volume_migrate_attached to retype as admin
By default, Cinder policy will allow a non-admin owner
of a volume to retype a volume. That triggers a call from
Cinder to Nova to swap the volume in the guest. The Nova
swap volume API, however, is admin-only by default. So this
test fails with default policy because Cinder gets a 403
response from Nova when trying to swap the volume on the
Nova side.

This fixes the problem by using the admin client for initiating
the retype.

Change-Id: I17e6603c588e3efddcf44ca4e7af6e352490e689
Closes-Bug: #1698224
2017-06-15 17:49:06 -04:00
..
README.rst Fix doc for usage of python clients in scenario tests 2014-11-26 17:04:37 +09:00
__init__.py add scenario directory 2013-05-17 08:52:22 -04:00
manager.py Replace assertions with more specific ones 2017-06-09 06:45:05 +00:00
test_aggregates_basic_ops.py Replace assertions with more specific ones 2017-06-09 06:45:05 +00:00
test_encrypted_cinder_volumes.py Move the `attr` decorator from test.py to tempest/lib 2017-04-14 11:16:36 +02:00
test_minimum_basic.py Add option for whether the cloud supports floating ips 2017-05-23 15:37:03 -04:00
test_network_advanced_server_ops.py Remove unused variables from scenario tests 2017-06-07 11:20:42 +02:00
test_network_basic_ops.py Update server nic handling for LXD style nic names 2017-06-09 12:39:39 +01:00
test_network_v6.py Remove unused variables from scenario tests 2017-06-07 11:20:42 +02:00
test_object_storage_basic_ops.py Move the `attr` decorator from test.py to tempest/lib 2017-04-14 11:16:36 +02:00
test_security_groups_basic_ops.py Merge "Add option for whether the cloud supports floating ips" 2017-05-29 10:01:08 +00:00
test_server_advanced_ops.py Merge "Remove skip condition when resize is enable" 2017-04-26 07:12:39 +00:00
test_server_basic_ops.py Add option for whether the cloud supports floating ips 2017-05-23 15:37:03 -04:00
test_server_multinode.py Replace the usage of 'manager' with 'os_primary' 2017-05-28 21:51:29 +08:00
test_shelve_instance.py Move the `attr` decorator from test.py to tempest/lib 2017-04-14 11:16:36 +02:00
test_snapshot_pattern.py Move the `attr` decorator from test.py to tempest/lib 2017-04-14 11:16:36 +02:00
test_stamp_pattern.py Move the `attr` decorator from test.py to tempest/lib 2017-04-14 11:16:36 +02:00
test_volume_boot_pattern.py Move the `attr` decorator from test.py to tempest/lib 2017-04-14 11:16:36 +02:00
test_volume_migrate_attached.py Fix test_volume_migrate_attached to retype as admin 2017-06-15 17:49:06 -04: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 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 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 tempests 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.