remove gate tag (part 1)

This removes all bare gate attribute tags from functions, the gate tag
was a never fully implemented idea in the past, and it's existence in
the code mostly just confuses people.

Change-Id: I462ca7a8cadeb5013e2bce44ed1e69bcf8f9d968
This commit is contained in:
Sean Dague 2015-04-27 08:49:03 -04:00
parent 0bc11890ce
commit 1b05daaf2a
109 changed files with 0 additions and 461 deletions

View File

@ -60,7 +60,6 @@ class AgentsAdminTestJSON(base.BaseV2ComputeAdminTest):
kwargs[rand_key] = data_utils.rand_name(kwargs[rand_key])
return kwargs
@test.attr(type='gate')
@test.idempotent_id('1fc6bdc8-0b6d-4cc7-9f30-9b04fabe5b90')
def test_create_agent(self):
# Create an agent.
@ -73,7 +72,6 @@ class AgentsAdminTestJSON(base.BaseV2ComputeAdminTest):
for expected_item, value in params.items():
self.assertEqual(value, body[expected_item])
@test.attr(type='gate')
@test.idempotent_id('dc9ffd51-1c50-4f0e-a820-ae6d2a568a9e')
def test_update_agent(self):
# Update an agent.
@ -84,7 +82,6 @@ class AgentsAdminTestJSON(base.BaseV2ComputeAdminTest):
for expected_item, value in params.items():
self.assertEqual(value, body[expected_item])
@test.attr(type='gate')
@test.idempotent_id('470e0b89-386f-407b-91fd-819737d0b335')
def test_delete_agent(self):
# Delete an agent.
@ -94,7 +91,6 @@ class AgentsAdminTestJSON(base.BaseV2ComputeAdminTest):
agents = self.client.list_agents()
self.assertNotIn(self.agent_id, map(lambda x: x['agent_id'], agents))
@test.attr(type='gate')
@test.idempotent_id('6a326c69-654b-438a-80a3-34bcc454e138')
def test_list_agents(self):
# List all agents.
@ -102,7 +98,6 @@ class AgentsAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertTrue(len(agents) > 0, 'Cannot get any agents.(%s)' % agents)
self.assertIn(self.agent_id, map(lambda x: x['agent_id'], agents))
@test.attr(type='gate')
@test.idempotent_id('eabadde4-3cd7-4ec4-a4b5-5a936d2d4408')
def test_list_agents_with_filter(self):
# List the agent builds by the filter.

View File

@ -53,7 +53,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
except lib_exc.NotFound:
pass
@test.attr(type='gate')
@test.idempotent_id('0d148aa3-d54c-4317-aa8d-42040a475e20')
def test_aggregate_create_delete(self):
# Create and delete an aggregate.
@ -66,7 +65,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
self.client.delete_aggregate(aggregate['id'])
self.client.wait_for_resource_deletion(aggregate['id'])
@test.attr(type='gate')
@test.idempotent_id('5873a6f8-671a-43ff-8838-7ce430bb6d0b')
def test_aggregate_create_delete_with_az(self):
# Create and delete an aggregate.
@ -81,7 +79,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
self.client.delete_aggregate(aggregate['id'])
self.client.wait_for_resource_deletion(aggregate['id'])
@test.attr(type='gate')
@test.idempotent_id('68089c38-04b1-4758-bdf0-cf0daec4defd')
def test_aggregate_create_verify_entry_in_list(self):
# Create an aggregate and ensure it is listed.
@ -94,7 +91,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
map(lambda x: (x['id'], x['availability_zone']),
aggregates))
@test.attr(type='gate')
@test.idempotent_id('36ec92ca-7a73-43bc-b920-7531809e8540')
def test_aggregate_create_update_metadata_get_details(self):
# Create an aggregate and ensure its details are returned.
@ -117,7 +113,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
body = self.client.show_aggregate(aggregate['id'])
self.assertEqual(meta, body["metadata"])
@test.attr(type='gate')
@test.idempotent_id('4d2b2004-40fa-40a1-aab2-66f4dab81beb')
def test_aggregate_create_update_with_az(self):
# Update an aggregate and ensure properties are updated correctly
@ -147,7 +142,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
(x['id'], x['name'], x['availability_zone']),
aggregates))
@test.attr(type='gate')
@test.idempotent_id('c8e85064-e79b-4906-9931-c11c24294d02')
def test_aggregate_add_remove_host(self):
# Add an host to the given aggregate and remove.
@ -168,7 +162,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
body['availability_zone'])
self.assertNotIn(self.host, body['hosts'])
@test.attr(type='gate')
@test.idempotent_id('7f6a1cc5-2446-4cdb-9baa-b6ae0a919b72')
def test_aggregate_add_host_list(self):
# Add an host to the given aggregate and list.
@ -187,7 +180,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertIsNone(agg['availability_zone'])
self.assertIn(self.host, agg['hosts'])
@test.attr(type='gate')
@test.idempotent_id('eeef473c-7c52-494d-9f09-2ed7fc8fc036')
def test_aggregate_add_host_get_details(self):
# Add an host to the given aggregate and get details.
@ -203,7 +195,6 @@ class AggregatesAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertIsNone(body['availability_zone'])
self.assertIn(self.host, body['hosts'])
@test.attr(type='gate')
@test.idempotent_id('96be03c7-570d-409c-90f8-e4db3c646996')
def test_aggregate_add_host_create_server_with_az(self):
# Add an host to the given aggregate and create a server.

View File

@ -28,14 +28,12 @@ class AZAdminV2TestJSON(base.BaseComputeAdminTest):
super(AZAdminV2TestJSON, cls).setup_clients()
cls.client = cls.availability_zone_admin_client
@test.attr(type='gate')
@test.idempotent_id('d3431479-8a09-4f76-aa2d-26dc580cb27c')
def test_get_availability_zone_list(self):
# List of availability zone
availability_zone = self.client.list_availability_zones()
self.assertTrue(len(availability_zone) > 0)
@test.attr(type='gate')
@test.idempotent_id('ef726c58-530f-44c2-968c-c7bed22d5b8c')
def test_get_availability_zone_list_detail(self):
# List of availability zones and available services

View File

@ -47,21 +47,18 @@ class FixedIPsTestJson(base.BaseV2ComputeAdminTest):
if cls.ip:
break
@test.attr(type='gate')
@test.idempotent_id('16b7d848-2f7c-4709-85a3-2dfb4576cc52')
@test.services('network')
def test_list_fixed_ip_details(self):
fixed_ip = self.client.get_fixed_ip_details(self.ip)
self.assertEqual(fixed_ip['address'], self.ip)
@test.attr(type='gate')
@test.idempotent_id('5485077b-7e46-4cec-b402-91dc3173433b')
@test.services('network')
def test_set_reserve(self):
body = {"reserve": "None"}
self.client.reserve_fixed_ip(self.ip, body)
@test.attr(type='gate')
@test.idempotent_id('7476e322-b9ff-4710-bf82-49d51bac6e2e')
@test.services('network')
def test_set_unreserve(self):

View File

@ -87,21 +87,18 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
return flavor['id']
@test.attr(type='gate')
@test.idempotent_id('8b4330e1-12c4-4554-9390-e6639971f086')
def test_create_flavor_with_int_id(self):
flavor_id = data_utils.rand_int_id(start=1000)
new_flavor_id = self._create_flavor(flavor_id)
self.assertEqual(new_flavor_id, str(flavor_id))
@test.attr(type='gate')
@test.idempotent_id('94c9bb4e-2c2a-4f3c-bb1f-5f0daf918e6d')
def test_create_flavor_with_uuid_id(self):
flavor_id = str(uuid.uuid4())
new_flavor_id = self._create_flavor(flavor_id)
self.assertEqual(new_flavor_id, flavor_id)
@test.attr(type='gate')
@test.idempotent_id('f83fe669-6758-448a-a85e-32d351f36fe0')
def test_create_flavor_with_none_id(self):
# If nova receives a request with None as flavor_id,
@ -110,7 +107,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
new_flavor_id = self._create_flavor(flavor_id)
self.assertEqual(new_flavor_id, str(uuid.UUID(new_flavor_id)))
@test.attr(type='gate')
@test.idempotent_id('8261d7b0-be58-43ec-a2e5-300573c3f6c5')
def test_create_flavor_verify_entry_in_list_details(self):
# Create a flavor and ensure it's details are listed
@ -135,7 +131,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
flag = True
self.assertTrue(flag)
@test.attr(type='gate')
@test.idempotent_id('63dc64e6-2e79-4fdf-868f-85500d308d66')
def test_create_list_flavor_without_extra_data(self):
# Create a flavor and ensure it is listed
@ -177,7 +172,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
flag = True
self.assertTrue(flag)
@test.attr(type='gate')
@test.idempotent_id('be6cc18c-7c5d-48c0-ac16-17eaf03c54eb')
def test_list_non_public_flavor(self):
# Create a flavor with os-flavor-access:is_public false.
@ -210,7 +204,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
flag = True
self.assertFalse(flag)
@test.attr(type='gate')
@test.idempotent_id('bcc418ef-799b-47cc-baa1-ce01368b8987')
def test_create_server_with_non_public_flavor(self):
# Create a flavor with os-flavor-access:is_public false
@ -230,7 +223,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
self.os.servers_client.create_server,
'test', self.image_ref, flavor['id'])
@test.attr(type='gate')
@test.idempotent_id('b345b196-bfbd-4231-8ac1-6d7fe15ff3a3')
def test_list_public_flavor_with_other_user(self):
# Create a Flavor with public access.
@ -254,7 +246,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
flag = True
self.assertTrue(flag)
@test.attr(type='gate')
@test.idempotent_id('fb9cbde6-3a0e-41f2-a983-bdb0a823c44e')
def test_is_public_string_variations(self):
flavor_id_not_public = data_utils.rand_int_id(start=1000)
@ -297,7 +288,6 @@ class FlavorsAdminTestJSON(base.BaseV2ComputeAdminTest):
_test_string_variations(['t', 'true', 'yes', '1'],
flavor_name_public)
@test.attr(type='gate')
@test.idempotent_id('3b541a2e-2ac2-4b42-8b8d-ba6e22fcd4da')
def test_create_flavor_using_string_ram(self):
flavor_name = data_utils.rand_name(self.flavor_name_prefix)

View File

@ -51,7 +51,6 @@ class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
cls.vcpus = 1
cls.disk = 10
@test.attr(type='gate')
@test.idempotent_id('ea2c2211-29fa-4db9-97c3-906d36fad3e0')
def test_flavor_access_list_with_private_flavor(self):
# Test to make sure that list flavor access on a newly created
@ -67,7 +66,6 @@ class FlavorsAccessTestJSON(base.BaseV2ComputeAdminTest):
flavor_access = self.client.list_flavor_access(new_flavor_id)
self.assertEqual(len(flavor_access), 0, str(flavor_access))
@test.attr(type='gate')
@test.idempotent_id('59e622f6-bdf6-45e3-8ba8-fedad905a6b4')
def test_flavor_access_add_remove(self):
# Test to add and remove flavor access to a given tenant.

View File

@ -64,7 +64,6 @@ class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
cls.client.wait_for_resource_deletion(cls.flavor['id'])
super(FlavorsExtraSpecsTestJSON, cls).resource_cleanup()
@test.attr(type='gate')
@test.idempotent_id('0b2f9d4b-1ca2-4b99-bb40-165d4bb94208')
def test_flavor_set_get_update_show_unset_keys(self):
# Test to SET, GET, UPDATE, SHOW, UNSET flavor extra
@ -95,7 +94,6 @@ class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
self.client.unset_flavor_extra_spec(self.flavor['id'], "key1")
self.client.unset_flavor_extra_spec(self.flavor['id'], "key2")
@test.attr(type='gate')
@test.idempotent_id('a99dad88-ae1c-4fba-aeb4-32f898218bd0')
def test_flavor_non_admin_get_all_keys(self):
specs = {"key1": "value1", "key2": "value2"}
@ -105,7 +103,6 @@ class FlavorsExtraSpecsTestJSON(base.BaseV2ComputeAdminTest):
for key in specs:
self.assertEqual(body[key], specs[key])
@test.attr(type='gate')
@test.idempotent_id('12805a7f-39a3-4042-b989-701d5cad9c90')
def test_flavor_non_admin_get_specific_key(self):
specs = {"key1": "value1", "key2": "value2"}

View File

@ -61,7 +61,6 @@ class FloatingIPsBulkAdminTestJSON(base.BaseV2ComputeAdminTest):
except Exception:
pass
@test.attr(type='gate')
@test.idempotent_id('2c8f145f-8012-4cb8-ac7e-95a587f0e4ab')
@test.services('network')
def test_create_list_delete_floating_ips_bulk(self):

View File

@ -28,13 +28,11 @@ class HostsAdminTestJSON(base.BaseV2ComputeAdminTest):
super(HostsAdminTestJSON, cls).setup_clients()
cls.client = cls.os_adm.hosts_client
@test.attr(type='gate')
@test.idempotent_id('9bfaf98d-e2cb-44b0-a07e-2558b2821e4f')
def test_list_hosts(self):
hosts = self.client.list_hosts()
self.assertTrue(len(hosts) >= 2, str(hosts))
@test.attr(type='gate')
@test.idempotent_id('5dc06f5b-d887-47a2-bb2a-67762ef3c6de')
def test_list_hosts_with_zone(self):
self.useFixture(fixtures.LockFixture('availability_zone'))
@ -46,7 +44,6 @@ class HostsAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertTrue(len(hosts) >= 1)
self.assertIn(host, hosts)
@test.attr(type='gate')
@test.idempotent_id('9af3c171-fbf4-4150-a624-22109733c2a6')
def test_list_hosts_with_a_blank_zone(self):
# If send the request with a blank zone, the request will be successful
@ -55,7 +52,6 @@ class HostsAdminTestJSON(base.BaseV2ComputeAdminTest):
hosts = self.client.list_hosts(params)
self.assertNotEqual(0, len(hosts))
@test.attr(type='gate')
@test.idempotent_id('c6ddbadb-c94e-4500-b12f-8ffc43843ff8')
def test_list_hosts_with_nonexistent_zone(self):
# If send the request with a nonexistent zone, the request will be
@ -64,7 +60,6 @@ class HostsAdminTestJSON(base.BaseV2ComputeAdminTest):
hosts = self.client.list_hosts(params)
self.assertEqual(0, len(hosts))
@test.attr(type='gate')
@test.idempotent_id('38adbb12-aee2-4498-8aec-329c72423aa4')
def test_show_host_detail(self):
hosts = self.client.list_hosts()

View File

@ -36,21 +36,18 @@ class HypervisorAdminTestJSON(base.BaseV2ComputeAdminTest):
def assertHypervisors(self, hypers):
self.assertTrue(len(hypers) > 0, "No hypervisors found: %s" % hypers)
@test.attr(type='gate')
@test.idempotent_id('7f0ceacd-c64d-4e96-b8ee-d02943142cc5')
def test_get_hypervisor_list(self):
# List of hypervisor and available hypervisors hostname
hypers = self._list_hypervisors()
self.assertHypervisors(hypers)
@test.attr(type='gate')
@test.idempotent_id('1e7fdac2-b672-4ad1-97a4-bad0e3030118')
def test_get_hypervisor_list_details(self):
# Display the details of the all hypervisor
hypers = self.client.get_hypervisor_list_details()
self.assertHypervisors(hypers)
@test.attr(type='gate')
@test.idempotent_id('94ff9eae-a183-428e-9cdb-79fde71211cc')
def test_get_hypervisor_show_details(self):
# Display the details of the specified hypervisor
@ -62,7 +59,6 @@ class HypervisorAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertEqual(details['hypervisor_hostname'],
hypers[0]['hypervisor_hostname'])
@test.attr(type='gate')
@test.idempotent_id('e81bba3f-6215-4e39-a286-d52d2f906862')
def test_get_hypervisor_show_servers(self):
# Show instances about the specific hypervisors
@ -73,14 +69,12 @@ class HypervisorAdminTestJSON(base.BaseV2ComputeAdminTest):
hypervisors = self.client.get_hypervisor_servers(hostname)
self.assertTrue(len(hypervisors) > 0)
@test.attr(type='gate')
@test.idempotent_id('797e4f28-b6e0-454d-a548-80cc77c00816')
def test_get_hypervisor_stats(self):
# Verify the stats of the all hypervisor
stats = self.client.get_hypervisor_stats()
self.assertTrue(len(stats) > 0)
@test.attr(type='gate')
@test.idempotent_id('91a50d7d-1c2b-4f24-b55a-a1fe20efca70')
def test_get_hypervisor_uptime(self):
# Verify that GET shows the specified hypervisor uptime
@ -118,7 +112,6 @@ class HypervisorAdminTestJSON(base.BaseV2ComputeAdminTest):
has_valid_uptime,
"None of the hypervisors had a valid uptime: %s" % hypers)
@test.attr(type='gate')
@test.idempotent_id('d7e1805b-3b14-4a3b-b6fd-50ec6d9f361f')
def test_search_hypervisor(self):
hypers = self._list_hypervisors()

View File

@ -27,7 +27,6 @@ class InstanceUsageAuditLogTestJSON(base.BaseV2ComputeAdminTest):
super(InstanceUsageAuditLogTestJSON, cls).setup_clients()
cls.adm_client = cls.os_adm.instance_usages_audit_log_client
@test.attr(type='gate')
@test.idempotent_id('25319919-33d9-424f-9f99-2c203ee48b9d')
def test_list_instance_usage_audit_logs(self):
# list instance usage audit logs
@ -40,7 +39,6 @@ class InstanceUsageAuditLogTestJSON(base.BaseV2ComputeAdminTest):
for item in expected_items:
self.assertIn(item, body)
@test.attr(type='gate')
@test.idempotent_id('6e40459d-7c5f-400b-9e83-449fbc8e7feb')
def test_get_instance_usage_audit_log(self):
# Get instance usage audit log before specified time

View File

@ -87,7 +87,6 @@ class LiveBlockMigrationTestJSON(base.BaseV2ComputeAdminTest):
@test.idempotent_id('1dce86b8-eb04-4c03-a9d8-9c1dc3ee0c7b')
@testtools.skipIf(not CONF.compute_feature_enabled.live_migration,
'Live migration not available')
@test.attr(type='gate')
def test_live_block_migration(self):
# Live block migrate an instance to another host
if len(self._get_compute_hostnames()) < 2:
@ -108,7 +107,6 @@ class LiveBlockMigrationTestJSON(base.BaseV2ComputeAdminTest):
@testtools.skipIf(not CONF.compute_feature_enabled.
block_migrate_cinder_iscsi,
'Block Live migration not configured for iSCSI')
@test.attr(type='gate')
def test_iscsi_volume(self):
# Live block migrate an instance to another host
if len(self._get_compute_hostnames()) < 2:

View File

@ -28,7 +28,6 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest):
super(MigrationsAdminTest, cls).setup_clients()
cls.client = cls.os_adm.migrations_client
@test.attr(type='gate')
@test.idempotent_id('75c0b83d-72a0-4cf8-a153-631e83e7d53f')
def test_list_migrations(self):
# Admin can get the migrations list
@ -37,7 +36,6 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest):
@test.idempotent_id('1b512062-8093-438e-b47a-37d2f597cd64')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
@test.attr(type='gate')
def test_list_migrations_in_flavor_resize_situation(self):
# Admin can get the migrations list which contains the resized server
server = self.create_test_server(wait_until="ACTIVE")

View File

@ -65,7 +65,6 @@ class QuotasAdminTestJSON(base.BaseV2ComputeAdminTest):
for quota in expected_quota_set:
self.assertIn(quota, quota_set.keys())
@test.attr(type='gate')
@test.idempotent_id('55fbe2bf-21a9-435b-bbd2-4162b0ed799a')
def test_update_all_quota_resources_for_tenant(self):
# Admin can update all the resource quota limits for a tenant
@ -97,7 +96,6 @@ class QuotasAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertIn(quota, quota_set.keys())
# TODO(afazekas): merge these test cases
@test.attr(type='gate')
@test.idempotent_id('ce9e0815-8091-4abd-8345-7fe5b85faa1d')
def test_get_updated_quotas(self):
# Verify that GET shows the updated quota set of tenant
@ -131,7 +129,6 @@ class QuotasAdminTestJSON(base.BaseV2ComputeAdminTest):
user_id=user_id)
self.assertEqual(2048, quota_set['ram'])
@test.attr(type='gate')
@test.idempotent_id('389d04f0-3a41-405f-9317-e5f86e3c44f0')
def test_delete_quota(self):
# Admin can delete the resource quota set for a tenant

View File

@ -102,7 +102,6 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
@decorators.skip_because(bug="1186354",
condition=CONF.service_available.neutron)
@test.attr(type='gate')
@test.idempotent_id('7c6c8f3b-2bf6-4918-b240-57b136a66aa0')
@test.services('network')
def test_security_groups_exceed_limit(self):

View File

@ -49,7 +49,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
wait_until='ACTIVE')
cls.s2_id = server['id']
@test.attr(type='gate')
@test.idempotent_id('51717b38-bdc1-458b-b636-1cf82d99f62f')
def test_list_servers_by_admin(self):
# Listing servers by admin user returns empty list by default
@ -57,7 +56,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
servers = body['servers']
self.assertEqual([], servers)
@test.attr(type='gate')
@test.idempotent_id('06f960bb-15bb-48dc-873d-f96e89be7870')
def test_list_servers_filter_by_error_status(self):
# Filter the list of servers by server error status
@ -74,7 +72,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertIn(self.s1_id, map(lambda x: x['id'], servers))
self.assertNotIn(self.s2_id, map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('9f5579ae-19b4-4985-a091-2a5d56106580')
def test_list_servers_by_admin_with_all_tenants(self):
# Listing servers by admin user with all tenants parameter
@ -87,7 +84,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertIn(self.s1_name, servers_name)
self.assertIn(self.s2_name, servers_name)
@test.attr(type='gate')
@test.idempotent_id('7e5d6b8f-454a-4ba1-8ae2-da857af8338b')
def test_list_servers_by_admin_with_specified_tenant(self):
# In nova v2, tenant_id is ignored unless all_tenants is specified
@ -106,7 +102,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
servers = body['servers']
self.assertEqual([], servers)
@test.attr(type='gate')
@test.idempotent_id('86c7a8f7-50cf-43a9-9bac-5b985317134f')
def test_list_servers_filter_by_exist_host(self):
# Filter the list of servers by existent host
@ -132,7 +127,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
self.assertNotIn(test_server['id'],
map(lambda x: x['id'], nonexistent_servers))
@test.attr(type='gate')
@test.idempotent_id('ee8ae470-db70-474d-b752-690b7892cab1')
def test_reset_state_server(self):
# Reset server's state to 'error'
@ -149,7 +143,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
server = self.client.get_server(self.s1_id)
self.assertEqual(server['status'], 'ACTIVE')
@test.attr(type='gate')
@decorators.skip_because(bug="1240043")
@test.idempotent_id('31ff3486-b8a0-4f56-a6c0-aab460531db3')
def test_get_server_diagnostics_by_admin(self):
@ -161,7 +154,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
for key in basic_attrs:
self.assertIn(key, str(diagnostic.keys()))
@test.attr(type='gate')
@test.idempotent_id('682cb127-e5bb-4f53-87ce-cb9003604442')
def test_rebuild_server_in_error_state(self):
# The server in error state should be rebuilt using the provided
@ -189,7 +181,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
rebuilt_image_id = server['image']['id']
self.assertEqual(self.image_ref_alt, rebuilt_image_id)
@test.attr(type='gate')
@test.idempotent_id('7a1323b4-a6a2-497a-96cb-76c07b945c71')
def test_reset_network_inject_network_info(self):
# Reset Network of a Server
@ -198,7 +189,6 @@ class ServersAdminTestJSON(base.BaseV2ComputeAdminTest):
# Inject the Network Info into Server
self.client.inject_network_info(server['id'])
@test.attr(type='gate')
@test.idempotent_id('fdcd9b33-0903-4e00-a1f7-b5f6543068d6')
def test_create_server_with_scheduling_hint(self):
# Create a server with scheduler hints.

View File

@ -29,13 +29,11 @@ class ServicesAdminTestJSON(base.BaseV2ComputeAdminTest):
super(ServicesAdminTestJSON, cls).setup_clients()
cls.client = cls.os_adm.services_client
@test.attr(type='gate')
@test.idempotent_id('5be41ef4-53d1-41cc-8839-5c2a48a1b283')
def test_list_services(self):
services = self.client.list_services()
self.assertNotEqual(0, len(services))
@test.attr(type='gate')
@test.idempotent_id('f345b1ec-bc6e-4c38-a527-3ca2bc00bef5')
def test_get_service_by_service_binary_name(self):
binary_name = 'nova-compute'
@ -45,7 +43,6 @@ class ServicesAdminTestJSON(base.BaseV2ComputeAdminTest):
for service in services:
self.assertEqual(binary_name, service['binary'])
@test.attr(type='gate')
@test.idempotent_id('affb42d5-5b4b-43c8-8b0b-6dca054abcca')
def test_get_service_by_host_name(self):
services = self.client.list_services()
@ -65,7 +62,6 @@ class ServicesAdminTestJSON(base.BaseV2ComputeAdminTest):
# on order.
self.assertEqual(sorted(s1), sorted(s2))
@test.attr(type='gate')
@test.idempotent_id('39397f6f-37b8-4234-8671-281e44c74025')
def test_get_service_by_service_and_host_name(self):
services = self.client.list_services()

View File

@ -46,7 +46,6 @@ class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
# Returns formatted datetime
return at.strftime('%Y-%m-%dT%H:%M:%S.%f')
@test.attr(type='gate')
@test.idempotent_id('062c8ae9-9912-4249-8b51-e38d664e926e')
def test_list_usage_all_tenants(self):
# Get usage for all tenants
@ -56,7 +55,6 @@ class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
tenant_usage = self.adm_client.list_tenant_usages(params)
self.assertEqual(len(tenant_usage), 8)
@test.attr(type='gate')
@test.idempotent_id('94135049-a4c5-4934-ad39-08fa7da4f22e')
def test_get_usage_tenant(self):
# Get usage for a specific tenant
@ -67,7 +65,6 @@ class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
self.assertEqual(len(tenant_usage), 8)
@test.attr(type='gate')
@test.idempotent_id('9d00a412-b40e-4fd9-8eba-97b496316116')
def test_get_usage_tenant_with_non_admin_user(self):
# Get usage for a specific tenant with non admin user

View File

@ -21,7 +21,6 @@ class CertificatesV2TestJSON(base.BaseComputeTest):
_api_version = 2
@test.attr(type='gate')
@test.idempotent_id('c070a441-b08e-447e-a733-905909535b1b')
def test_create_root_certificate(self):
# create certificates
@ -29,7 +28,6 @@ class CertificatesV2TestJSON(base.BaseComputeTest):
self.assertIn('data', body)
self.assertIn('private_key', body)
@test.attr(type='gate')
@test.idempotent_id('3ac273d0-92d2-4632-bdfc-afbc21d4606c')
def test_get_root_certificate(self):
# get the root certificate

View File

@ -53,7 +53,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
flavor = self.client.get_flavor_details(self.flavor_ref)
self.assertEqual(self.flavor_ref, flavor['id'])
@test.attr(type='gate')
@test.idempotent_id('8d7691b3-6ed4-411a-abc9-2839a765adab')
def test_list_flavors_limit_results(self):
# Only the expected number of flavors should be returned
@ -61,7 +60,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
flavors = self.client.list_flavors(params)
self.assertEqual(1, len(flavors))
@test.attr(type='gate')
@test.idempotent_id('b26f6327-2886-467a-82be-cef7a27709cb')
def test_list_flavors_detailed_limit_results(self):
# Only the expected number of flavors (detailed) should be returned
@ -69,7 +67,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
flavors = self.client.list_flavors_with_detail(params)
self.assertEqual(1, len(flavors))
@test.attr(type='gate')
@test.idempotent_id('e800f879-9828-4bd0-8eae-4f17189951fb')
def test_list_flavors_using_marker(self):
# The list of flavors should start from the provided marker
@ -81,7 +78,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]),
'The list of flavors did not start after the marker.')
@test.attr(type='gate')
@test.idempotent_id('6db2f0c0-ddee-4162-9c84-0703d3dd1107')
def test_list_flavors_detailed_using_marker(self):
# The list of flavors should start from the provided marker
@ -93,7 +89,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]),
'The list of flavors did not start after the marker.')
@test.attr(type='gate')
@test.idempotent_id('3df2743e-3034-4e57-a4cb-b6527f6eac79')
def test_list_flavors_detailed_filter_by_min_disk(self):
# The detailed list of flavors should be filtered by disk space
@ -104,7 +99,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
flavors = self.client.list_flavors_with_detail(params)
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
@test.attr(type='gate')
@test.idempotent_id('09fe7509-b4ee-4b34-bf8b-39532dc47292')
def test_list_flavors_detailed_filter_by_min_ram(self):
# The detailed list of flavors should be filtered by RAM
@ -115,7 +109,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
flavors = self.client.list_flavors_with_detail(params)
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
@test.attr(type='gate')
@test.idempotent_id('10645a4d-96f5-443f-831b-730711e11dd4')
def test_list_flavors_filter_by_min_disk(self):
# The list of flavors should be filtered by disk space
@ -126,7 +119,6 @@ class FlavorsV2TestJSON(base.BaseComputeTest):
flavors = self.client.list_flavors(params)
self.assertFalse(any([i for i in flavors if i['id'] == flavor_id]))
@test.attr(type='gate')
@test.idempotent_id('935cf550-e7c8-4da6-8002-00f92d5edfaa')
def test_list_flavors_filter_by_min_ram(self):
# The list of flavors should be filtered by RAM

View File

@ -57,7 +57,6 @@ class FloatingIPsTestJSON(base.BaseFloatingIPsTest):
except lib_exc.NotFound:
pass
@test.attr(type='gate')
@test.idempotent_id('f7bfb946-297e-41b8-9e8c-aba8e9bb5194')
@test.services('network')
def test_allocate_floating_ip(self):
@ -73,7 +72,6 @@ class FloatingIPsTestJSON(base.BaseFloatingIPsTest):
body = self.client.list_floating_ips()
self.assertIn(floating_ip_details, body)
@test.attr(type='gate')
@test.idempotent_id('de45e989-b5ca-4a9b-916b-04a52e7bbb8b')
@test.services('network')
def test_delete_floating_ip(self):
@ -87,7 +85,6 @@ class FloatingIPsTestJSON(base.BaseFloatingIPsTest):
# Check it was really deleted.
self.client.wait_for_resource_deletion(floating_ip_body['id'])
@test.attr(type='gate')
@test.idempotent_id('307efa27-dc6f-48a0-8cd2-162ce3ef0b52')
@test.services('network')
def test_associate_disassociate_floating_ip(self):
@ -108,7 +105,6 @@ class FloatingIPsTestJSON(base.BaseFloatingIPsTest):
self.floating_ip,
self.server_id)
@test.attr(type='gate')
@test.idempotent_id('6edef4b2-aaf1-4abc-bbe3-993e2561e0fe')
@test.services('network')
def test_associate_already_associated_floating_ip(self):

View File

@ -40,7 +40,6 @@ class FloatingIPDetailsTestJSON(base.BaseV2ComputeTest):
cls.client.delete_floating_ip(cls.floating_ip_id[i])
super(FloatingIPDetailsTestJSON, cls).resource_cleanup()
@test.attr(type='gate')
@test.idempotent_id('16db31c3-fb85-40c9-bbe2-8cf7b67ff99f')
@test.services('network')
def test_list_floating_ips(self):
@ -52,7 +51,6 @@ class FloatingIPDetailsTestJSON(base.BaseV2ComputeTest):
for i in range(3):
self.assertIn(self.floating_ip[i], floating_ips)
@test.attr(type='gate')
@test.idempotent_id('eef497e0-8ff7-43c8-85ef-558440574f84')
@test.services('network')
def test_get_floating_ip_details(self):
@ -74,7 +72,6 @@ class FloatingIPDetailsTestJSON(base.BaseV2ComputeTest):
body['fixed_ip'])
self.assertEqual(floating_ip_id, body['id'])
@test.attr(type='gate')
@test.idempotent_id('df389fc8-56f5-43cc-b290-20eda39854d3')
@test.services('network')
def test_list_floating_ip_pools(self):

View File

@ -60,7 +60,6 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
meta = {'os_version': 'value1', 'os_distro': 'value2'}
self.client.set_image_metadata(self.image_id, meta)
@test.attr(type='gate')
@test.idempotent_id('37ec6edd-cf30-4c53-bd45-ae74db6b0531')
def test_list_image_metadata(self):
# All metadata key/value pairs for an image should be returned
@ -68,7 +67,6 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
expected = {'os_version': 'value1', 'os_distro': 'value2'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('ece7befc-d3ce-42a4-b4be-c3067a418c29')
def test_set_image_metadata(self):
# The metadata for the image should match the new values
@ -79,7 +77,6 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
resp_metadata = self.client.list_image_metadata(self.image_id)
self.assertEqual(req_metadata, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('7b491c11-a9d5-40fe-a696-7f7e03d3fea2')
def test_update_image_metadata(self):
# The metadata for the image should match the updated values
@ -93,7 +90,6 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
'architecture': 'value3'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('4f5db52f-6685-4c75-b848-f4bb363f9aa6')
def test_get_image_metadata_item(self):
# The value for a specific metadata key should be returned
@ -101,7 +97,6 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
'os_distro')
self.assertEqual('value2', meta['os_distro'])
@test.attr(type='gate')
@test.idempotent_id('f2de776a-4778-4d90-a5da-aae63aee64ae')
def test_set_image_metadata_item(self):
# The value provided for the given meta item should be set for
@ -113,7 +108,6 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
expected = {'os_version': 'alt', 'os_distro': 'value2'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('a013796c-ba37-4bb5-8602-d944511def14')
def test_delete_image_metadata_item(self):
# The metadata value/key pair should be deleted from the image

View File

@ -40,7 +40,6 @@ class ImagesTestJSON(base.BaseV2ComputeTest):
cls.client = cls.images_client
cls.servers_client = cls.servers_client
@test.attr(type='gate')
@test.idempotent_id('aa06b52b-2db5-4807-b218-9441f75d74e3')
def test_delete_saving_image(self):
snapshot_name = data_utils.rand_name('test-snap')

View File

@ -103,7 +103,6 @@ class ImagesOneServerTestJSON(base.BaseV2ComputeTest):
self.client.delete_image(image_id)
self.client.wait_for_resource_deletion(image_id)
@test.attr(type=['gate'])
@test.idempotent_id('3b7c6fe4-dfe7-477c-9243-b06359db51e6')
def test_create_image_specify_multibyte_character_image_name(self):
# prefix character is:

View File

@ -100,7 +100,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
cls.server1['id'], wait_until='ACTIVE')
cls.snapshot2_id = cls.snapshot2['id']
@test.attr(type='gate')
@test.idempotent_id('a3f5b513-aeb3-42a9-b18e-f091ef73254d')
def test_list_images_filter_by_status(self):
# The list of images should contain only images with the
@ -112,7 +111,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
self.assertTrue(any([i for i in images if i['id'] == self.image2_id]))
self.assertTrue(any([i for i in images if i['id'] == self.image3_id]))
@test.attr(type='gate')
@test.idempotent_id('33163b73-79f5-4d07-a7ea-9213bcc468ff')
def test_list_images_filter_by_name(self):
# List of all images should contain the expected images filtered
@ -127,7 +125,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('9f238683-c763-45aa-b848-232ec3ce3105')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
'Snapshotting is not available.')
@test.attr(type='gate')
def test_list_images_filter_by_server_id(self):
# The images should contain images filtered by server id
params = {'server': self.server1['id']}
@ -145,7 +142,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('05a377b8-28cf-4734-a1e6-2ab5c38bf606')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
'Snapshotting is not available.')
@test.attr(type='gate')
def test_list_images_filter_by_server_ref(self):
# The list of servers should be filtered by server ref
server_links = self.server2['links']
@ -165,7 +161,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('e3356918-4d3e-4756-81d5-abc4524ba29f')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
'Snapshotting is not available.')
@test.attr(type='gate')
def test_list_images_filter_by_type(self):
# The list of servers should be filtered by image type
params = {'type': 'snapshot'}
@ -180,7 +175,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
self.assertFalse(any([i for i in images
if i['id'] == self.image_ref]))
@test.attr(type='gate')
@test.idempotent_id('3a484ca9-67ba-451e-b494-7fcf28d32d62')
def test_list_images_limit_results(self):
# Verify only the expected number of results are returned
@ -188,7 +182,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
images = self.client.list_images(params)
self.assertEqual(1, len([x for x in images if 'id' in x]))
@test.attr(type='gate')
@test.idempotent_id('18bac3ae-da27-436c-92a9-b22474d13aab')
def test_list_images_filter_by_changes_since(self):
# Verify only updated images are returned in the detailed list
@ -200,7 +193,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
found = any([i for i in images if i['id'] == self.image3_id])
self.assertTrue(found)
@test.attr(type='gate')
@test.idempotent_id('9b0ea018-6185-4f71-948a-a123a107988e')
def test_list_images_with_detail_filter_by_status(self):
# Detailed list of all images should only contain images
@ -212,7 +204,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
self.assertTrue(any([i for i in images if i['id'] == self.image2_id]))
self.assertTrue(any([i for i in images if i['id'] == self.image3_id]))
@test.attr(type='gate')
@test.idempotent_id('644ea267-9bd9-4f3b-af9f-dffa02396a17')
def test_list_images_with_detail_filter_by_name(self):
# Detailed list of all images should contain the expected
@ -224,7 +215,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
self.assertFalse(any([i for i in images if i['id'] == self.image2_id]))
self.assertFalse(any([i for i in images if i['id'] == self.image3_id]))
@test.attr(type='gate')
@test.idempotent_id('ba2fa9a9-b672-47cc-b354-3b4c0600e2cb')
def test_list_images_with_detail_limit_results(self):
# Verify only the expected number of results (with full details)
@ -236,7 +226,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('8c78f822-203b-4bf6-8bba-56ebd551cf84')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
'Snapshotting is not available.')
@test.attr(type='gate')
def test_list_images_with_detail_filter_by_server_ref(self):
# Detailed list of servers should be filtered by server ref
server_links = self.server2['links']
@ -256,7 +245,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('888c0cc0-7223-43c5-9db0-b125fd0a393b')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
'Snapshotting is not available.')
@test.attr(type='gate')
def test_list_images_with_detail_filter_by_type(self):
# The detailed list of servers should be filtered by image type
params = {'type': 'snapshot'}
@ -272,7 +260,6 @@ class ListImageFiltersTestJSON(base.BaseV2ComputeTest):
self.assertFalse(any([i for i in images
if i['id'] == self.image_ref]))
@test.attr(type='gate')
@test.idempotent_id('7d439e18-ac2e-4827-b049-7e18004712c4')
def test_list_images_with_detail_filter_by_changes_since(self):
# Verify an update image is returned

View File

@ -36,7 +36,6 @@ class KeyPairsV2TestJSON(base.BaseComputeTest):
self.addCleanup(self._delete_keypair, keypair_name)
return body
@test.attr(type='gate')
@test.idempotent_id('1d1dbedb-d7a0-432a-9d09-83f543c3c19b')
def test_keypairs_create_list_delete(self):
# Keypairs created should be available in the response list
@ -65,7 +64,6 @@ class KeyPairsV2TestJSON(base.BaseComputeTest):
"Failed to find keypairs %s in fetched list"
% ', '.join(m_key['name'] for m_key in missing_kps))
@test.attr(type='gate')
@test.idempotent_id('6c1d3123-4519-4742-9194-622cb1714b7d')
def test_keypair_create_delete(self):
# Keypair should be created, verified and deleted
@ -79,7 +77,6 @@ class KeyPairsV2TestJSON(base.BaseComputeTest):
self.assertTrue(private_key is not None,
"Field private_key is empty or not found.")
@test.attr(type='gate')
@test.idempotent_id('a4233d5d-52d8-47cc-9a25-e1864527e3df')
def test_get_keypair_detail(self):
# Keypair should be created, Got details by name and deleted
@ -95,7 +92,6 @@ class KeyPairsV2TestJSON(base.BaseComputeTest):
self.assertTrue(public_key is not None,
"Field public_key is empty or not found.")
@test.attr(type='gate')
@test.idempotent_id('39c90c6a-304a-49dd-95ec-2366129def05')
def test_keypair_create_with_pub_key(self):
# Keypair should be created with a given public key

View File

@ -24,7 +24,6 @@ class AbsoluteLimitsTestJSON(base.BaseV2ComputeTest):
super(AbsoluteLimitsTestJSON, cls).setup_clients()
cls.client = cls.limits_client
@test.attr(type='gate')
@test.idempotent_id('b54c66af-6ab6-4cf0-a9e5-a0cb58d75e0b')
def test_absLimits_get(self):
# To check if all limits are present in the response

View File

@ -28,7 +28,6 @@ class AZV2TestJSON(base.BaseComputeTest):
super(AZV2TestJSON, cls).setup_clients()
cls.client = cls.availability_zone_client
@test.attr(type='gate')
@test.idempotent_id('a8333aa2-205c-449f-a828-d38c2489bf25')
def test_get_availability_zone_list_with_non_admin_user(self):
# List of availability zone with non-administrator user

View File

@ -97,7 +97,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('cbc0f52f-05aa-492b-bdc1-84b575ca294b')
@testtools.skipUnless(CONF.compute.run_ssh,
'Instance validation tests are disabled.')
@test.attr(type='gate')
def test_verify_created_server_vcpus(self):
# Verify that the number of vcpus reported by the instance matches
# the amount stated by the flavor
@ -109,14 +108,12 @@ class ServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('ac1ad47f-984b-4441-9274-c9079b7a0666')
@testtools.skipUnless(CONF.compute.run_ssh,
'Instance validation tests are disabled.')
@test.attr(type='gate')
def test_host_name_is_same_as_server_name(self):
# Verify the instance host name is the same as the server name
linux_client = remote_client.RemoteClient(self.server, self.ssh_user,
self.password)
self.assertTrue(linux_client.hostname_equals_servername(self.name))
@test.attr(type='gate')
@test.idempotent_id('ed20d3fb-9d1f-4329-b160-543fbd5d9811')
def test_create_server_with_scheduler_hint_group(self):
# Create a server with the scheduler hint "group".
@ -211,7 +208,6 @@ class ServersWithSpecificFlavorTestJSON(base.BaseV2ComputeAdminTest):
@test.idempotent_id('b3c7bcfc-bb5b-4e22-b517-c7f686b802ca')
@testtools.skipUnless(CONF.compute.run_ssh,
'Instance validation tests are disabled.')
@test.attr(type='gate')
def test_verify_created_server_ephemeral_disk(self):
# Verify that the ephemeral disk is created when creating server

View File

@ -32,7 +32,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
super(DeleteServersTestJSON, cls).setup_clients()
cls.client = cls.servers_client
@test.attr(type='gate')
@test.idempotent_id('9e6e0c87-3352-42f7-9faf-5d6210dbd159')
def test_delete_server_while_in_building_state(self):
# Delete a server while it's VM state is Building
@ -40,7 +39,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
self.client.delete_server(server['id'])
self.client.wait_for_server_termination(server['id'])
@test.attr(type='gate')
@test.idempotent_id('925fdfb4-5b13-47ea-ac8a-c36ae6fddb05')
def test_delete_active_server(self):
# Delete a server while it's VM state is Active
@ -48,7 +46,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
self.client.delete_server(server['id'])
self.client.wait_for_server_termination(server['id'])
@test.attr(type='gate')
@test.idempotent_id('546d368c-bb6c-4645-979a-83ed16f3a6be')
def test_delete_server_while_in_shutoff_state(self):
# Delete a server while it's VM state is Shutoff
@ -61,7 +58,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('943bd6e8-4d7a-4904-be83-7a6cc2d4213b')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
@test.attr(type='gate')
def test_delete_server_while_in_pause_state(self):
# Delete a server while it's VM state is Pause
server = self.create_test_server(wait_until='ACTIVE')
@ -73,7 +69,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('1f82ebd3-8253-4f4e-b93f-de9b7df56d8b')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
@test.attr(type='gate')
def test_delete_server_while_in_suspended_state(self):
# Delete a server while it's VM state is Suspended
server = self.create_test_server(wait_until='ACTIVE')
@ -85,7 +80,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('bb0cb402-09dd-4947-b6e5-5e7e1cfa61ad')
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
'Shelve is not available.')
@test.attr(type='gate')
def test_delete_server_while_in_shelved_state(self):
# Delete a server while it's VM state is Shelved
server = self.create_test_server(wait_until='ACTIVE')
@ -105,7 +99,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('ab0c38b4-cdd8-49d3-9b92-0cb898723c01')
@testtools.skipIf(not CONF.compute_feature_enabled.resize,
'Resize not available.')
@test.attr(type='gate')
def test_delete_server_while_in_verify_resize_state(self):
# Delete a server while it's VM state is VERIFY_RESIZE
server = self.create_test_server(wait_until='ACTIVE')
@ -116,7 +109,6 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('d0f3f0d6-d9b6-4a32-8da4-23015dcab23c')
@test.services('volume')
@test.attr(type='gate')
def test_delete_server_while_in_attached_volume(self):
# Delete a server while a volume is attached to it
volumes_client = self.volumes_extensions_client
@ -146,7 +138,6 @@ class DeleteServersAdminTestJSON(base.BaseV2ComputeAdminTest):
cls.non_admin_client = cls.servers_client
cls.admin_client = cls.os_adm.servers_client
@test.attr(type='gate')
@test.idempotent_id('99774678-e072-49d1-9d2a-49a59bc56063')
def test_delete_server_while_in_error_state(self):
# Delete a server while it's VM state is error
@ -159,7 +150,6 @@ class DeleteServersAdminTestJSON(base.BaseV2ComputeAdminTest):
self.servers_client.wait_for_server_termination(server['id'],
ignore_error=True)
@test.attr(type='gate')
@test.idempotent_id('73177903-6737-4f27-a60c-379e8ae8cf48')
def test_admin_delete_servers_of_others(self):
# Administrator can delete servers of others

View File

@ -51,7 +51,6 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
server = self.client.get_server(server['id'])
self.assertEqual(disk_config, server['OS-DCF:diskConfig'])
@test.attr(type='gate')
@test.idempotent_id('bef56b09-2e8c-4883-a370-4950812f430e')
def test_rebuild_server_with_manual_disk_config(self):
# A server should be rebuilt using the manual disk config option
@ -68,7 +67,6 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
server = self.client.get_server(server['id'])
self.assertEqual('MANUAL', server['OS-DCF:diskConfig'])
@test.attr(type='gate')
@test.idempotent_id('9c9fae77-4feb-402f-8450-bf1c8b609713')
def test_rebuild_server_with_auto_disk_config(self):
# A server should be rebuilt using the auto disk config option
@ -96,7 +94,6 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('414e7e93-45b5-44bc-8e03-55159c6bfc97')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
@test.attr(type='gate')
def test_resize_server_from_manual_to_auto(self):
# A server should be resized from manual to auto disk config
self._update_server_with_disk_config(disk_config='MANUAL')
@ -114,7 +111,6 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('693d16f3-556c-489a-8bac-3d0ca2490bad')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
@test.attr(type='gate')
def test_resize_server_from_auto_to_manual(self):
# A server should be resized from auto to manual disk config
self._update_server_with_disk_config(disk_config='AUTO')
@ -129,7 +125,6 @@ class ServerDiskConfigTestJSON(base.BaseV2ComputeTest):
server = self.client.get_server(self.server_id)
self.assertEqual('MANUAL', server['OS-DCF:diskConfig'])
@test.attr(type='gate')
@test.idempotent_id('5ef18867-358d-4de9-b3c9-94d4ba35742f')
def test_update_server_from_auto_to_manual(self):
# A server should be updated from auto to manual disk config

View File

@ -31,7 +31,6 @@ class InstanceActionsTestJSON(base.BaseV2ComputeTest):
cls.request_id = server.response['x-compute-request-id']
cls.server_id = server['id']
@test.attr(type='gate')
@test.idempotent_id('77ca5cc5-9990-45e0-ab98-1de8fead201a')
def test_list_instance_actions(self):
# List actions of the provided server
@ -43,7 +42,6 @@ class InstanceActionsTestJSON(base.BaseV2ComputeTest):
self.assertTrue(any([i for i in body if i['action'] == 'create']))
self.assertTrue(any([i for i in body if i['action'] == 'reboot']))
@test.attr(type='gate')
@test.idempotent_id('aacc71ca-1d70-4aa5-bbf6-0ff71470e43c')
def test_get_instance_action(self):
# Get the action details of the provided server

View File

@ -93,7 +93,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('05e8a8e7-9659-459a-989d-92c2f501f4ba')
@utils.skip_unless_attr('multiple_images', 'Only one image found')
@test.attr(type='gate')
def test_list_servers_filter_by_image(self):
# Filter the list of servers by image
params = {'image': self.image_ref}
@ -104,7 +103,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2['id'], map(lambda x: x['id'], servers))
self.assertIn(self.s3['id'], map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('573637f5-7325-47bb-9144-3476d0416908')
def test_list_servers_filter_by_flavor(self):
# Filter the list of servers by flavor
@ -116,7 +114,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2['id'], map(lambda x: x['id'], servers))
self.assertIn(self.s3['id'], map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('9b067a7b-7fee-4f6a-b29c-be43fe18fc5a')
def test_list_servers_filter_by_server_name(self):
# Filter the list of servers by server name
@ -128,7 +125,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2_name, map(lambda x: x['name'], servers))
self.assertNotIn(self.s3_name, map(lambda x: x['name'], servers))
@test.attr(type='gate')
@test.idempotent_id('ca78e20e-fddb-4ce6-b7f7-bcbf8605e66e')
def test_list_servers_filter_by_server_status(self):
# Filter the list of servers by server status
@ -140,7 +136,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertIn(self.s2['id'], map(lambda x: x['id'], servers))
self.assertIn(self.s3['id'], map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('451dbbb2-f330-4a9f-b0e1-5f5d2cb0f34c')
def test_list_servers_filter_by_shutoff_status(self):
# Filter the list of servers by server shutoff status
@ -158,7 +153,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2['id'], map(lambda x: x['id'], servers))
self.assertNotIn(self.s3['id'], map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('614cdfc1-d557-4bac-915b-3e67b48eee76')
def test_list_servers_filter_by_limit(self):
# Verify only the expected number of servers are returned
@ -166,7 +160,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
servers = self.client.list_servers(params)
self.assertEqual(1, len([x for x in servers['servers'] if 'id' in x]))
@test.attr(type='gate')
@test.idempotent_id('b1495414-2d93-414c-8019-849afe8d319e')
def test_list_servers_filter_by_zero_limit(self):
# Verify only the expected number of servers are returned
@ -174,7 +167,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
servers = self.client.list_servers(params)
self.assertEqual(0, len(servers['servers']))
@test.attr(type='gate')
@test.idempotent_id('37791bbd-90c0-4de0-831e-5f38cba9c6b3')
def test_list_servers_filter_by_exceed_limit(self):
# Verify only the expected number of servers are returned
@ -186,7 +178,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('b3304c3b-97df-46d2-8cd3-e2b6659724e7')
@utils.skip_unless_attr('multiple_images', 'Only one image found')
@test.attr(type='gate')
def test_list_servers_detailed_filter_by_image(self):
# Filter the detailed list of servers by image
params = {'image': self.image_ref}
@ -197,7 +188,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2['id'], map(lambda x: x['id'], servers))
self.assertIn(self.s3['id'], map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('80c574cc-0925-44ba-8602-299028357dd9')
def test_list_servers_detailed_filter_by_flavor(self):
# Filter the detailed list of servers by flavor
@ -209,7 +199,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2['id'], map(lambda x: x['id'], servers))
self.assertIn(self.s3['id'], map(lambda x: x['id'], servers))
@test.attr(type='gate')
@test.idempotent_id('f9eb2b70-735f-416c-b260-9914ac6181e4')
def test_list_servers_detailed_filter_by_server_name(self):
# Filter the detailed list of servers by server name
@ -221,7 +210,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2_name, map(lambda x: x['name'], servers))
self.assertNotIn(self.s3_name, map(lambda x: x['name'], servers))
@test.attr(type='gate')
@test.idempotent_id('de2612ab-b7dd-4044-b0b1-d2539601911f')
def test_list_servers_detailed_filter_by_server_status(self):
# Filter the detailed list of servers by server status
@ -236,7 +224,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertEqual(['ACTIVE'] * 3, [x['status'] for x in servers
if x['id'] in test_ids])
@test.attr(type='gate')
@test.idempotent_id('e9f624ee-92af-4562-8bec-437945a18dcb')
def test_list_servers_filtered_by_name_wildcard(self):
# List all servers that contains '-instance' in name
@ -259,7 +246,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2_name, map(lambda x: x['name'], servers))
self.assertNotIn(self.s3_name, map(lambda x: x['name'], servers))
@test.attr(type='gate')
@test.idempotent_id('24a89b0c-0d55-4a28-847f-45075f19b27b')
def test_list_servers_filtered_by_name_regex(self):
# list of regex that should match s1, s2 and s3
@ -284,7 +270,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertNotIn(self.s2_name, map(lambda x: x['name'], servers))
self.assertNotIn(self.s3_name, map(lambda x: x['name'], servers))
@test.attr(type='gate')
@test.idempotent_id('43a1242e-7b31-48d1-88f2-3f72aa9f2077')
def test_list_servers_filtered_by_ip(self):
# Filter servers by ip
@ -304,7 +289,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
@decorators.skip_because(bug="1182883",
condition=CONF.service_available.neutron)
@test.attr(type='gate')
@test.idempotent_id('a905e287-c35e-42f2-b132-d02b09f3654a')
def test_list_servers_filtered_by_ip_regex(self):
# Filter servers by regex ip
@ -323,7 +307,6 @@ class ListServerFiltersTestJSON(base.BaseV2ComputeTest):
self.assertIn(self.s2_name, map(lambda x: x['name'], servers))
self.assertIn(self.s3_name, map(lambda x: x['name'], servers))
@test.attr(type='gate')
@test.idempotent_id('67aec2d0-35fe-4503-9f92-f13272b867ed')
def test_list_servers_detailed_limit_results(self):
# Verify only the expected number of detailed results are returned

View File

@ -100,7 +100,6 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
servers = body['servers']
self.assertEqual([], servers)
@test.attr(type='gate')
@test.idempotent_id('12c80a9f-2dec-480e-882b-98ba15757659')
def test_list_servers_by_limits(self):
# List servers by specifying limits

View File

@ -35,7 +35,6 @@ class MultipleCreateTestJSON(base.BaseV2ComputeTest):
return body
@test.attr(type='gate')
@test.idempotent_id('61e03386-89c3-449c-9bb1-a06f423fd9d1')
def test_multiple_create(self):
body = self._create_multiple_servers(wait_until='ACTIVE',
@ -46,7 +45,6 @@ class MultipleCreateTestJSON(base.BaseV2ComputeTest):
# contains return_reservation_id=False
self.assertNotIn('reservation_id', body)
@test.attr(type='gate')
@test.idempotent_id('864777fb-2f1e-44e3-b5b9-3eb6fa84f2f7')
def test_multiple_create_with_reservation_return(self):
body = self._create_multiple_servers(wait_until='ACTIVE',

View File

@ -66,7 +66,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('6158df09-4b82-4ab3-af6d-29cf36af858d')
@testtools.skipUnless(CONF.compute_feature_enabled.change_password,
'Change password not available.')
@test.attr(type='gate')
def test_change_server_password(self):
# The server's password should be set to the provided password
new_password = 'Newpass1234'
@ -150,7 +149,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
if self.image_ref_alt != self.image_ref:
self.client.rebuild(self.server_id, self.image_ref)
@test.attr(type='gate')
@test.idempotent_id('30449a88-5aff-4f9b-9866-6ee9b17f906d')
def test_rebuild_server_in_stop_state(self):
# The server in stop state should be rebuilt using the provided
@ -232,7 +230,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('c03aab19-adb1-44f5-917d-c419577e9e68')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
@test.attr(type='gate')
def test_resize_server_revert(self):
# The server's RAM and disk space should return to its original
# values after a resize is reverted
@ -252,7 +249,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('b963d4f1-94b3-4c40-9e97-7b583f46e470')
@testtools.skipUnless(CONF.compute_feature_enabled.snapshot,
'Snapshotting not available, backup not possible.')
@test.attr(type='gate')
@test.services('image')
def test_create_backup(self):
# Positive test:create backup successfully and rotate backups correctly
@ -342,7 +338,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('4b8867e6-fffa-4d54-b1d1-6fdda57be2f3')
@testtools.skipUnless(CONF.compute_feature_enabled.console_output,
'Console output not supported.')
@test.attr(type='gate')
def test_get_console_output(self):
# Positive test:Should be able to GET the console output
# for a given server_id and number of lines
@ -360,7 +355,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('89104062-69d8-4b19-a71b-f47b7af093d7')
@testtools.skipUnless(CONF.compute_feature_enabled.console_output,
'Console output not supported.')
@test.attr(type='gate')
def test_get_console_output_with_unlimited_size(self):
server = self.create_test_server(wait_until='ACTIVE')
@ -380,7 +374,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('5b65d4e7-4ecd-437c-83c0-d6b79d927568')
@testtools.skipUnless(CONF.compute_feature_enabled.console_output,
'Console output not supported.')
@test.attr(type='gate')
def test_get_console_output_server_id_in_shutoff_status(self):
# Positive test:Should be able to GET the console output
# for a given server_id in SHUTOFF status
@ -399,7 +392,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('bd61a9fd-062f-4670-972b-2d6c3e3b9e73')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
@test.attr(type='gate')
def test_pause_unpause_server(self):
self.client.pause_server(self.server_id)
self.client.wait_for_server_status(self.server_id, 'PAUSED')
@ -409,7 +401,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('0d8ee21e-b749-462d-83da-b85b41c86c7f')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
@test.attr(type='gate')
def test_suspend_resume_server(self):
self.client.suspend_server(self.server_id)
self.client.wait_for_server_status(self.server_id, 'SUSPENDED')
@ -419,7 +410,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('77eba8e0-036e-4635-944b-f7a8f3b78dc9')
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
'Shelve is not available.')
@test.attr(type='gate')
def test_shelve_unshelve_server(self):
self.client.shelve_server(self.server_id)
@ -446,7 +436,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
self.client.unshelve_server(self.server_id)
self.client.wait_for_server_status(self.server_id, 'ACTIVE')
@test.attr(type='gate')
@test.idempotent_id('af8eafd4-38a7-4a4b-bdbc-75145a580560')
def test_stop_start_server(self):
self.servers_client.stop(self.server_id)
@ -454,7 +443,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
self.servers_client.start(self.server_id)
self.servers_client.wait_for_server_status(self.server_id, 'ACTIVE')
@test.attr(type='gate')
@test.idempotent_id('80a8094c-211e-440a-ab88-9e59d556c7ee')
def test_lock_unlock_server(self):
# Lock the server,try server stop(exceptions throw),unlock it and retry
@ -480,7 +468,6 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('c6bc11bf-592e-4015-9319-1c98dc64daf5')
@testtools.skipUnless(CONF.compute_feature_enabled.vnc_console,
'VNC Console feature is disabled.')
@test.attr(type='gate')
def test_get_vnc_console(self):
# Get the VNC console of type 'novnc' and 'xvpvnc'
console_types = ['novnc', 'xvpvnc']

View File

@ -70,13 +70,11 @@ class ServerGroupTestJSON(base.BaseV2ComputeTest):
server_group = self._create_server_group(name, policy)
self._delete_server_group(server_group)
@test.attr(type='gate')
@test.idempotent_id('5dc57eda-35b7-4af7-9e5f-3c2be3d2d68b')
def test_create_delete_server_group_with_affinity_policy(self):
# Create and Delete the server-group with affinity policy
self._create_delete_server_group(self.policy)
@test.attr(type='gate')
@test.idempotent_id('3645a102-372f-4140-afad-13698d850d23')
def test_create_delete_server_group_with_anti_affinity_policy(self):
# Create and Delete the server-group with anti-affinity policy
@ -84,14 +82,12 @@ class ServerGroupTestJSON(base.BaseV2ComputeTest):
self._create_delete_server_group(policy)
@decorators.skip_because(bug="1324348")
@test.attr(type='gate')
@test.idempotent_id('6d9bae05-eb32-425d-a673-e14e1b1c6306')
def test_create_delete_server_group_with_multiple_policies(self):
# Create and Delete the server-group with multiple policies
policies = ['affinity', 'affinity']
self._create_delete_server_group(policies)
@test.attr(type='gate')
@test.idempotent_id('154dc5a4-a2fe-44b5-b99e-f15806a4a113')
def test_create_delete_multiple_server_groups_with_same_name_policy(self):
# Create and Delete the server-groups with same name and same policy
@ -107,7 +103,6 @@ class ServerGroupTestJSON(base.BaseV2ComputeTest):
for i in range(0, 2):
self._delete_server_group(server_groups[i])
@test.attr(type='gate')
@test.idempotent_id('b3545034-dd78-48f0-bdc2-a4adfa6d0ead')
def test_get_server_group(self):
# Get the server-group
@ -115,7 +110,6 @@ class ServerGroupTestJSON(base.BaseV2ComputeTest):
self.created_server_group['id'])
self.assertEqual(self.created_server_group, body)
@test.attr(type='gate')
@test.idempotent_id('d4874179-27b4-4d7d-80e4-6c560cdfe321')
def test_list_server_groups(self):
# List the server-group

View File

@ -36,7 +36,6 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
meta = {'key1': 'value1', 'key2': 'value2'}
self.client.set_server_metadata(self.server_id, meta)
@test.attr(type='gate')
@test.idempotent_id('479da087-92b3-4dcf-aeb3-fd293b2d14ce')
def test_list_server_metadata(self):
# All metadata key/value pairs for a server should be returned
@ -46,7 +45,6 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
expected = {'key1': 'value1', 'key2': 'value2'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('211021f6-21de-4657-a68f-908878cfe251')
def test_set_server_metadata(self):
# The server's metadata should be replaced with the provided values
@ -59,7 +57,6 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
resp_metadata = self.client.list_server_metadata(self.server_id)
self.assertEqual(resp_metadata, req_metadata)
@test.attr(type='gate')
@test.idempotent_id('344d981e-0c33-4997-8a5d-6c1d803e4134')
def test_update_server_metadata(self):
# The server's metadata values should be updated to the
@ -72,7 +69,6 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
expected = {'key1': 'alt1', 'key2': 'value2', 'key3': 'value3'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('0f58d402-e34a-481d-8af8-b392b17426d9')
def test_update_metadata_empty_body(self):
# The original metadata should not be lost if empty metadata body is
@ -83,14 +79,12 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
expected = {'key1': 'value1', 'key2': 'value2'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('3043c57d-7e0e-49a6-9a96-ad569c265e6a')
def test_get_server_metadata_item(self):
# The value for a specific metadata key should be returned
meta = self.client.get_server_metadata_item(self.server_id, 'key2')
self.assertEqual('value2', meta['key2'])
@test.attr(type='gate')
@test.idempotent_id('58c02d4f-5c67-40be-8744-d3fa5982eb1c')
def test_set_server_metadata_item(self):
# The item's value should be updated to the provided value
@ -103,7 +97,6 @@ class ServerMetadataTestJSON(base.BaseV2ComputeTest):
expected = {'key1': 'value1', 'key2': 'value2', 'nova': 'alt'}
self.assertEqual(expected, resp_metadata)
@test.attr(type='gate')
@test.idempotent_id('127642d6-4c7b-4486-b7cd-07265a378658')
def test_delete_server_metadata_item(self):
# The metadata value/key pair should be deleted from the server

View File

@ -30,12 +30,10 @@ class ServerPasswordTestJSON(base.BaseV2ComputeTest):
super(ServerPasswordTestJSON, cls).resource_setup()
cls.server = cls.create_test_server(wait_until="ACTIVE")
@test.attr(type='gate')
@test.idempotent_id('f83b582f-62a8-4f22-85b0-0dee50ff783a')
def test_get_server_password(self):
self.client.get_password(self.server['id'])
@test.attr(type='gate')
@test.idempotent_id('f8229e8b-b625-4493-800a-bde86ac611ea')
def test_delete_server_password(self):
self.client.delete_password(self.server['id'])

View File

@ -28,7 +28,6 @@ class ServerPersonalityTestJSON(base.BaseV2ComputeTest):
cls.client = cls.servers_client
cls.user_client = cls.limits_client
@test.attr(type='gate')
@test.idempotent_id('176cd8c9-b9e8-48ee-a480-180beab292bf')
def test_personality_files_exceed_limit(self):
# Server creation should fail if greater than the maximum allowed
@ -48,7 +47,6 @@ class ServerPersonalityTestJSON(base.BaseV2ComputeTest):
self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit),
self.create_test_server, personality=personality)
@test.attr(type='gate')
@test.idempotent_id('52f12ee8-5180-40cc-b417-31572ea3d555')
def test_can_create_server_with_max_number_personality_files(self):
# Server should be created successfully if maximum allowed number of

View File

@ -86,7 +86,6 @@ class ServerRescueTestJSON(base.BaseV2ComputeTest):
self.servers_client.unrescue_server(self.server_id)
self.servers_client.wait_for_server_status(self.server_id, 'ACTIVE')
@test.attr(type='gate')
@test.idempotent_id('4842e0cf-e87d-4d9d-b61f-f4791da3cacc')
def test_rescued_vm_associate_dissociate_floating_ip(self):
# Rescue the server
@ -104,7 +103,6 @@ class ServerRescueTestJSON(base.BaseV2ComputeTest):
client.disassociate_floating_ip_from_server(self.floating_ip,
self.server_id)
@test.attr(type='gate')
@test.idempotent_id('affca41f-7195-492d-8065-e09eee245404')
def test_rescued_vm_add_remove_security_group(self):
# Rescue the server

View File

@ -30,7 +30,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self.clear_servers()
super(ServersTestJSON, self).tearDown()
@test.attr(type='gate')
@test.idempotent_id('b92d5ec7-b1dd-44a2-87e4-45e888c46ef0')
def test_create_server_with_admin_password(self):
# If an admin password is provided on server creation, the server's
@ -40,7 +39,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
# Verify the password is set correctly in the response
self.assertEqual('testpassword', server['adminPass'])
@test.attr(type='gate')
@test.idempotent_id('8fea6be7-065e-47cf-89b8-496e6f96c699')
def test_create_with_existing_server_name(self):
# Creating a server with a name that already exists is allowed
@ -60,7 +58,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
name2 = server['name']
self.assertEqual(name1, name2)
@test.attr(type='gate')
@test.idempotent_id('f9e15296-d7f9-4e62-b53f-a04e89160833')
def test_create_specify_keypair(self):
# Specify a keypair while creating a server
@ -86,7 +83,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self.assertEqual(new_name, server['name'])
return server
@test.attr(type='gate')
@test.idempotent_id('5e6ccff8-349d-4852-a8b3-055df7988dd2')
def test_update_server_name(self):
# The server name should be changed to the the provided value
@ -94,7 +90,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self._update_server_name(server['id'], 'ACTIVE')
@test.attr(type='gate')
@test.idempotent_id('6ac19cb1-27a3-40ec-b350-810bdc04c08e')
def test_update_server_name_in_stop_state(self):
# The server name should be changed to the the provided value
@ -104,7 +99,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
updated_server = self._update_server_name(server['id'], 'SHUTOFF')
self.assertNotIn('progress', updated_server)
@test.attr(type='gate')
@test.idempotent_id('89b90870-bc13-4b73-96af-f9d4f2b70077')
def test_update_access_server_address(self):
# The server's access addresses should reflect the provided values
@ -121,7 +115,6 @@ class ServersTestJSON(base.BaseV2ComputeTest):
self.assertEqual('1.1.1.1', server['accessIPv4'])
self.assertEqual('::babe:202:202', server['accessIPv6'])
@test.attr(type='gate')
@test.idempotent_id('38fb1d02-c3c5-41de-91d3-9bc2025a75eb')
def test_create_server_with_ipv6_addr_only(self):
# Create a server without an IPv4 address(only IPv6 address).

View File

@ -44,7 +44,6 @@ class VirtualInterfacesTestJSON(base.BaseV2ComputeTest):
@decorators.skip_because(bug="1183436",
condition=CONF.service_available.neutron)
@test.attr(type='gate')
@test.idempotent_id('96c4e2ef-5e4d-4d7f-87f5-fed6dca18016')
@test.services('network')
def test_list_virtual_interfaces(self):

View File

@ -103,35 +103,30 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
cls.security_client.delete_security_group(cls.security_group['id'])
super(AuthorizationTestJSON, cls).resource_cleanup()
@test.attr(type='gate')
@test.idempotent_id('56816e4a-bd34-47b5-aee9-268c3efeb5d4')
def test_get_server_for_alt_account_fails(self):
# A GET request for a server on another user's account should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.get_server,
self.server['id'])
@test.attr(type='gate')
@test.idempotent_id('fb8a4870-6d9d-44ad-8375-95d52e98d9f6')
def test_delete_server_for_alt_account_fails(self):
# A DELETE request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.delete_server,
self.server['id'])
@test.attr(type='gate')
@test.idempotent_id('d792f91f-1d49-4eb5-b1ff-b229c4b9dc64')
def test_update_server_for_alt_account_fails(self):
# An update server request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.update_server,
self.server['id'], name='test')
@test.attr(type='gate')
@test.idempotent_id('488f24df-d7f7-4207-949a-f17fcb8e8769')
def test_list_server_addresses_for_alt_account_fails(self):
# A list addresses request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.list_addresses,
self.server['id'])
@test.attr(type='gate')
@test.idempotent_id('00b442d0-2e72-40e7-9b1f-31772e36da01')
def test_list_server_addresses_by_network_for_alt_account_fails(self):
# A list address/network request for another user's server should fail
@ -140,7 +135,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_client.list_addresses_by_network, server_id,
'public')
@test.attr(type='gate')
@test.idempotent_id('cc90b35a-19f0-45d2-b680-2aabf934aa22')
def test_list_servers_with_alternate_tenant(self):
# A list on servers from one tenant should not
@ -151,35 +145,30 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
alt_server_ids = [s['id'] for s in body['servers']]
self.assertNotIn(self.server['id'], alt_server_ids)
@test.attr(type='gate')
@test.idempotent_id('376dbc16-0779-4384-a723-752774799641')
def test_change_password_for_alt_account_fails(self):
# A change password request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.change_password,
self.server['id'], 'newpass')
@test.attr(type='gate')
@test.idempotent_id('14cb5ff5-f646-45ca-8f51-09081d6c0c24')
def test_reboot_server_for_alt_account_fails(self):
# A reboot request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.reboot,
self.server['id'], 'HARD')
@test.attr(type='gate')
@test.idempotent_id('8a0bce51-cd00-480b-88ba-dbc7d8408a37')
def test_rebuild_server_for_alt_account_fails(self):
# A rebuild request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.rebuild,
self.server['id'], self.image_ref_alt)
@test.attr(type='gate')
@test.idempotent_id('e4da647e-f982-4e61-9dad-1d1abebfb933')
def test_resize_server_for_alt_account_fails(self):
# A resize request for another user's server should fail
self.assertRaises(lib_exc.NotFound, self.alt_client.resize,
self.server['id'], self.flavor_ref_alt)
@test.attr(type='gate')
@test.idempotent_id('a9fe8112-0ffa-4902-b061-f892bd5fe0d3')
def test_create_image_for_alt_account_fails(self):
# A create image request for another user's server should fail
@ -187,14 +176,12 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_images_client.create_image,
self.server['id'], 'testImage')
@test.attr(type='gate')
@test.idempotent_id('95d445f6-babc-4f2e-aea3-aa24ec5e7f0d')
def test_create_server_with_unauthorized_image(self):
# Server creation with another user's image should fail
self.assertRaises(lib_exc.BadRequest, self.alt_client.create_server,
'test', self.image['id'], self.flavor_ref)
@test.attr(type='gate')
@test.idempotent_id('acf8724b-142b-4044-82c3-78d31a533f24')
def test_create_server_fails_when_tenant_incorrect(self):
# A create server request should fail if the tenant id does not match
@ -208,7 +195,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_client.create_server, 'test',
self.image['id'], self.flavor_ref)
@test.attr(type='gate')
@test.idempotent_id('f03d1ded-7fd4-4d29-bc13-e2391f29c625')
def test_create_keypair_in_analt_user_tenant(self):
# A create keypair request should fail if the tenant id does not match
@ -232,7 +218,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
LOG.error("Create keypair request should not happen "
"if the tenant id does not match the current user")
@test.attr(type='gate')
@test.idempotent_id('85bcdd8f-56b4-4868-ae56-63fbf6f7e405')
def test_get_keypair_of_alt_account_fails(self):
# A GET request for another user's keypair should fail
@ -240,7 +225,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_keypairs_client.get_keypair,
self.keypairname)
@test.attr(type='gate')
@test.idempotent_id('6d841683-a8e0-43da-a1b8-b339f7692b61')
def test_delete_keypair_of_alt_account_fails(self):
# A DELETE request for another user's keypair should fail
@ -248,14 +232,12 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_keypairs_client.delete_keypair,
self.keypairname)
@test.attr(type='gate')
@test.idempotent_id('fcb2e144-36e3-4dfb-9f9f-e72fcdec5656')
def test_get_image_for_alt_account_fails(self):
# A GET request for an image on another user's account should fail
self.assertRaises(lib_exc.NotFound,
self.alt_images_client.get_image, self.image['id'])
@test.attr(type='gate')
@test.idempotent_id('9facb962-f043-4a9d-b9ee-166a32dea098')
def test_delete_image_for_alt_account_fails(self):
# A DELETE request for another user's image should fail
@ -263,7 +245,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_images_client.delete_image,
self.image['id'])
@test.attr(type='gate')
@test.idempotent_id('752c917e-83be-499d-a422-3559127f7d3c')
def test_create_security_group_in_analt_user_tenant(self):
# A create security group request should fail if the tenant id does not
@ -289,7 +270,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
LOG.error("Create Security Group request should not happen if"
"the tenant id does not match the current user")
@test.attr(type='gate')
@test.idempotent_id('9db3590f-4d15-4e5f-985e-b28514919a6f')
def test_get_security_group_of_alt_account_fails(self):
# A GET request for another user's security group should fail
@ -297,7 +277,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_security_client.get_security_group,
self.security_group['id'])
@test.attr(type='gate')
@test.idempotent_id('155387a5-2bbc-4acf-ab06-698dae537ea5')
def test_delete_security_group_of_alt_account_fails(self):
# A DELETE request for another user's security group should fail
@ -305,7 +284,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_security_client.delete_security_group,
self.security_group['id'])
@test.attr(type='gate')
@test.idempotent_id('b2b76de0-210a-4089-b921-591c9ec552f6')
def test_create_security_group_rule_in_analt_user_tenant(self):
# A create security group rule request should fail if the tenant id
@ -336,7 +314,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
"happen if the tenant id does not match the"
" current user")
@test.attr(type='gate')
@test.idempotent_id('c6044177-37ef-4ce4-b12c-270ddf26d7da')
def test_delete_security_group_rule_of_alt_account_fails(self):
# A DELETE request for another user's security group rule
@ -345,7 +322,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_security_client.delete_security_group_rule,
self.rule['id'])
@test.attr(type='gate')
@test.idempotent_id('c5f52351-53d9-4fc9-83e5-917f7f5e3d71')
def test_set_metadata_of_alt_account_server_fails(self):
# A set metadata for another user's server should fail
@ -355,7 +331,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.server['id'],
req_metadata)
@test.attr(type='gate')
@test.idempotent_id('fb6f51e9-df15-4939-898d-1aca38c258f0')
def test_set_metadata_of_alt_account_image_fails(self):
# A set metadata for another user's image should fail
@ -364,7 +339,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_images_client.set_image_metadata,
self.image['id'], req_metadata)
@test.attr(type='gate')
@test.idempotent_id('dea1936a-473d-49f2-92ad-97bb7aded22e')
def test_get_metadata_of_alt_account_server_fails(self):
# A get metadata for another user's server should fail
@ -376,7 +350,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_client.get_server_metadata_item,
self.server['id'], 'meta1')
@test.attr(type='gate')
@test.idempotent_id('16b2d724-0d3b-4216-a9fa-97bd4d9cf670')
def test_get_metadata_of_alt_account_image_fails(self):
# A get metadata for another user's image should fail
@ -389,7 +362,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_images_client.get_image_metadata_item,
self.image['id'], 'meta1')
@test.attr(type='gate')
@test.idempotent_id('79531e2e-e721-493c-8b30-a35db36fdaa6')
def test_delete_metadata_of_alt_account_server_fails(self):
# A delete metadata for another user's server should fail
@ -401,7 +373,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_client.delete_server_metadata_item,
self.server['id'], 'meta1')
@test.attr(type='gate')
@test.idempotent_id('a5175dcf-cef8-43d6-9b77-3cb707d62e94')
def test_delete_metadata_of_alt_account_image_fails(self):
# A delete metadata for another user's image should fail
@ -414,7 +385,6 @@ class AuthorizationTestJSON(base.BaseV2ComputeTest):
self.alt_images_client.delete_image_metadata_item,
self.image['id'], 'meta1')
@test.attr(type='gate')
@test.idempotent_id('b0c1e7a0-8853-40fd-8384-01f93d116cae')
def test_get_console_output_of_alt_account_server_fails(self):
# A Get Console Output for another user's server should fail

View File

@ -27,7 +27,6 @@ LOG = logging.getLogger(__name__)
class ExtensionsTestJSON(base.BaseV2ComputeTest):
@test.attr(type='gate')
@test.idempotent_id('3bb27738-b759-4e0d-a5fa-37d7a6df07d1')
def test_list_extensions(self):
# List of all extensions
@ -47,7 +46,6 @@ class ExtensionsTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('05762f39-bdfa-4cdb-9b46-b78f8e78e2fd')
@test.requires_ext(extension='os-consoles', service='compute')
@test.attr(type='gate')
def test_get_extension(self):
# get the specified extensions
extension = self.extensions_client.show_extension('os-consoles')

View File

@ -31,7 +31,6 @@ class NetworksTestJSON(base.BaseV2ComputeTest):
super(NetworksTestJSON, cls).setup_clients()
cls.client = cls.os.networks_client
@test.attr(type='gate')
@test.idempotent_id('3fe07175-312e-49a5-a623-5f52eeada4c2')
def test_list_networks(self):
networks = self.client.list_networks()

View File

@ -23,7 +23,6 @@ class NetworksTestJSON(base.BaseV2ComputeTest):
super(NetworksTestJSON, cls).resource_setup()
cls.client = cls.os.tenant_networks_client
@test.attr(type='gate')
@test.idempotent_id('edfea98e-bbe3-4c7a-9739-87b986baff26')
def test_list_show_tenant_networks(self):
tenant_networks = self.client.list_tenant_networks()

View File

@ -86,7 +86,6 @@ class AttachVolumeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('52e9045a-e90d-4c0d-9087-79d657faffff')
@testtools.skipUnless(CONF.compute.run_ssh, 'SSH required for this test')
@test.attr(type='gate')
def test_attach_detach_volume(self):
# Stop and Start a server with an attached volume, ensuring that
# the volume remains attached.
@ -120,7 +119,6 @@ class AttachVolumeTestJSON(base.BaseV2ComputeTest):
partitions = linux_client.get_partitions()
self.assertNotIn(self.device, partitions)
@test.attr(type='gate')
@test.idempotent_id('7fa563fe-f0f7-43eb-9e22-a1ece036b513')
def test_list_get_volume_attachments(self):
# Create Server, Volume and attach that Volume to Server

View File

@ -83,7 +83,6 @@ class VolumesTestJSON(base.BaseV2ComputeTest):
cls.delete_volume(volume['id'])
super(VolumesTestJSON, cls).resource_cleanup()
@test.attr(type='gate')
@test.idempotent_id('bc2dd1a0-15af-48e5-9990-f2e75a48325d')
def test_volume_list(self):
# Should return the list of Volumes
@ -99,7 +98,6 @@ class VolumesTestJSON(base.BaseV2ComputeTest):
', '.join(m_vol['displayName']
for m_vol in missing_volumes))
@test.attr(type='gate')
@test.idempotent_id('bad0567a-5a4f-420b-851e-780b55bb867c')
def test_volume_list_with_details(self):
# Should return the list of Volumes with details
@ -115,7 +113,6 @@ class VolumesTestJSON(base.BaseV2ComputeTest):
', '.join(m_vol['displayName']
for m_vol in missing_volumes))
@test.attr(type='gate')
@test.idempotent_id('1048ed81-2baf-487a-b284-c0622b86e7b8')
def test_volume_list_param_limit(self):
# Return the list of volumes based on limit set
@ -125,7 +122,6 @@ class VolumesTestJSON(base.BaseV2ComputeTest):
self.assertEqual(len(fetched_vol_list), params['limit'],
"Failed to list volumes by limit set")
@test.attr(type='gate')
@test.idempotent_id('33985568-4965-49d5-9bcc-0aa007ca5b7a')
def test_volume_list_with_detail_param_limit(self):
# Return the list of volumes with details based on limit set.
@ -135,7 +131,6 @@ class VolumesTestJSON(base.BaseV2ComputeTest):
self.assertEqual(len(fetched_vol_list), params['limit'],
"Failed to list volume details by limit set")
@test.attr(type='gate')
@test.idempotent_id('51c22651-a074-4ea7-af0b-094f9331303e')
def test_volume_list_param_offset_and_limit(self):
# Return the list of volumes based on offset and limit set.
@ -153,7 +148,6 @@ class VolumesTestJSON(base.BaseV2ComputeTest):
all_vol_list[index + params['offset']]['id'],
"Failed to list volumes by offset and limit")
@test.attr(type='gate')
@test.idempotent_id('06b6abc4-3f10-48e9-a7a1-3facc98f03e5')
def test_volume_list_with_detail_param_offset_and_limit(self):
# Return the list of volumes details based on offset and limit set.

View File

@ -45,7 +45,6 @@ class RolesTestJSON(base.BaseIdentityV2AdminTest):
found = True
self.assertTrue(found, "assigned role was not in list")
@test.attr(type='gate')
@test.idempotent_id('75d9593f-50b7-4fcf-bd64-e3fb4a278e23')
def test_list_roles(self):
"""Return a list of all roles."""
@ -54,7 +53,6 @@ class RolesTestJSON(base.BaseIdentityV2AdminTest):
self.assertTrue(any(found))
self.assertEqual(len(found), len(self.data.roles))
@test.attr(type='gate')
@test.idempotent_id('c62d909d-6c21-48c0-ae40-0a0760e6db5e')
def test_role_create_delete(self):
"""Role should be created, verified, and deleted."""
@ -72,7 +70,6 @@ class RolesTestJSON(base.BaseIdentityV2AdminTest):
found = [role for role in body if role['name'] == role_name]
self.assertFalse(any(found))
@test.attr(type='gate')
@test.idempotent_id('db6870bd-a6ed-43be-a9b1-2f10a5c9994f')
def test_get_role_by_id(self):
"""Get a role by its id."""
@ -83,7 +80,6 @@ class RolesTestJSON(base.BaseIdentityV2AdminTest):
self.assertEqual(role_id, body['id'])
self.assertEqual(role_name, body['name'])
@test.attr(type='gate')
@test.idempotent_id('0146f675-ffbd-4208-b3a4-60eb628dbc5e')
def test_assign_user_role(self):
"""Assign a role to a user on a tenant."""
@ -92,7 +88,6 @@ class RolesTestJSON(base.BaseIdentityV2AdminTest):
roles = self.client.list_user_roles(tenant['id'], user['id'])
self.assert_role_in_role_list(role, roles)
@test.attr(type='gate')
@test.idempotent_id('f0b9292c-d3ba-4082-aa6c-440489beef69')
def test_remove_user_role(self):
"""Remove a role assigned to a user on a tenant."""
@ -102,7 +97,6 @@ class RolesTestJSON(base.BaseIdentityV2AdminTest):
self.client.remove_user_role(tenant['id'], user['id'],
user_role['id'])
@test.attr(type='gate')
@test.idempotent_id('262e1e3e-ed71-4edd-a0e5-d64e83d66d05')
def test_list_user_roles(self):
"""List roles assigned to a user on tenant."""

View File

@ -63,7 +63,6 @@ class ServicesTestJSON(base.BaseIdentityV2AdminTest):
self.assertEqual(fetched_service['description'],
service_data['description'])
@test.attr(type='gate')
@test.idempotent_id('5d3252c8-e555-494b-a6c8-e11d7335da42')
def test_create_service_without_description(self):
# Create a service only with name and type

View File

@ -22,7 +22,6 @@ from tempest import test
class TenantsTestJSON(base.BaseIdentityV2AdminTest):
@test.attr(type='gate')
@test.idempotent_id('16c6e05c-6112-4b0e-b83f-5e43f221b6b0')
def test_tenant_list_delete(self):
# Create several tenants and delete them
@ -45,7 +44,6 @@ class TenantsTestJSON(base.BaseIdentityV2AdminTest):
found = [tenant for tenant in body if tenant['id'] in tenant_ids]
self.assertFalse(any(found), 'Tenants failed to delete')
@test.attr(type='gate')
@test.idempotent_id('d25e9f24-1310-4d29-b61b-d91299c21d6d')
def test_tenant_create_with_description(self):
# Create tenant with a description
@ -66,7 +64,6 @@ class TenantsTestJSON(base.BaseIdentityV2AdminTest):
self.client.delete_tenant(tenant_id)
self.data.tenants.remove(tenant)
@test.attr(type='gate')
@test.idempotent_id('670bdddc-1cd7-41c7-b8e2-751cfb67df50')
def test_tenant_create_enabled(self):
# Create a tenant that is enabled
@ -83,7 +80,6 @@ class TenantsTestJSON(base.BaseIdentityV2AdminTest):
self.client.delete_tenant(tenant_id)
self.data.tenants.remove(tenant)
@test.attr(type='gate')
@test.idempotent_id('3be22093-b30f-499d-b772-38340e5e16fb')
def test_tenant_create_not_enabled(self):
# Create a tenant that is not enabled
@ -102,7 +98,6 @@ class TenantsTestJSON(base.BaseIdentityV2AdminTest):
self.client.delete_tenant(tenant_id)
self.data.tenants.remove(tenant)
@test.attr(type='gate')
@test.idempotent_id('781f2266-d128-47f3-8bdb-f70970add238')
def test_tenant_update_name(self):
# Update name attribute of a tenant
@ -129,7 +124,6 @@ class TenantsTestJSON(base.BaseIdentityV2AdminTest):
self.client.delete_tenant(t_id)
self.data.tenants.remove(tenant)
@test.attr(type='gate')
@test.idempotent_id('859fcfe1-3a03-41ef-86f9-b19a47d1cd87')
def test_tenant_update_desc(self):
# Update description attribute of a tenant
@ -157,7 +151,6 @@ class TenantsTestJSON(base.BaseIdentityV2AdminTest):
self.client.delete_tenant(t_id)
self.data.tenants.remove(tenant)
@test.attr(type='gate')
@test.idempotent_id('8fc8981f-f12d-4c66-9972-2bdcf2bc2e1a')
def test_tenant_update_enable(self):
# Update the enabled attribute of a tenant

View File

@ -21,7 +21,6 @@ from tempest import test
class TokensTestJSON(base.BaseIdentityV2AdminTest):
@test.attr(type='gate')
@test.idempotent_id('453ad4d5-e486-4b2f-be72-cffc8149e586')
def test_create_get_delete_token(self):
# get a token by username and password
@ -52,7 +51,6 @@ class TokensTestJSON(base.BaseIdentityV2AdminTest):
# then delete the token
self.client.delete_token(token_id)
@test.attr(type='gate')
@test.idempotent_id('25ba82ee-8a32-4ceb-8f50-8b8c71e8765e')
def test_rescope_token(self):
"""An unscoped token can be requested, that token can be used to

View File

@ -105,7 +105,6 @@ class UsersTestJSON(base.BaseIdentityV2AdminTest):
self.data.test_password,
self.data.test_tenant)
@test.attr(type='gate')
@test.idempotent_id('5d1fa498-4c2d-4732-a8fe-2b054598cfdd')
def test_authentication_request_without_token(self):
# Request for token authentication with a valid token in header
@ -132,7 +131,6 @@ class UsersTestJSON(base.BaseIdentityV2AdminTest):
matchers.Contains(self.data.test_user),
"Could not find %s" % self.data.test_user)
@test.attr(type='gate')
@test.idempotent_id('6e317209-383a-4bed-9f10-075b7c82c79a')
def test_list_users_for_tenant(self):
# Return a list of all users for a tenant
@ -163,7 +161,6 @@ class UsersTestJSON(base.BaseIdentityV2AdminTest):
"Failed to find user %s in fetched list" %
', '.join(m_user for m_user in missing_users))
@test.attr(type='gate')
@test.idempotent_id('a8b54974-40e1-41c0-b812-50fc90827971')
def test_list_users_with_roles_for_tenant(self):
# Return list of users on tenant when roles are assigned to users

View File

@ -57,7 +57,6 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest):
cls.service_client.delete_service(s)
super(EndPointsTestJSON, cls).resource_cleanup()
@test.attr(type='gate')
@test.idempotent_id('c19ecf90-240e-4e23-9966-21cee3f6a618')
def test_list_endpoints(self):
# Get a list of endpoints
@ -69,7 +68,6 @@ class EndPointsTestJSON(base.BaseIdentityV3AdminTest):
"Failed to find endpoint %s in fetched list" %
', '.join(str(e) for e in missing_endpoints))
@test.attr(type='gate')
@test.idempotent_id('0e2446d2-c1fd-461b-a729-b9e73e3e3b37')
def test_create_list_delete_endpoint(self):
region = data_utils.rand_name('region')

View File

@ -38,7 +38,6 @@ class ListProjectsTestJSON(base.BaseIdentityV3AdminTest):
cls.data.projects.append(cls.p2)
cls.project_ids.append(cls.p2['id'])
@test.attr(type='gate')
@test.idempotent_id('1d830662-22ad-427c-8c3e-4ec854b0af44')
def test_projects_list(self):
# List projects
@ -48,20 +47,17 @@ class ListProjectsTestJSON(base.BaseIdentityV3AdminTest):
get_project = self.client.get_project(p)
self.assertIn(get_project, list_projects)
@test.attr(type='gate')
@test.idempotent_id('fab13f3c-f6a6-4b9f-829b-d32fd44fdf10')
def test_list_projects_with_domains(self):
# List projects with domain
self._list_projects_with_params(
{'domain_id': self.data.domain['id']}, 'domain_id')
@test.attr(type='gate')
@test.idempotent_id('0fe7a334-675a-4509-b00e-1c4b95d5dae8')
def test_list_projects_with_enabled(self):
# List the projects with enabled
self._list_projects_with_params({'enabled': False}, 'enabled')
@test.attr(type='gate')
@test.idempotent_id('fa178524-4e6d-4925-907c-7ab9f42c7e26')
def test_list_projects_with_name(self):
# List projects with name

View File

@ -51,7 +51,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
email=cls.alt_email, enabled=False)
cls.data.v3_users.append(cls.non_domain_enabled_user)
@test.attr(type='gate')
@test.idempotent_id('08f9aabb-dcfe-41d0-8172-82b5fa0bd73d')
def test_list_user_domains(self):
# List users with domain
@ -60,7 +59,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
self.domain_enabled_user,
self.non_domain_enabled_user)
@test.attr(type='gate')
@test.idempotent_id('bff8bf2f-9408-4ef5-b63a-753c8c2124eb')
def test_list_users_with_not_enabled(self):
# List the users with not enabled
@ -69,7 +67,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
self.non_domain_enabled_user,
self.domain_enabled_user)
@test.attr(type='gate')
@test.idempotent_id('c285bb37-7325-4c02-bff3-3da5d946d683')
def test_list_users_with_name(self):
# List users with name
@ -78,7 +75,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
self.domain_enabled_user,
self.non_domain_enabled_user)
@test.attr(type='gate')
@test.idempotent_id('b30d4651-a2ea-4666-8551-0c0e49692635')
def test_list_users(self):
# List users
@ -90,7 +86,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
"Failed to find user %s in fetched list" %
', '.join(m_user for m_user in missing_users))
@test.attr(type='gate')
@test.idempotent_id('b4baa3ae-ac00-4b4e-9e27-80deaad7771f')
def test_get_user(self):
# Get a user detail

View File

@ -21,7 +21,6 @@ from tempest import test
class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
@test.attr(type='gate')
@test.idempotent_id('0ecf465c-0dc4-4532-ab53-91ffeb74d12d')
def test_project_create_with_description(self):
# Create project with a description
@ -39,7 +38,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(desc2, project_desc, 'Description does not appear'
'to be set')
@test.attr(type='gate')
@test.idempotent_id('5f50fe07-8166-430b-a882-3b2ee0abe26f')
def test_project_create_with_domain(self):
# Create project with a domain
@ -55,7 +53,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(project_name, body['name'])
self.assertEqual(self.data.domain['id'], body['domain_id'])
@test.attr(type='gate')
@test.idempotent_id('1f66dc76-50cc-4741-a200-af984509e480')
def test_project_create_enabled(self):
# Create a project that is enabled
@ -70,7 +67,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
en2 = body['enabled']
self.assertTrue(en2, 'Enable should be True in lookup')
@test.attr(type='gate')
@test.idempotent_id('78f96a9c-e0e0-4ee6-a3ba-fbf6dfd03207')
def test_project_create_not_enabled(self):
# Create a project that is not enabled
@ -86,7 +82,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual('false', str(en2).lower(),
'Enable should be False in lookup')
@test.attr(type='gate')
@test.idempotent_id('f608f368-048c-496b-ad63-d286c26dab6b')
def test_project_update_name(self):
# Update name attribute of a project
@ -108,7 +103,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(p_name1, resp1_name)
self.assertEqual(resp2_name, resp3_name)
@test.attr(type='gate')
@test.idempotent_id('f138b715-255e-4a7d-871d-351e1ef2e153')
def test_project_update_desc(self):
# Update description attribute of a project
@ -132,7 +126,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(p_desc, resp1_desc)
self.assertEqual(resp2_desc, resp3_desc)
@test.attr(type='gate')
@test.idempotent_id('b6b25683-c97f-474d-a595-55d410b68100')
def test_project_update_enable(self):
# Update the enabled attribute of a project
@ -156,7 +149,6 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual('false', str(resp1_en).lower())
self.assertEqual(resp2_en, resp3_en)
@test.attr(type='gate')
@test.idempotent_id('59398d4a-5dc5-4f86-9a4c-c26cc804d6c6')
def test_associate_user_to_project(self):
# Associate a user to a project

View File

@ -47,7 +47,6 @@ class RegionsTestJSON(base.BaseIdentityV3AdminTest):
self.assertRaises(lib_exc.NotFound,
self.client.get_region, region_id)
@test.attr(type='gate')
@test.idempotent_id('56186092-82e4-43f2-b954-91013218ba42')
def test_create_update_get_delete_region(self):
r_description = data_utils.rand_name('description')
@ -85,7 +84,6 @@ class RegionsTestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(r_region_id, region['id'])
self.assertEqual(r_description, region['description'])
@test.attr(type='gate')
@test.idempotent_id('d180bf99-544a-445c-ad0d-0c0d27663796')
def test_list_regions(self):
# Get a list of regions

View File

@ -174,7 +174,6 @@ class RolesV3TestJSON(base.BaseIdentityV3AdminTest):
self.client.revoke_role_from_group_on_domain(
self.domain['id'], self.group_body['id'], self.role['id'])
@test.attr(type='gate')
@test.idempotent_id('f5654bcc-08c4-4f71-88fe-05d64e06de94')
def test_list_roles(self):
# Return a list of all roles

View File

@ -49,7 +49,6 @@ class TokensV3TestJSON(base.BaseIdentityV3AdminTest):
self.assertRaises(lib_exc.NotFound, self.client.get_token,
subject_token)
@test.attr(type='gate')
@test.idempotent_id('565fa210-1da1-4563-999b-f7b5b67cf112')
def test_rescope_token(self):
"""Rescope a token.

View File

@ -21,7 +21,6 @@ from tempest import test
class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
@test.attr(type='gate')
@test.idempotent_id('b537d090-afb9-4519-b95d-270b0708e87e')
def test_user_update(self):
# Test case to check if updating of user attributes is successful.
@ -65,7 +64,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(u_email2, new_user_get['email'])
self.assertEqual('false', str(new_user_get['enabled']).lower())
@test.attr(type='gate')
@test.idempotent_id('2d223a0e-e457-4a70-9fb1-febe027a0ff9')
def test_update_user_password(self):
# Creating User to check password updation
@ -88,7 +86,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
self.assertEqual(token_details['user']['id'], user['id'])
self.assertEqual(token_details['user']['name'], u_name)
@test.attr(type='gate')
@test.idempotent_id('a831e70c-e35b-430b-92ed-81ebbc5437b8')
def test_list_user_projects(self):
# List the projects that a user has access upon
@ -142,7 +139,6 @@ class UsersV3TestJSON(base.BaseIdentityV3AdminTest):
', '.join(m_project for m_project
in missing_projects))
@test.attr(type='gate')
@test.idempotent_id('c10dcd90-461d-4b16-8e23-4eb836c00644')
def test_get_user(self):
# Get a user detail

View File

@ -19,7 +19,6 @@ from tempest import test
class ExtensionTestJSON(base.BaseIdentityV2AdminTest):
@test.attr(type='gate')
@test.idempotent_id('85f3f661-f54c-4d48-b563-72ae952b9383')
def test_list_extensions(self):
# List all the extensions

View File

@ -19,7 +19,6 @@ from tempest import test
class ImageMembersTest(base.BaseV1ImageMembersTest):
@test.attr(type='gate')
@test.idempotent_id('1d6ef640-3a20-4c84-8710-d95828fdb6ad')
def test_add_image_member(self):
image = self._create_image()
@ -31,7 +30,6 @@ class ImageMembersTest(base.BaseV1ImageMembersTest):
# get image as alt user
self.alt_img_cli.get_image(image)
@test.attr(type='gate')
@test.idempotent_id('6a5328a5-80e8-4b82-bd32-6c061f128da9')
def test_get_shared_images(self):
image = self._create_image()
@ -44,7 +42,6 @@ class ImageMembersTest(base.BaseV1ImageMembersTest):
self.assertIn(share_image, images)
self.assertIn(image, images)
@test.attr(type='gate')
@test.idempotent_id('a76a3191-8948-4b44-a9d6-4053e5f2b138')
def test_remove_member(self):
image_id = self._create_image()

View File

@ -27,7 +27,6 @@ CONF = config.CONF
class CreateRegisterImagesTest(base.BaseV1ImageTest):
"""Here we test the registration and creation of images."""
@test.attr(type='gate')
@test.idempotent_id('3027f8e6-3492-4a11-8575-c3293017af4d')
def test_register_then_upload(self):
# Register, then upload an image
@ -51,7 +50,6 @@ class CreateRegisterImagesTest(base.BaseV1ImageTest):
self.assertIn('size', body)
self.assertEqual(1024, body.get('size'))
@test.attr(type='gate')
@test.idempotent_id('69da74d9-68a9-404b-9664-ff7164ccb0f5')
def test_register_remote_image(self):
# Register a new remote image
@ -69,7 +67,6 @@ class CreateRegisterImagesTest(base.BaseV1ImageTest):
self.assertEqual(properties['key1'], 'value1')
self.assertEqual(properties['key2'], 'value2')
@test.attr(type='gate')
@test.idempotent_id('6d0e13a7-515b-460c-b91f-9f4793f09816')
def test_register_http_image(self):
body = self.create_image(name='New Http Image',
@ -83,7 +80,6 @@ class CreateRegisterImagesTest(base.BaseV1ImageTest):
self.client.wait_for_image_status(image_id, 'active')
self.client.get_image(image_id)
@test.attr(type='gate')
@test.idempotent_id('05b19d55-140c-40d0-b36b-fafd774d421b')
def test_register_image_with_min_ram(self):
# Register an image with min ram
@ -170,7 +166,6 @@ class ListImagesTest(base.BaseV1ImageTest):
image_id = image['id']
return image_id
@test.attr(type='gate')
@test.idempotent_id('246178ab-3b33-4212-9a4b-a7fe8261794d')
def test_index_no_params(self):
# Simple test to see all fixture images returned
@ -179,7 +174,6 @@ class ListImagesTest(base.BaseV1ImageTest):
for image_id in self.created_images:
self.assertIn(image_id, image_list)
@test.attr(type='gate')
@test.idempotent_id('f1755589-63d6-4468-b098-589820eb4031')
def test_index_disk_format(self):
images_list = self.client.image_list(disk_format='ami')
@ -189,7 +183,6 @@ class ListImagesTest(base.BaseV1ImageTest):
self.assertTrue(self.ami_set <= result_set)
self.assertFalse(self.created_set - self.ami_set <= result_set)
@test.attr(type='gate')
@test.idempotent_id('2143655d-96d9-4bec-9188-8674206b4b3b')
def test_index_container_format(self):
images_list = self.client.image_list(container_format='bare')
@ -199,7 +192,6 @@ class ListImagesTest(base.BaseV1ImageTest):
self.assertTrue(self.bare_set <= result_set)
self.assertFalse(self.created_set - self.bare_set <= result_set)
@test.attr(type='gate')
@test.idempotent_id('feb32ac6-22bb-4a16-afd8-9454bb714b14')
def test_index_max_size(self):
images_list = self.client.image_list(size_max=42)
@ -209,7 +201,6 @@ class ListImagesTest(base.BaseV1ImageTest):
self.assertTrue(self.size42_set <= result_set)
self.assertFalse(self.created_set - self.size42_set <= result_set)
@test.attr(type='gate')
@test.idempotent_id('6ffc16d0-4cbf-4401-95c8-4ac63eac34d8')
def test_index_min_size(self):
images_list = self.client.image_list(size_min=142)
@ -219,7 +210,6 @@ class ListImagesTest(base.BaseV1ImageTest):
self.assertTrue(self.size142_set <= result_set)
self.assertFalse(self.size42_set <= result_set)
@test.attr(type='gate')
@test.idempotent_id('e5dc26d9-9aa2-48dd-bda5-748e1445da98')
def test_index_status_active_detail(self):
images_list = self.client.image_list_detail(status='active',
@ -232,7 +222,6 @@ class ListImagesTest(base.BaseV1ImageTest):
top_size = size
self.assertEqual(image['status'], 'active')
@test.attr(type='gate')
@test.idempotent_id('097af10a-bae8-4342-bff4-edf89969ed2a')
def test_index_name(self):
images_list = self.client.image_list_detail(
@ -267,7 +256,6 @@ class UpdateImageMetaTest(base.BaseV1ImageTest):
image_id = image['id']
return image_id
@test.attr(type='gate')
@test.idempotent_id('01752c1c-0275-4de3-9e5b-876e44541928')
def test_list_image_metadata(self):
# All metadata key/value pairs for an image should be returned
@ -275,7 +263,6 @@ class UpdateImageMetaTest(base.BaseV1ImageTest):
expected = {'key1': 'value1'}
self.assertEqual(expected, resp_metadata['properties'])
@test.attr(type='gate')
@test.idempotent_id('d6d7649c-08ce-440d-9ea7-e3dda552f33c')
def test_update_image_metadata(self):
# The metadata for the image should match the updated values

View File

@ -28,7 +28,6 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
Here we test the basic operations of images
"""
@test.attr(type='gate')
@test.idempotent_id('139b765e-7f3d-4b3d-8b37-3ca3876ee318')
def test_register_upload_get_image_file(self):
@ -70,7 +69,6 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
body = self.client.get_image_file(image_id)
self.assertEqual(file_content, body.data)
@test.attr(type='gate')
@test.idempotent_id('f848bb94-1c6e-45a4-8726-39e3a5b23535')
def test_delete_image(self):
# Deletes an image by image_id
@ -92,7 +90,6 @@ class BasicOperationsImagesTest(base.BaseV2ImageTest):
images_id = [item['id'] for item in images]
self.assertNotIn(image_id, images_id)
@test.attr(type='gate')
@test.idempotent_id('f66891a7-a35c-41a8-b590-a065c2a1caa6')
def test_update_image(self):
# Updates an image by image_id
@ -171,7 +168,6 @@ class ListImagesTest(base.BaseV2ImageTest):
msg = "Failed to list images by %s" % key
self.assertEqual(params[key], image[key], msg)
@test.attr(type='gate')
@test.idempotent_id('1e341d7a-90a9-494c-b143-2cdf2aeb6aee')
def test_index_no_params(self):
# Simple test to see all fixture images returned
@ -181,28 +177,24 @@ class ListImagesTest(base.BaseV2ImageTest):
for image in self.created_images:
self.assertIn(image, image_list)
@test.attr(type='gate')
@test.idempotent_id('9959ca1d-1aa7-4b7a-a1ea-0fff0499b37e')
def test_list_images_param_container_format(self):
# Test to get all images with container_format='bare'
params = {"container_format": "bare"}
self._list_by_param_value_and_assert(params)
@test.attr(type='gate')
@test.idempotent_id('4a4735a7-f22f-49b6-b0d9-66e1ef7453eb')
def test_list_images_param_disk_format(self):
# Test to get all images with disk_format = raw
params = {"disk_format": "raw"}
self._list_by_param_value_and_assert(params)
@test.attr(type='gate')
@test.idempotent_id('7a95bb92-d99e-4b12-9718-7bc6ab73e6d2')
def test_list_images_param_visibility(self):
# Test to get all images with visibility = private
params = {"visibility": "private"}
self._list_by_param_value_and_assert(params)
@test.attr(type='gate')
@test.idempotent_id('cf1b9a48-8340-480e-af7b-fe7e17690876')
def test_list_images_param_size(self):
# Test to get all images by size
@ -213,7 +205,6 @@ class ListImagesTest(base.BaseV2ImageTest):
params = {"size": image['size']}
self._list_by_param_value_and_assert(params)
@test.attr(type='gate')
@test.idempotent_id('4ad8c157-971a-4ba8-aa84-ed61154b1e7f')
def test_list_images_param_min_max_size(self):
# Test to get all images with size between 2000 to 3000
@ -231,14 +222,12 @@ class ListImagesTest(base.BaseV2ImageTest):
image_size <= params['size_max'],
"Failed to get images by size_min and size_max")
@test.attr(type='gate')
@test.idempotent_id('7fc9e369-0f58-4d05-9aa5-0969e2d59d15')
def test_list_images_param_status(self):
# Test to get all active images
params = {"status": "active"}
self._list_by_param_value_and_assert(params)
@test.attr(type='gate')
@test.idempotent_id('e914a891-3cc8-4b40-ad32-e0a39ffbddbb')
def test_list_images_param_limit(self):
# Test to get images by limit
@ -248,7 +237,6 @@ class ListImagesTest(base.BaseV2ImageTest):
self.assertEqual(len(images_list), params['limit'],
"Failed to get images by limit")
@test.attr(type='gate')
@test.idempotent_id('622b925c-479f-4736-860d-adeaf13bc371')
def test_get_image_schema(self):
# Test to get image schema
@ -256,7 +244,6 @@ class ListImagesTest(base.BaseV2ImageTest):
body = self.client.get_schema(schema)
self.assertEqual("image", body['name'])
@test.attr(type='gate')
@test.idempotent_id('25c8d7b2-df21-460f-87ac-93130bcdc684')
def test_get_images_schema(self):
# Test to get images schema

View File

@ -16,7 +16,6 @@ from tempest import test
class ImagesMemberTest(base.BaseV2MemberImageTest):
@test.attr(type='gate')
@test.idempotent_id('5934c6ea-27dc-4d6e-9421-eeb5e045494a')
def test_image_share_accept(self):
image_id = self._create_image()
@ -38,7 +37,6 @@ class ImagesMemberTest(base.BaseV2MemberImageTest):
self.assertEqual(member['image_id'], image_id)
self.assertEqual(member['status'], 'accepted')
@test.attr(type='gate')
@test.idempotent_id('d9e83e5f-3524-4b38-a900-22abcb26e90e')
def test_image_share_reject(self):
image_id = self._create_image()
@ -53,7 +51,6 @@ class ImagesMemberTest(base.BaseV2MemberImageTest):
'rejected')
self.assertNotIn(image_id, self._list_image_ids_as_alt())
@test.attr(type='gate')
@test.idempotent_id('a6ee18b9-4378-465e-9ad9-9a6de58a3287')
def test_get_image_member(self):
image_id = self._create_image()
@ -70,7 +67,6 @@ class ImagesMemberTest(base.BaseV2MemberImageTest):
self.assertEqual(image_id, member['image_id'])
self.assertEqual('accepted', member['status'])
@test.attr(type='gate')
@test.idempotent_id('72989bc7-2268-48ed-af22-8821e835c914')
def test_remove_image_member(self):
image_id = self._create_image()
@ -84,13 +80,11 @@ class ImagesMemberTest(base.BaseV2MemberImageTest):
self.os_img_client.remove_member(image_id, self.alt_tenant_id)
self.assertNotIn(image_id, self._list_image_ids_as_alt())
@test.attr(type='gate')
@test.idempotent_id('634dcc3f-f6e2-4409-b8fd-354a0bb25d83')
def test_get_image_member_schema(self):
body = self.os_img_client.get_schema("member")
self.assertEqual("member", body['name'])
@test.attr(type='gate')
@test.idempotent_id('6ae916ef-1052-4e11-8d36-b3ae14853cbb')
def test_get_image_members_schema(self):
body = self.os_img_client.get_schema("members")

View File

@ -20,7 +20,6 @@ from tempest import test
class ImagesTagsTest(base.BaseV2ImageTest):
@test.attr(type='gate')
@test.idempotent_id('10407036-6059-4f95-a2cd-cbbbee7ed329')
def test_update_delete_tags_for_image(self):
body = self.create_image(container_format='bare',

View File

@ -85,7 +85,6 @@ class QuotasTest(base.BaseAdminNetworkTest):
for q in non_default_quotas['quotas']:
self.assertNotEqual(tenant_id, q['tenant_id'])
@test.attr(type='gate')
@test.idempotent_id('2390f766-836d-40ef-9aeb-e810d78207fb')
def test_quotas(self):
new_quotas = {'network': 0, 'security_group': 0}
@ -93,7 +92,6 @@ class QuotasTest(base.BaseAdminNetworkTest):
@test.idempotent_id('a7add2b1-691e-44d6-875f-697d9685f091')
@test.requires_ext(extension='lbaas', service='network')
@test.attr(type='gate')
def test_lbaas_quotas(self):
new_quotas = {'vip': 1, 'pool': 2,
'member': 3, 'health_monitor': 4}

View File

@ -65,7 +65,6 @@ class BulkTest(base.BaseObjectTest):
self.assertHeaders(resp, 'Account', 'GET')
self.assertNotIn(container_name, body)
@test.attr(type='gate')
@test.idempotent_id('a407de51-1983-47cc-9f14-47c2b059413c')
@test.requires_ext(extension='bulk', service='object')
def test_extract_archive(self):
@ -102,7 +101,6 @@ class BulkTest(base.BaseObjectTest):
self.assertIn(object_name, [c['name'] for c in contents_list])
@test.attr(type='gate')
@test.idempotent_id('c075e682-0d2a-43b2-808d-4116200d736d')
@test.requires_ext(extension='bulk', service='object')
def test_bulk_delete(self):
@ -130,7 +128,6 @@ class BulkTest(base.BaseObjectTest):
# Check if uploaded contents are completely deleted
self._check_contents_deleted(container_name)
@test.attr(type='gate')
@test.idempotent_id('dbea2bcb-efbb-4674-ac8a-a5a0e33d1d79')
@test.requires_ext(extension='bulk', service='object')
def test_bulk_delete_by_POST(self):

View File

@ -51,7 +51,6 @@ class StaticWebTest(base.BaseObjectTest):
@test.idempotent_id('c1f055ab-621d-4a6a-831f-846fcb578b8b')
@test.requires_ext(extension='staticweb', service='object')
@test.attr('gate')
def test_web_index(self):
headers = {'web-index': self.object_name}
@ -83,7 +82,6 @@ class StaticWebTest(base.BaseObjectTest):
@test.idempotent_id('941814cf-db9e-4b21-8112-2b6d0af10ee5')
@test.requires_ext(extension='staticweb', service='object')
@test.attr('gate')
def test_web_listing(self):
headers = {'web-listings': 'true'}
@ -116,7 +114,6 @@ class StaticWebTest(base.BaseObjectTest):
@test.idempotent_id('bc37ec94-43c8-4990-842e-0e5e02fc8926')
@test.requires_ext(extension='staticweb', service='object')
@test.attr('gate')
def test_web_listing_css(self):
headers = {'web-listings': 'true',
'web-listings-css': 'listings.css'}
@ -141,7 +138,6 @@ class StaticWebTest(base.BaseObjectTest):
@test.idempotent_id('f18b4bef-212e-45e7-b3ca-59af3a465f82')
@test.requires_ext(extension='staticweb', service='object')
@test.attr('gate')
def test_web_error(self):
headers = {'web-listings': 'true',
'web-error': self.object_name}

View File

@ -36,7 +36,6 @@ class CrossdomainTest(base.BaseObjectTest):
# Turning http://.../v1/foobar into http://.../
self.account_client.skip_path()
@test.attr('gate')
@test.idempotent_id('d1b8b031-b622-4010-82f9-ff78a9e915c7')
@test.requires_ext(extension='crossdomain', service='object')
def test_get_crossdomain_policy(self):

View File

@ -25,7 +25,6 @@ class HealthcheckTest(base.BaseObjectTest):
# Turning http://.../v1/foobar into http://.../
self.account_client.skip_path()
@test.attr('gate')
@test.idempotent_id('db5723b1-f25c-49a9-bfeb-7b5640caf337')
def test_get_healthcheck(self):

View File

@ -69,7 +69,6 @@ class ObjectExpiryTest(base.BaseObjectTest):
self.assertRaises(lib_exc.NotFound, self.object_client.get_object,
self.container_name, self.object_name)
@test.attr(type='gate')
@test.idempotent_id('fb024a42-37f3-4ba5-9684-4f40a7910b41')
def test_get_object_after_expiry_time(self):
# the 10s is important, because the get calls can take 3s each
@ -77,7 +76,6 @@ class ObjectExpiryTest(base.BaseObjectTest):
metadata = {'X-Delete-After': '10'}
self._test_object_expiry(metadata)
@test.attr(type='gate')
@test.idempotent_id('e592f18d-679c-48fe-9e36-4be5f47102c5')
def test_get_object_at_expiry_time(self):
metadata = {'X-Delete-At': str(int(time.time()) + 10)}

View File

@ -107,7 +107,6 @@ class ObjectFormPostTest(base.BaseObjectTest):
@test.idempotent_id('80fac02b-6e54-4f7b-be0d-a965b5cbef76')
@test.requires_ext(extension='formpost', service='object')
@test.attr(type='gate')
def test_post_object_using_form(self):
body, content_type = self.get_multipart_form()

View File

@ -125,7 +125,6 @@ class ObjectFormPostNegativeTest(base.BaseObjectTest):
@test.idempotent_id('b277257f-113c-4499-b8d1-5fead79f7360')
@test.requires_ext(extension='formpost', service='object')
@test.attr(type='gate')
def test_post_object_using_form_invalid_signature(self):
self.key = "Wrong"
body, content_type = self.get_multipart_form()

View File

@ -89,7 +89,6 @@ class ObjectTest(base.BaseObjectTest):
for meta_key in not_in_meta:
self.assertNotIn('x-object-meta-' + meta_key, resp)
@test.attr(type='gate')
@test.idempotent_id('5b4ce26f-3545-46c9-a2ba-5754358a4c62')
def test_create_object(self):
# create object
@ -109,7 +108,6 @@ class ObjectTest(base.BaseObjectTest):
object_name)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('5daebb1d-f0d5-4dc9-b541-69672eff00b0')
def test_create_object_with_content_disposition(self):
# create object with content_disposition
@ -132,7 +130,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertEqual(resp['content-disposition'], 'inline')
self.assertEqual(body, data)
@test.attr(type='gate')
@test.idempotent_id('605f8317-f945-4bee-ae91-013f1da8f0a0')
def test_create_object_with_content_encoding(self):
# create object with content_encoding
@ -160,7 +157,6 @@ class ObjectTest(base.BaseObjectTest):
metadata=metadata)
self.assertEqual(body, data_before)
@test.attr(type='gate')
@test.idempotent_id('73820093-0503-40b1-a478-edf0e69c7d1f')
def test_create_object_with_etag(self):
# create object with etag
@ -180,7 +176,6 @@ class ObjectTest(base.BaseObjectTest):
object_name)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('84dafe57-9666-4f6d-84c8-0814d37923b8')
def test_create_object_with_expect_continue(self):
# create object with expect_continue
@ -207,7 +202,6 @@ class ObjectTest(base.BaseObjectTest):
object_name)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('4f84422a-e2f2-4403-b601-726a4220b54e')
def test_create_object_with_transfer_encoding(self):
# create object with transfer_encoding
@ -225,7 +219,6 @@ class ObjectTest(base.BaseObjectTest):
object_name)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('0f3d62a6-47e3-4554-b0e5-1a5dc372d501')
def test_create_object_with_x_fresh_metadata(self):
# create object with x_fresh_metadata
@ -252,7 +245,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertNotIn('x-object-meta-test-meta', resp)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('1c7ed3e4-2099-406b-b843-5301d4811baf')
def test_create_object_with_x_object_meta(self):
# create object with object_meta
@ -272,7 +264,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertEqual(resp['x-object-meta-test-meta'], 'Meta')
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('e4183917-33db-4153-85cc-4dacbb938865')
def test_create_object_with_x_object_metakey(self):
# create object with the blank value of metadata
@ -292,7 +283,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertEqual(resp['x-object-meta-test-meta'], '')
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('ce798afc-b278-45de-a5ce-2ea124b98b99')
def test_create_object_with_x_remove_object_meta(self):
# create object with x_remove_object_meta
@ -316,7 +306,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertNotIn('x-object-meta-test-meta', resp)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('ad21e342-7916-4f9e-ab62-a1f885f2aaf9')
def test_create_object_with_x_remove_object_metakey(self):
# create object with the blank value of remove metadata
@ -340,7 +329,6 @@ class ObjectTest(base.BaseObjectTest):
self.assertNotIn('x-object-meta-test-meta', resp)
self.assertEqual(data, body)
@test.attr(type='gate')
@test.idempotent_id('17738d45-03bd-4d45-9e0b-7b2f58f98687')
def test_delete_object(self):
# create object
@ -944,7 +932,6 @@ class ObjectTest(base.BaseObjectTest):
# check destination object
self._check_copied_obj(dst_obj_name, data, in_meta=["test", "src"])
@test.attr(type='gate')
@test.idempotent_id('e3e6a64a-9f50-4955-b987-6ce6767c97fb')
def test_object_upload_in_segments(self):
# create object
@ -987,7 +974,6 @@ class ObjectTest(base.BaseObjectTest):
self.container_name, object_name)
self.assertEqual(''.join(data_segments), body)
@test.attr(type='gate')
@test.idempotent_id('50d01f12-526f-4360-9ac2-75dd508d7b68')
def test_get_object_if_different(self):
# http://en.wikipedia.org/wiki/HTTP_ETag

View File

@ -109,7 +109,6 @@ class ObjectSloTest(base.BaseObjectTest):
resp['etag'] = resp['etag'].strip('"')
self.assertHeaders(resp, 'Object', method)
@test.attr(type='gate')
@test.idempotent_id('2c3f24a6-36e8-4711-9aa2-800ee1fc7b5b')
def test_upload_manifest(self):
# create static large object from multipart manifest
@ -124,7 +123,6 @@ class ObjectSloTest(base.BaseObjectTest):
self._assertHeadersSLO(resp, 'PUT')
@test.attr(type='gate')
@test.idempotent_id('e69ad766-e1aa-44a2-bdd2-bf62c09c1456')
def test_list_large_object_metadata(self):
# list static large object metadata using multipart manifest
@ -136,7 +134,6 @@ class ObjectSloTest(base.BaseObjectTest):
self._assertHeadersSLO(resp, 'HEAD')
@test.attr(type='gate')
@test.idempotent_id('49bc49bc-dd1b-4c0f-904e-d9f10b830ee8')
def test_retrieve_large_object(self):
# list static large object using multipart manifest
@ -151,7 +148,6 @@ class ObjectSloTest(base.BaseObjectTest):
sum_data = self.content + self.content
self.assertEqual(body, sum_data)
@test.attr(type='gate')
@test.idempotent_id('87b6dfa1-abe9-404d-8bf0-6c3751e6aa77')
def test_delete_large_object(self):
# delete static large object using multipart manifest

View File

@ -92,7 +92,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
return url
@test.attr(type='gate')
@test.idempotent_id('f91c96d4-1230-4bba-8eb9-84476d18d991')
@test.requires_ext(extension='tempurl', service='object')
def test_get_object_using_temp_url(self):
@ -112,7 +111,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
resp, body = self.object_client.head(url)
self.assertHeaders(resp, 'Object', 'HEAD')
@test.attr(type='gate')
@test.idempotent_id('671f9583-86bd-4128-a034-be282a68c5d8')
@test.requires_ext(extension='tempurl', service='object')
def test_get_object_using_temp_url_key_2(self):
@ -137,7 +135,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
resp, body = self.object_client.get(url)
self.assertEqual(body, self.content)
@test.attr(type='gate')
@test.idempotent_id('9b08dade-3571-4152-8a4f-a4f2a873a735')
@test.requires_ext(extension='tempurl', service='object')
def test_put_object_using_temp_url(self):
@ -166,7 +163,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
_, body = self.object_client.get(url)
self.assertEqual(body, new_data)
@test.attr(type='gate')
@test.idempotent_id('249a0111-5ad3-4534-86a7-1993d55f9185')
@test.requires_ext(extension='tempurl', service='object')
def test_head_object_using_temp_url(self):
@ -181,7 +177,6 @@ class ObjectTempUrlTest(base.BaseObjectTest):
resp, body = self.object_client.head(url)
self.assertHeaders(resp, 'Object', 'HEAD')
@test.attr(type='gate')
@test.idempotent_id('9d9cfd90-708b-465d-802c-e4a8090b823d')
@test.requires_ext(extension='tempurl', service='object')
def test_get_object_using_temp_url_with_inline_query_parameter(self):

View File

@ -25,7 +25,6 @@ LOG = logging.getLogger(__name__)
class StackEnvironmentTest(base.BaseOrchestrationTest):
@test.attr(type='gate')
@test.idempotent_id('37d4346b-1abd-4442-b7b1-2a4e5749a1e3')
def test_environment_parameter(self):
"""Test passing a stack parameter via the environment."""
@ -43,7 +42,6 @@ class StackEnvironmentTest(base.BaseOrchestrationTest):
random_value = self.get_stack_output(stack_identifier, 'random_value')
self.assertEqual(20, len(random_value))
@test.attr(type='gate')
@test.idempotent_id('73bce717-ad22-4853-bbef-6ed89b632701')
def test_environment_provider_resource(self):
"""Test passing resource_registry defining a provider resource."""
@ -73,7 +71,6 @@ outputs:
'random_length']['default']
self.assertEqual(expected_length, len(random_value))
@test.attr(type='gate')
@test.idempotent_id('9d682e5a-f4bb-47d5-8472-9d3cacb855df')
def test_files_provider_resource(self):
"""Test untyped defining of a provider resource via "files"."""

View File

@ -26,7 +26,6 @@ LOG = logging.getLogger(__name__)
class TestServerStackLimits(base.BaseOrchestrationTest):
@test.attr(type='gate')
@test.idempotent_id('ec9bed71-c460-45c9-ab98-295caa9fd76b')
def test_exceed_max_template_size_fails(self):
stack_name = data_utils.rand_name('heat')
@ -40,7 +39,6 @@ Outputs:
stack_name, template)
self.assertIn('Template exceeds maximum allowed size', str(ex))
@test.attr(type='gate')
@test.idempotent_id('d1b83e73-7cad-4a22-9839-036548c5387c')
def test_exceed_max_resources_per_stack(self):
stack_name = data_utils.rand_name('heat')

View File

@ -94,7 +94,6 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
for resource in resources:
cls.test_resources[resource['logical_resource_id']] = resource
@test.attr(type='gate')
@test.idempotent_id('f9e2664c-bc44-4eef-98b6-495e4f9d74b3')
def test_created_resources(self):
"""Verifies created neutron resources."""
@ -113,7 +112,6 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
self.assertEqual(resource_type, resource['resource_type'])
self.assertEqual('CREATE_COMPLETE', resource['resource_status'])
@test.attr(type='gate')
@test.idempotent_id('c572b915-edb1-4e90-b196-c7199a6848c0')
@test.services('network')
def test_created_network(self):
@ -126,7 +124,6 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
self.assertEqual(self.neutron_basic_template['resources'][
'Network']['properties']['name'], network['name'])
@test.attr(type='gate')
@test.idempotent_id('e8f84b96-f9d7-4684-ad5f-340203e9f2c2')
@test.services('network')
def test_created_subnet(self):
@ -145,7 +142,6 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
'Subnet']['properties']['ip_version'], subnet['ip_version'])
self.assertEqual(str(self.subnet_cidr), subnet['cidr'])
@test.attr(type='gate')
@test.idempotent_id('96af4c7f-5069-44bc-bdcf-c0390f8a67d1')
@test.services('network')
def test_created_router(self):
@ -159,7 +155,6 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
router['external_gateway_info']['network_id'])
self.assertEqual(True, router['admin_state_up'])
@test.attr(type='gate')
@test.idempotent_id('89f605bd-153e-43ee-a0ed-9919b63423c5')
@test.services('network')
def test_created_router_interface(self):
@ -183,7 +178,6 @@ class NeutronResourcesTestJSON(base.BaseOrchestrationTest):
self.assertEqual(str(self.subnet_cidr.iter_hosts().next()),
router_interface_ip)
@test.attr(type='gate')
@test.idempotent_id('75d85316-4ac2-4c0e-a1a9-edd2148fc10e')
@test.services('compute', 'network')
def test_created_server(self):

View File

@ -54,7 +54,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
self.assertEqual(expected_num, len(stacks))
return stacks
@test.attr(type='gate')
@test.idempotent_id('065c652a-720d-4760-9132-06aedeb8e3ab')
def test_stack_list(self):
"""Created stack should be in the list of existing stacks."""
@ -62,7 +61,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
stacks_names = map(lambda stack: stack['stack_name'], stacks)
self.assertIn(self.stack_name, stacks_names)
@test.attr(type='gate')
@test.idempotent_id('992f96e3-41ee-4ff6-91c7-bcfb670c0919')
def test_stack_show(self):
"""Getting details about created stack should be possible."""
@ -82,7 +80,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
self.assertEqual(self.stack_id, stack['id'])
self.assertEqual('fluffy', stack['outputs'][0]['output_key'])
@test.attr(type='gate')
@test.idempotent_id('fe719f7a-305a-44d8-bbb5-c91e93d9da17')
def test_suspend_resume_stack(self):
"""Suspend and resume a stack."""
@ -93,7 +90,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
self.client.wait_for_stack_status(self.stack_identifier,
'RESUME_COMPLETE')
@test.attr(type='gate')
@test.idempotent_id('c951d55e-7cce-4c1f-83a0-bad735437fa6')
def test_list_resources(self):
"""Getting list of created resources for the stack should be possible.
@ -101,7 +97,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
resources = self.list_resources(self.stack_identifier)
self.assertEqual({self.resource_name: self.resource_type}, resources)
@test.attr(type='gate')
@test.idempotent_id('2aba03b3-392f-4237-900b-1f5a5e9bd962')
def test_show_resource(self):
"""Getting details about created resource should be possible."""
@ -116,7 +111,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
self.assertEqual(self.resource_name, resource['logical_resource_id'])
self.assertEqual(self.resource_type, resource['resource_type'])
@test.attr(type='gate')
@test.idempotent_id('898070a9-eba5-4fae-b7d6-cf3ffa03090f')
def test_resource_metadata(self):
"""Getting metadata for created resources should be possible."""
@ -126,7 +120,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
self.assertIsInstance(metadata, dict)
self.assertEqual(['Tom', 'Stinky'], metadata.get('kittens', None))
@test.attr(type='gate')
@test.idempotent_id('46567533-0a7f-483b-8942-fa19e0f17839')
def test_list_events(self):
"""Getting list of created events for the stack should be possible."""
@ -142,7 +135,6 @@ class StacksTestJSON(base.BaseOrchestrationTest):
self.assertIn('CREATE_IN_PROGRESS', resource_statuses)
self.assertIn('CREATE_COMPLETE', resource_statuses)
@test.attr(type='gate')
@test.idempotent_id('92465723-1673-400a-909d-4773757a3f21')
def test_show_event(self):
"""Getting details about an event should be possible."""

View File

@ -49,7 +49,6 @@ class NovaKeyPairResourcesYAMLTest(base.BaseOrchestrationTest):
for resource in resources:
cls.test_resources[resource['logical_resource_id']] = resource
@test.attr(type='gate')
@test.idempotent_id('b476eac2-a302-4815-961f-18c410a2a537')
def test_created_resources(self):
"""Verifies created keypair resource."""
@ -70,7 +69,6 @@ class NovaKeyPairResourcesYAMLTest(base.BaseOrchestrationTest):
self.assertEqual(resource_type, resource['resource_type'])
self.assertEqual('CREATE_COMPLETE', resource['resource_status'])
@test.attr(type='gate')
@test.idempotent_id('8d77dec7-91fd-45a6-943d-5abd45e338a4')
def test_stack_keypairs_output(self):
stack = self.client.show_stack(self.stack_name)

View File

@ -36,13 +36,11 @@ Resources:
cls.stack_id = cls.stack_identifier.split('/')[1]
cls.parameters = {}
@test.attr(type='gate')
@test.idempotent_id('47430699-c368-495e-a1db-64c26fd967d7')
def test_show_template(self):
"""Getting template used to create the stack."""
self.client.show_template(self.stack_identifier)
@test.attr(type='gate')
@test.idempotent_id('ed53debe-8727-46c5-ab58-eba6090ec4de')
def test_validate_template(self):
"""Validating template passing it content."""

View File

@ -54,7 +54,6 @@ class CinderResourcesTest(base.BaseOrchestrationTest):
self.assertEqual(template['resources']['volume']['properties'][
'name'], self.get_stack_output(stack_identifier, 'display_name'))
@test.attr(type='gate')
@test.idempotent_id('c3243329-7bdd-4730-b402-4d19d50c41d8')
@test.services('volume')
def test_cinder_volume_create_delete(self):
@ -84,7 +83,6 @@ class CinderResourcesTest(base.BaseOrchestrationTest):
self.volumes_client.delete_volume(volume_id)
self.volumes_client.wait_for_resource_deletion(volume_id)
@test.attr(type='gate')
@test.idempotent_id('ea8b3a46-b932-4c18-907a-fe23f00b33f8')
@test.services('volume')
def test_cinder_volume_create_delete_retain(self):

View File

@ -29,7 +29,6 @@ class TelemetryAlarmingAPITestJSON(base.BaseTelemetryTest):
for i in range(2):
cls.create_alarm(threshold_rule=cls.rule)
@test.attr(type="gate")
@test.idempotent_id('1c918e06-210b-41eb-bd45-14676dd77cd6')
def test_alarm_list(self):
# List alarms
@ -43,7 +42,6 @@ class TelemetryAlarmingAPITestJSON(base.BaseTelemetryTest):
" in a fetched list: %s" %
', '.join(str(a) for a in missing_alarms))
@test.attr(type="gate")
@test.idempotent_id('1297b095-39c1-4e74-8a1f-4ae998cedd67')
def test_create_update_get_delete_alarm(self):
# Create an alarm
@ -75,7 +73,6 @@ class TelemetryAlarmingAPITestJSON(base.BaseTelemetryTest):
self.assertRaises(lib_exc.NotFound,
self.telemetry_client.show_alarm, alarm_id)
@test.attr(type="gate")
@test.idempotent_id('aca49486-70bb-4016-87e0-f6131374f741')
def test_set_get_alarm_state(self):
alarm_states = ['ok', 'alarm', 'insufficient data']
@ -90,7 +87,6 @@ class TelemetryAlarmingAPITestJSON(base.BaseTelemetryTest):
state = self.telemetry_client.show_alarm_state(alarm['alarm_id'])
self.assertEqual(new_state, state.data)
@test.attr(type="gate")
@test.idempotent_id('08d7e45a-1344-4e5c-ba6f-f6cbb77f55b9')
def test_create_delete_alarm_with_combination_rule(self):
rule = {"alarm_ids": self.alarm_ids,

View File

@ -29,7 +29,6 @@ class TelemetryNotificationAPITestJSON(base.BaseTelemetryTest):
raise cls.skipException("Ceilometer feature for fast work mysql "
"is disabled")
@test.attr(type="gate")
@test.idempotent_id('d7f8c1c8-d470-4731-8604-315d3956caad')
@testtools.skipIf(not CONF.service_available.nova,
"Nova is not available.")

View File

@ -114,7 +114,6 @@ class VolumeMultiBackendV2Test(base.BaseVolumeAdminTest):
volume_id = self.volume_id_list_with_prefix[0]
self._test_backend_name_reporting_by_volume_id(volume_id)
@test.attr(type='gate')
@test.idempotent_id('46435ab1-a0af-4401-8373-f14e66b0dd58')
def test_backend_name_distinction(self):
if self.backend1_name == self.backend2_name:
@ -124,7 +123,6 @@ class VolumeMultiBackendV2Test(base.BaseVolumeAdminTest):
volume2_id = self.volume_id_list_without_prefix[1]
self._test_backend_name_distinction(volume1_id, volume2_id)
@test.attr(type='gate')
@test.idempotent_id('4236305b-b65a-4bfc-a9d2-69cb5b2bf2ed')
def test_backend_name_distinction_with_prefix(self):
if self.backend1_name == self.backend2_name:

View File

@ -81,7 +81,6 @@ class SnapshotsActionsV2Test(base.BaseVolumeAdminTest):
def _get_progress_alias(self):
return 'os-extended-snapshot-attributes:progress'
@test.attr(type='gate')
@test.idempotent_id('3e13ca2f-48ea-49f3-ae1a-488e9180d535')
def test_reset_snapshot_status(self):
# Reset snapshot status to creating
@ -92,7 +91,6 @@ class SnapshotsActionsV2Test(base.BaseVolumeAdminTest):
= self.admin_snapshots_client.show_snapshot(self.snapshot['id'])
self.assertEqual(status, snapshot_get['status'])
@test.attr(type='gate')
@test.idempotent_id('41288afd-d463-485e-8f6e-4eea159413eb')
def test_update_snapshot_status(self):
# Reset snapshot status to creating
@ -111,25 +109,21 @@ class SnapshotsActionsV2Test(base.BaseVolumeAdminTest):
self.assertEqual(status, snapshot_get['status'])
self.assertEqual(progress, snapshot_get[progress_alias])
@test.attr(type='gate')
@test.idempotent_id('05f711b6-e629-4895-8103-7ca069f2073a')
def test_snapshot_force_delete_when_snapshot_is_creating(self):
# test force delete when status of snapshot is creating
self._create_reset_and_force_delete_temp_snapshot('creating')
@test.attr(type='gate')
@test.idempotent_id('92ce8597-b992-43a1-8868-6316b22a969e')
def test_snapshot_force_delete_when_snapshot_is_deleting(self):
# test force delete when status of snapshot is deleting
self._create_reset_and_force_delete_temp_snapshot('deleting')
@test.attr(type='gate')
@test.idempotent_id('645a4a67-a1eb-4e8e-a547-600abac1525d')
def test_snapshot_force_delete_when_snapshot_is_error(self):
# test force delete when status of snapshot is error
self._create_reset_and_force_delete_temp_snapshot('error')
@test.attr(type='gate')
@test.idempotent_id('bf89080f-8129-465e-9327-b2f922666ba5')
def test_snapshot_force_delete_when_snapshot_is_error_deleting(self):
# test force delete when status of snapshot is error_deleting

View File

@ -19,7 +19,6 @@ from tempest import test
class VolumeHostsAdminV2TestsJSON(base.BaseVolumeAdminTest):
@test.attr(type='gate')
@test.idempotent_id('d5f3efa2-6684-4190-9ced-1c2f526352ad')
def test_list_hosts(self):
hosts = self.hosts_client.list_hosts()

View File

@ -29,14 +29,12 @@ class BaseVolumeQuotasAdminV2TestJSON(base.BaseVolumeAdminTest):
super(BaseVolumeQuotasAdminV2TestJSON, cls).setup_credentials()
cls.demo_tenant_id = cls.isolated_creds.get_primary_creds().tenant_id
@test.attr(type='gate')
@test.idempotent_id('59eada70-403c-4cef-a2a3-a8ce2f1b07a0')
def test_list_quotas(self):
quotas = self.quotas_client.show_quota_set(self.demo_tenant_id)
for key in QUOTA_KEYS:
self.assertIn(key, quotas)
@test.attr(type='gate')
@test.idempotent_id('2be020a2-5fdd-423d-8d35-a7ffbc36e9f7')
def test_list_default_quotas(self):
quotas = self.quotas_client.show_default_quota_set(
@ -44,7 +42,6 @@ class BaseVolumeQuotasAdminV2TestJSON(base.BaseVolumeAdminTest):
for key in QUOTA_KEYS:
self.assertIn(key, quotas)
@test.attr(type='gate')
@test.idempotent_id('3d45c99e-cc42-4424-a56e-5cbd212b63a6')
def test_update_all_quota_resources_for_tenant(self):
# Admin can update all the resource quota limits for a tenant
@ -69,7 +66,6 @@ class BaseVolumeQuotasAdminV2TestJSON(base.BaseVolumeAdminTest):
# would be no other values in there.
self.assertDictContainsSubset(new_quota_set, quota_set)
@test.attr(type='gate')
@test.idempotent_id('18c51ae9-cb03-48fc-b234-14a19374dbed')
def test_show_quota_usage(self):
quota_usage = self.quotas_client.show_quota_usage(
@ -79,7 +75,6 @@ class BaseVolumeQuotasAdminV2TestJSON(base.BaseVolumeAdminTest):
for usage_key in QUOTA_USAGE_KEYS:
self.assertIn(usage_key, quota_usage[key])
@test.attr(type='gate')
@test.idempotent_id('ae8b6091-48ad-4bfa-a188-bbf5cc02115f')
def test_quota_usage(self):
quota_usage = self.quotas_client.show_quota_usage(
@ -99,7 +94,6 @@ class BaseVolumeQuotasAdminV2TestJSON(base.BaseVolumeAdminTest):
volume["size"],
new_quota_usage['gigabytes']['in_use'])
@test.attr(type='gate')
@test.idempotent_id('874b35a9-51f1-4258-bec5-cd561b6690d3')
def test_delete_quota(self):
# Admin can delete the resource quota set for a tenant

View File

@ -30,13 +30,11 @@ class VolumesServicesV2TestJSON(base.BaseVolumeAdminTest):
cls.host_name = cls.services[0]['host']
cls.binary_name = cls.services[0]['binary']
@test.attr(type='gate')
@test.idempotent_id('e0218299-0a59-4f43-8b2b-f1c035b3d26d')
def test_list_services(self):
services = self.admin_volume_services_client.list_services()
self.assertNotEqual(0, len(services))
@test.attr(type='gate')
@test.idempotent_id('63a3e1ca-37ee-4983-826d-83276a370d25')
def test_get_service_by_service_binary_name(self):
params = {'binary': self.binary_name}
@ -45,7 +43,6 @@ class VolumesServicesV2TestJSON(base.BaseVolumeAdminTest):
for service in services:
self.assertEqual(self.binary_name, service['binary'])
@test.attr(type='gate')
@test.idempotent_id('178710e4-7596-4e08-9333-745cb8bc4f8d')
def test_get_service_by_host_name(self):
services_on_host = [service for service in self.services if
@ -62,7 +59,6 @@ class VolumesServicesV2TestJSON(base.BaseVolumeAdminTest):
# on order.
self.assertEqual(sorted(s1), sorted(s2))
@test.attr(type='gate')
@test.idempotent_id('ffa6167c-4497-4944-a464-226bbdb53908')
def test_get_service_by_service_and_host_name(self):
params = {'host': self.host_name, 'binary': self.binary_name}

View File

@ -47,7 +47,6 @@ class VolumeTypesExtraSpecsV2Test(base.BaseVolumeAdminTest):
self.assertIsInstance(body, dict)
self.assertIn('spec1', body)
@test.attr(type='gate')
@test.idempotent_id('0806db36-b4a0-47a1-b6f3-c2e7f194d017')
def test_volume_type_extra_specs_update(self):
# Update volume type extra specs

View File

@ -38,7 +38,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
cls.volume_types_client.delete_volume_type(cls.volume_type['id'])
super(ExtraSpecsNegativeV2Test, cls).resource_cleanup()
@test.attr(type='gate')
@test.idempotent_id('08961d20-5cbb-4910-ac0f-89ad6dbb2da1')
def test_update_no_body(self):
# Should not update volume type extra specs with no body
@ -48,7 +47,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.update_volume_type_extra_specs,
self.volume_type['id'], extra_spec.keys()[0], None)
@test.attr(type='gate')
@test.idempotent_id('25e5a0ee-89b3-4c53-8310-236f76c75365')
def test_update_nonexistent_extra_spec_id(self):
# Should not update volume type extra specs with nonexistent id.
@ -59,7 +57,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_type['id'], str(uuid.uuid4()),
extra_spec)
@test.attr(type='gate')
@test.idempotent_id('9bf7a657-b011-4aec-866d-81c496fbe5c8')
def test_update_none_extra_spec_id(self):
# Should not update volume type extra specs with none id.
@ -69,7 +66,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.update_volume_type_extra_specs,
self.volume_type['id'], None, extra_spec)
@test.attr(type='gate')
@test.idempotent_id('a77dfda2-9100-448e-9076-ed1711f4bdfc')
def test_update_multiple_extra_spec(self):
# Should not update volume type extra specs with multiple specs as
@ -81,7 +77,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_type['id'], extra_spec.keys()[0],
extra_spec)
@test.attr(type='gate')
@test.idempotent_id('49d5472c-a53d-4eab-a4d3-450c4db1c545')
def test_create_nonexistent_type_id(self):
# Should not create volume type extra spec for nonexistent volume
@ -92,7 +87,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.create_volume_type_extra_specs,
str(uuid.uuid4()), extra_specs)
@test.attr(type='gate')
@test.idempotent_id('c821bdc8-43a4-4bf4-86c8-82f3858d5f7d')
def test_create_none_body(self):
# Should not create volume type extra spec for none POST body.
@ -101,7 +95,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.create_volume_type_extra_specs,
self.volume_type['id'], None)
@test.attr(type='gate')
@test.idempotent_id('bc772c71-1ed4-4716-b945-8b5ed0f15e87')
def test_create_invalid_body(self):
# Should not create volume type extra spec for invalid POST body.
@ -110,7 +103,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.create_volume_type_extra_specs,
self.volume_type['id'], ['invalid'])
@test.attr(type='gate')
@test.idempotent_id('031cda8b-7d23-4246-8bf6-bbe73fd67074')
def test_delete_nonexistent_volume_type_id(self):
# Should not delete volume type extra spec for nonexistent
@ -121,7 +113,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.delete_volume_type_extra_specs,
str(uuid.uuid4()), extra_specs.keys()[0])
@test.attr(type='gate')
@test.idempotent_id('dee5cf0c-cdd6-4353-b70c-e847050d71fb')
def test_list_nonexistent_volume_type_id(self):
# Should not list volume type extra spec for nonexistent type id.
@ -130,7 +121,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.list_volume_types_extra_specs,
str(uuid.uuid4()))
@test.attr(type='gate')
@test.idempotent_id('9f402cbd-1838-4eb4-9554-126a6b1908c9')
def test_get_nonexistent_volume_type_id(self):
# Should not get volume type extra spec for nonexistent type id.
@ -140,7 +130,6 @@ class ExtraSpecsNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.show_volume_type_extra_specs,
str(uuid.uuid4()), extra_specs.keys()[0])
@test.attr(type='gate')
@test.idempotent_id('c881797d-12ff-4f1a-b09d-9f6212159753')
def test_get_nonexistent_extra_spec_id(self):
# Should not get volume type extra spec for nonexistent extra spec

View File

@ -23,7 +23,6 @@ from tempest import test
class VolumeTypesNegativeV2Test(base.BaseVolumeAdminTest):
@test.attr(type='gate')
@test.idempotent_id('b48c98f2-e662-4885-9b71-032256906314')
def test_create_with_nonexistent_volume_type(self):
# Should not be able to create volume with nonexistent volume_type.
@ -33,14 +32,12 @@ class VolumeTypesNegativeV2Test(base.BaseVolumeAdminTest):
self.assertRaises(lib_exc.NotFound,
self.volumes_client.create_volume, **params)
@test.attr(type='gate')
@test.idempotent_id('878b4e57-faa2-4659-b0d1-ce740a06ae81')
def test_create_with_empty_name(self):
# Should not be able to create volume type with an empty name.
self.assertRaises(lib_exc.BadRequest,
self.volume_types_client.create_volume_type, '')
@test.attr(type='gate')
@test.idempotent_id('994610d6-0476-4018-a644-a2602ef5d4aa')
def test_get_nonexistent_type_id(self):
# Should not be able to get volume type with nonexistent type id.
@ -48,7 +45,6 @@ class VolumeTypesNegativeV2Test(base.BaseVolumeAdminTest):
self.volume_types_client.show_volume_type,
str(uuid.uuid4()))
@test.attr(type='gate')
@test.idempotent_id('6b3926d2-7d73-4896-bc3d-e42dfd11a9f6')
def test_delete_nonexistent_type_id(self):
# Should not be able to delete volume type with nonexistent type id.

View File

@ -74,7 +74,6 @@ class VolumesActionsV2Test(base.BaseVolumeAdminTest):
self.admin_volume_client.force_delete_volume(temp_volume['id'])
self.client.wait_for_resource_deletion(temp_volume['id'])
@test.attr(type='gate')
@test.idempotent_id('d063f96e-a2e0-4f34-8b8a-395c42de1845')
def test_volume_reset_status(self):
# test volume reset status : available->error->available
@ -93,7 +92,6 @@ class VolumesActionsV2Test(base.BaseVolumeAdminTest):
# test force delete when status of volume is attaching
self._create_reset_and_force_delete_temp_volume('attaching')
@test.attr(type='gate')
@test.idempotent_id('3e33a8a8-afd4-4d64-a86b-c27a185c5a4a')
def test_volume_force_delete_when_volume_is_error(self):
# test force delete when status of volume is error

View File

@ -28,7 +28,6 @@ class AvailabilityZoneV2TestJSON(base.BaseVolumeTest):
super(AvailabilityZoneV2TestJSON, cls).setup_clients()
cls.client = cls.availability_zone_client
@test.attr(type='gate')
@test.idempotent_id('01f1ae88-eba9-4c6b-a011-6f7ace06b725')
def test_get_availability_zone_list(self):
# List of availability zone

View File

@ -27,7 +27,6 @@ LOG = logging.getLogger(__name__)
class ExtensionsV2TestJSON(base.BaseVolumeTest):
@test.attr(type='gate')
@test.idempotent_id('94607eb0-43a5-47ca-82aa-736b41bd2e2c')
def test_list_extensions(self):
# List of all extensions

Some files were not shown because too many files have changed in this diff Show More