make -e full run tempest scenarios serially

The scenario tests end up generating a large load on target
environments. In most cases this means the whole system is running at
an extremely unrealisticly high load, and many of our scenario
failures are probably traceable back to this.

This classifies many more scenario tests as slow so that during normal
full runs they are not run, they are still accessible for running with
the tox -e all flag.

Selection based on https://ethercalc.openstack.org/nu56u2wrfb2b

Depends-on: Ia303773cabffc25d910cd1c0950d6739592bade6
Change-Id: I35cf4a77ff61d04ed8be58acff3edf47b1ae36f7
This commit is contained in:
Sean Dague 2017-03-01 11:35:58 -05:00 committed by Andrea Frittoli
parent 13a7fec759
commit 49505df20f
14 changed files with 34 additions and 2 deletions

View File

@ -96,6 +96,7 @@ class TestAggregatesBasicOps(manager.ScenarioTest):
return aggregate
@decorators.idempotent_id('cb2b4c4f-0c7c-4164-bdde-6285b302a081')
@test.attr(type='slow')
@test.services('compute')
def test_aggregate_basic_ops(self):
self.useFixture(fixtures.LockFixture('availability_zone'))

View File

@ -62,6 +62,7 @@ class TestEncryptedCinderVolumes(manager.EncryptionScenarioTest):
self.nova_volume_detach(server, attached_volume)
@decorators.idempotent_id('79165fb4-5534-4b9d-8429-97ccffb8f86e')
@test.attr(type='slow')
@test.services('compute', 'volume', 'image')
def test_encrypted_cinder_volumes_luks(self):
server = self.launch_instance()
@ -71,6 +72,7 @@ class TestEncryptedCinderVolumes(manager.EncryptionScenarioTest):
self.attach_detach_volume(server, volume)
@decorators.idempotent_id('cbc752ed-b716-4717-910f-956cce965722')
@test.attr(type='slow')
@test.services('compute', 'volume', 'image')
def test_encrypted_cinder_volumes_cryptsetup(self):
server = self.launch_instance()

View File

@ -104,6 +104,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
return body['OS-EXT-SRV-ATTR:host']
@decorators.idempotent_id('61f1aa9a-1573-410e-9054-afa557cab021')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_stop_start(self):
keypair = self.create_keypair()
@ -129,6 +130,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
server, keypair, floating_ip)
@decorators.idempotent_id('88a529c2-1daa-4c85-9aec-d541ba3eb699')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_rebuild(self):
keypair = self.create_keypair()
@ -143,6 +145,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
@decorators.idempotent_id('2b2642db-6568-4b35-b812-eceed3fa20ce')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_pause_unpause(self):
keypair = self.create_keypair()
@ -160,6 +163,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
@decorators.idempotent_id('5cdf9499-541d-4923-804e-b9a60620a7f0')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_suspend_resume(self):
keypair = self.create_keypair()
@ -177,6 +181,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
@decorators.idempotent_id('719eb59d-2f42-4b66-b8b1-bb1254473967')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize is not available.')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_resize(self):
resize_flavor = CONF.compute.flavor_ref_alt
@ -200,6 +205,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
@testtools.skipUnless(CONF.compute.min_compute_nodes > 1,
'Less than 2 compute nodes, skipping multinode '
'tests.')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_cold_migration(self):
keypair = self.create_keypair()
@ -225,6 +231,7 @@ class TestNetworkAdvancedServerOps(manager.NetworkScenarioTest):
@testtools.skipUnless(CONF.compute.min_compute_nodes > 1,
'Less than 2 compute nodes, skipping multinode '
'tests.')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_server_connectivity_cold_migration_revert(self):
keypair = self.create_keypair()

View File

@ -418,6 +418,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
@decorators.idempotent_id('b158ea55-472e-4086-8fa9-c64ac0c6c1d0')
@testtools.skipUnless(test.is_extension_enabled('net-mtu', 'network'),
'No way to calculate MTU for networks')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_mtu_sized_frames(self):
"""Validate that network MTU sized frames fit through."""
@ -430,6 +431,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
'Connectivity can only be tested when in a '
'multitenant network environment')
@decorators.skip_because(bug="1610994")
@test.attr(type='slow')
@test.services('compute', 'network')
def test_connectivity_between_vms_on_different_networks(self):
"""Test connectivity between VMs on different networks
@ -505,6 +507,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
@testtools.skipIf(CONF.network.shared_physical_network,
'Router state can be altered only with multitenant '
'networks capabilities')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_update_router_admin_state(self):
"""Test to update admin state up of router
@ -538,6 +541,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
'network isolation not available')
@testtools.skipUnless(CONF.scenario.dhcp_client,
"DHCP client is not available.")
@test.attr(type='slow')
@test.services('compute', 'network')
def test_subnet_details(self):
"""Tests that subnet's extra configuration details are affecting VMs.
@ -620,6 +624,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
@testtools.skipUnless(CONF.network_feature_enabled.port_admin_state_change,
"Changing a port's admin state is not supported "
"by the test environment")
@test.attr(type='slow')
@test.services('compute', 'network')
def test_update_instance_port_admin_state(self):
"""Test to update admin_state_up attribute of instance port
@ -665,6 +670,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
should_succeed=True)
@decorators.idempotent_id('759462e1-8535-46b0-ab3a-33aa45c55aaa')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_preserve_preexisting_port(self):
"""Test preserve pre-existing port
@ -716,6 +722,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
@test.requires_ext(service='network', extension='l3_agent_scheduler')
@decorators.idempotent_id('2e788c46-fb3f-4ac9-8f82-0561555bea73')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_router_rescheduling(self):
"""Tests that router can be removed from agent and add to a new agent.
@ -795,6 +802,7 @@ class TestNetworkBasicOps(manager.NetworkScenarioTest):
@testtools.skipUnless(CONF.compute_feature_enabled.interface_attach,
'NIC hotplug not available')
@decorators.idempotent_id('7c0bb1a2-d053-49a4-98f9-ca1a1d849f63')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_port_security_macspoofing_port(self):
"""Tests port_security extension enforces mac spoofing

View File

@ -247,6 +247,7 @@ class TestGettingAddress(manager.NetworkScenarioTest):
def test_dualnet_dhcp6_stateless_from_os(self):
self._prepare_and_test(address6_mode='dhcpv6-stateless', dualnet=True)
@test.attr(type='slow')
@decorators.idempotent_id('cf1c4425-766b-45b8-be35-e2959728eb00')
@test.services('compute', 'network')
def test_dualnet_multi_prefix_dhcpv6_stateless(self):

View File

@ -46,6 +46,7 @@ class TestObjectStorageBasicOps(manager.ObjectStorageScenarioTest):
self.delete_container(container_name)
@decorators.idempotent_id('916c7111-cb1f-44b2-816d-8f760e4ea910')
@test.attr(type='slow')
@test.services('object_storage')
def test_swift_acl_anonymous_download(self):
"""This test will cover below steps:

View File

@ -502,6 +502,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest):
raise
@decorators.idempotent_id('f4d556d7-1526-42ad-bafb-6bebf48568f6')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_port_update_new_security_group(self):
"""Verifies the traffic after updating the vm port
@ -556,6 +557,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest):
raise
@decorators.idempotent_id('d2f77418-fcc4-439d-b935-72eca704e293')
@test.attr(type='slow')
@test.services('compute', 'network')
def test_multiple_security_groups(self):
"""Verify multiple security groups and checks that rules
@ -587,6 +589,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest):
private_key=private_key,
should_connect=True)
@test.attr(type='slow')
@test.requires_ext(service='network', extension='port-security')
@decorators.idempotent_id('7c811dcc-263b-49a3-92d2-1b4d8405f50c')
@test.services('compute', 'network')
@ -627,6 +630,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest):
self._log_console_output(servers=tenant.servers)
raise
@test.attr(type='slow')
@test.requires_ext(service='network', extension='port-security')
@decorators.idempotent_id('13ccf253-e5ad-424b-9c4a-97b88a026699')
@testtools.skipUnless(

View File

@ -48,6 +48,7 @@ class TestServerAdvancedOps(manager.ScenarioTest):
cls.set_network_resources()
super(TestServerAdvancedOps, cls).setup_credentials()
@test.attr(type='slow')
@decorators.idempotent_id('e6c28180-7454-4b59-b188-0257af08a63b')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize is not available.')
@ -69,6 +70,7 @@ class TestServerAdvancedOps(manager.ScenarioTest):
waiters.wait_for_server_status(self.servers_client, instance_id,
'ACTIVE')
@test.attr(type='slow')
@decorators.idempotent_id('949da7d5-72c8-4808-8802-e3d70df98e2c')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')

View File

@ -74,6 +74,7 @@ class TestShelveInstance(manager.ScenarioTest):
private_key=keypair['private_key'])
self.assertEqual(timestamp, timestamp2)
@test.attr(type='slow')
@decorators.idempotent_id('1164e700-0af0-4a4c-8792-35909a88743c')
@testtools.skipUnless(CONF.network.public_network_id,
'The public_network_id option must be specified.')
@ -81,6 +82,7 @@ class TestShelveInstance(manager.ScenarioTest):
def test_shelve_instance(self):
self._create_server_then_shelve_and_unshelve()
@test.attr(type='slow')
@decorators.idempotent_id('c1b6318c-b9da-490b-9c67-9339b627271f')
@testtools.skipUnless(CONF.network.public_network_id,
'The public_network_id option must be specified.')

View File

@ -41,6 +41,7 @@ class TestSnapshotPattern(manager.ScenarioTest):
raise cls.skipException("Snapshotting is not available.")
@decorators.idempotent_id('608e604b-1d63-4a82-8e3e-91bc665c90b4')
@test.attr(type='slow')
@testtools.skipUnless(CONF.network.public_network_id,
'The public_network_id option must be specified.')
@test.services('compute', 'network', 'image')

View File

@ -88,6 +88,7 @@ class TestStampPattern(manager.ScenarioTest):
CONF.compute.build_interval):
raise lib_exc.TimeoutException
@test.attr(type='slow')
@decorators.skip_because(bug="1664793")
@decorators.idempotent_id('10fd234a-515c-41e5-b092-8323060598c5')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,

View File

@ -95,7 +95,6 @@ class TestVolumeBootPattern(manager.ScenarioTest):
waiters.wait_for_server_termination(self.servers_client, server['id'])
@decorators.idempotent_id('557cd2c2-4eb8-4dce-98be-f86765ff311b')
@test.attr(type='smoke')
@testtools.skipUnless(CONF.network.public_network_id,
'The public_network_id option must be specified.')
@test.services('compute', 'volume', 'image')
@ -177,6 +176,7 @@ class TestVolumeBootPattern(manager.ScenarioTest):
self.assertEqual(timestamp, timestamp3)
@decorators.idempotent_id('05795fb2-b2a7-4c9f-8fac-ff25aedb1489')
@test.attr(type='slow')
@test.services('compute', 'image', 'volume')
def test_create_server_from_volume_snapshot(self):
# Create a volume from an image

View File

@ -91,6 +91,7 @@ class TestVolumeMigrateRetypeAttached(manager.ScenarioTest):
waiters.wait_for_volume_retype(self.volumes_client,
volume_id, new_volume_type)
@test.attr(type='slow')
@decorators.idempotent_id('deadd2c2-beef-4dce-98be-f86765ff311b')
@test.services('compute', 'volume')
def test_volume_migrate_attached(self):

View File

@ -78,7 +78,8 @@ deps = {[tempestenv]deps}
# See the testrepository bug: https://bugs.launchpad.net/testrepository/+bug/1208610
commands =
find . -type f -name "*.pyc" -delete
tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.(api|scenario))' {posargs}
tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs}
tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' {posargs}
[testenv:full-serial]
envdir = .tox/tempest