summaryrefslogtreecommitdiff
path: root/tempest/api/compute
diff options
context:
space:
mode:
Diffstat (limited to 'tempest/api/compute')
-rw-r--r--tempest/api/compute/admin/test_aggregates_negative.py28
-rw-r--r--tempest/api/compute/admin/test_availability_zone_negative.py2
-rw-r--r--tempest/api/compute/admin/test_fixed_ips_negative.py10
-rw-r--r--tempest/api/compute/admin/test_flavors_access_negative.py10
-rw-r--r--tempest/api/compute/admin/test_flavors_extra_specs_negative.py14
-rw-r--r--tempest/api/compute/admin/test_hosts_negative.py30
-rw-r--r--tempest/api/compute/admin/test_hypervisor_negative.py22
-rw-r--r--tempest/api/compute/admin/test_instance_usage_audit_log_negative.py4
-rw-r--r--tempest/api/compute/admin/test_quotas_negative.py10
-rw-r--r--tempest/api/compute/admin/test_servers_negative.py16
-rw-r--r--tempest/api/compute/admin/test_services_negative.py8
-rw-r--r--tempest/api/compute/admin/test_simple_tenant_usage_negative.py6
-rw-r--r--tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py10
-rw-r--r--tempest/api/compute/floating_ips/test_list_floating_ips_negative.py2
-rw-r--r--tempest/api/compute/images/test_image_metadata_negative.py12
-rw-r--r--tempest/api/compute/images/test_images_negative.py22
-rw-r--r--tempest/api/compute/images/test_images_oneserver_negative.py10
-rw-r--r--tempest/api/compute/images/test_list_image_filters_negative.py2
-rw-r--r--tempest/api/compute/keypairs/test_keypairs_negative.py16
-rw-r--r--tempest/api/compute/limits/test_absolute_limits_negative.py2
-rw-r--r--tempest/api/compute/servers/test_instance_actions_negative.py4
-rw-r--r--tempest/api/compute/servers/test_list_servers_negative.py22
-rw-r--r--tempest/api/compute/servers/test_multiple_create_negative.py10
-rw-r--r--tempest/api/compute/servers/test_server_addresses_negative.py4
-rw-r--r--tempest/api/compute/servers/test_server_metadata_negative.py24
-rw-r--r--tempest/api/compute/servers/test_server_rescue_negative.py12
-rw-r--r--tempest/api/compute/servers/test_servers_negative.py88
-rw-r--r--tempest/api/compute/servers/test_virtual_interfaces_negative.py2
-rw-r--r--tempest/api/compute/test_live_block_migration_negative.py2
-rw-r--r--tempest/api/compute/volumes/test_volumes_negative.py18
30 files changed, 211 insertions, 211 deletions
diff --git a/tempest/api/compute/admin/test_aggregates_negative.py b/tempest/api/compute/admin/test_aggregates_negative.py
index 882986c48..6942fdb0c 100644
--- a/tempest/api/compute/admin/test_aggregates_negative.py
+++ b/tempest/api/compute/admin/test_aggregates_negative.py
@@ -44,7 +44,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
filter(lambda y: y['service'] == 'compute', hosts_all))
cls.host = hosts[0]
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('86a1cb14-da37-4a70-b056-903fd56dfe29')
def test_aggregate_create_as_user(self):
# Regular user is not allowed to create an aggregate.
@@ -53,7 +53,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.user_client.create_aggregate,
name=aggregate_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('3b8a1929-3793-4e92-bcb4-dfa572ee6c1d')
def test_aggregate_create_aggregate_name_length_less_than_1(self):
# the length of aggregate name should >= 1 and <=255
@@ -61,7 +61,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.create_aggregate,
name='')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('4c194563-543b-4e70-a719-557bbe947fac')
def test_aggregate_create_aggregate_name_length_exceeds_255(self):
# the length of aggregate name should >= 1 and <=255
@@ -70,7 +70,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.create_aggregate,
name=aggregate_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9c23a291-b0b1-487b-b464-132e061151b3')
def test_aggregate_create_with_existent_aggregate_name(self):
# creating an aggregate with existent aggregate name is forbidden
@@ -82,7 +82,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.create_aggregate,
name=aggregate_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('cd6de795-c15d-45f1-8d9e-813c6bb72a3d')
def test_aggregate_delete_as_user(self):
# Regular user is not allowed to delete an aggregate.
@@ -94,14 +94,14 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.user_client.delete_aggregate,
aggregate['id'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('b7d475a6-5dcd-4ff4-b70a-cd9de66a6672')
def test_aggregate_list_as_user(self):
# Regular user is not allowed to list aggregates.
self.assertRaises(lib_exc.Forbidden,
self.user_client.list_aggregates)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('557cad12-34c9-4ff4-95f0-22f0dfbaf7dc')
def test_aggregate_get_details_as_user(self):
# Regular user is not allowed to get aggregate details.
@@ -113,21 +113,21 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.user_client.show_aggregate,
aggregate['id'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('c74f4bf1-4708-4ff2-95a0-f49eaca951bd')
def test_aggregate_delete_with_invalid_id(self):
# Delete an aggregate with invalid id should raise exceptions.
self.assertRaises(lib_exc.NotFound,
self.client.delete_aggregate, -1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('3c916244-2c46-49a4-9b55-b20bb0ae512c')
def test_aggregate_get_details_with_invalid_id(self):
# Get aggregate details with invalid id should raise exceptions.
self.assertRaises(lib_exc.NotFound,
self.client.show_aggregate, -1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0ef07828-12b4-45ba-87cc-41425faf5711')
def test_aggregate_add_non_exist_host(self):
# Adding a non-exist host to an aggregate should raise exceptions.
@@ -145,7 +145,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.assertRaises(lib_exc.NotFound, self.client.add_host,
aggregate['id'], non_exist_host)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7324c334-bd13-4c93-8521-5877322c3d51')
def test_aggregate_add_host_as_user(self):
# Regular user is not allowed to add a host to an aggregate.
@@ -157,7 +157,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.user_client.add_host,
aggregate['id'], self.host)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('19dd44e1-c435-4ee1-a402-88c4f90b5950')
def test_aggregate_add_existent_host(self):
self.useFixture(fixtures.LockFixture('availability_zone'))
@@ -171,7 +171,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.assertRaises(lib_exc.Conflict, self.client.add_host,
aggregate['id'], self.host)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7a53af20-137a-4e44-a4ae-e19260e626d9')
def test_aggregate_remove_host_as_user(self):
# Regular user is not allowed to remove a host from an aggregate.
@@ -186,7 +186,7 @@ class AggregatesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.user_client.remove_host,
aggregate['id'], self.host)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('95d6a6fa-8da9-4426-84d0-eec0329f2e4d')
def test_aggregate_remove_nonexistent_host(self):
non_exist_host = data_utils.rand_name('nonexist_host')
diff --git a/tempest/api/compute/admin/test_availability_zone_negative.py b/tempest/api/compute/admin/test_availability_zone_negative.py
index e9de6283e..be1c2898f 100644
--- a/tempest/api/compute/admin/test_availability_zone_negative.py
+++ b/tempest/api/compute/admin/test_availability_zone_negative.py
@@ -29,7 +29,7 @@ class AZAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
super(AZAdminNegativeTestJSON, cls).setup_clients()
cls.non_adm_client = cls.availability_zone_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('bf34dca2-fdc3-4073-9c02-7648d9eae0d7')
def test_get_availability_zone_list_detail_with_non_admin_user(self):
# List of availability zones and available services with
diff --git a/tempest/api/compute/admin/test_fixed_ips_negative.py b/tempest/api/compute/admin/test_fixed_ips_negative.py
index 052ed71ff..ac8a60d5e 100644
--- a/tempest/api/compute/admin/test_fixed_ips_negative.py
+++ b/tempest/api/compute/admin/test_fixed_ips_negative.py
@@ -49,14 +49,14 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest):
if cls.ip:
break
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9f17f47d-daad-4adc-986e-12370c93e407')
@test.services('network')
def test_list_fixed_ip_details_with_non_admin_user(self):
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.get_fixed_ip_details, self.ip)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('ce60042c-fa60-4836-8d43-1c8e3359dc47')
@test.services('network')
def test_set_reserve_with_non_admin_user(self):
@@ -65,7 +65,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest):
self.non_admin_client.reserve_fixed_ip,
self.ip, body)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f1f7a35b-0390-48c5-9803-5f27461439db')
@test.services('network')
def test_set_unreserve_with_non_admin_user(self):
@@ -74,7 +74,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest):
self.non_admin_client.reserve_fixed_ip,
self.ip, body)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f51cf464-7fc5-4352-bc3e-e75cfa2cb717')
@test.services('network')
def test_set_reserve_with_invalid_ip(self):
@@ -88,7 +88,7 @@ class FixedIPsNegativeTestJson(base.BaseV2ComputeAdminTest):
self.client.reserve_fixed_ip,
"my.invalid.ip", body)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fd26ef50-f135-4232-9d32-281aab3f9176')
@test.services('network')
def test_fixed_ip_with_invalid_action(self):
diff --git a/tempest/api/compute/admin/test_flavors_access_negative.py b/tempest/api/compute/admin/test_flavors_access_negative.py
index 97930c1c9..be5e6cca3 100644
--- a/tempest/api/compute/admin/test_flavors_access_negative.py
+++ b/tempest/api/compute/admin/test_flavors_access_negative.py
@@ -51,7 +51,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
cls.vcpus = 1
cls.disk = 10
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0621c53e-d45d-40e7-951d-43e5e257b272')
def test_flavor_access_list_with_public_flavor(self):
# Test to list flavor access with exceptions by querying public flavor
@@ -67,7 +67,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.list_flavor_access,
new_flavor_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('41eaaade-6d37-4f28-9c74-f21b46ca67bd')
def test_flavor_non_admin_add(self):
# Test to add flavor access as a user without admin privileges.
@@ -84,7 +84,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
new_flavor['id'],
self.tenant_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('073e79a6-c311-4525-82dc-6083d919cb3a')
def test_flavor_non_admin_remove(self):
# Test to remove flavor access as a user without admin privileges.
@@ -105,7 +105,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
new_flavor['id'],
self.tenant_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f3592cc0-0306-483c-b210-9a7b5346eddc')
def test_add_flavor_access_duplicate(self):
# Create a new flavor.
@@ -130,7 +130,7 @@ class FlavorsAccessNegativeTestJSON(base.BaseV2ComputeAdminTest):
new_flavor['id'],
self.tenant_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('1f710927-3bc7-4381-9f82-0ca6e42644b7')
def test_remove_flavor_access_not_found(self):
# Create a new flavor.
diff --git a/tempest/api/compute/admin/test_flavors_extra_specs_negative.py b/tempest/api/compute/admin/test_flavors_extra_specs_negative.py
index 2236a8a2c..df592dd8a 100644
--- a/tempest/api/compute/admin/test_flavors_extra_specs_negative.py
+++ b/tempest/api/compute/admin/test_flavors_extra_specs_negative.py
@@ -66,7 +66,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
cls.client.wait_for_resource_deletion(cls.flavor['id'])
super(FlavorsExtraSpecsNegativeTestJSON, cls).resource_cleanup()
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a00a3b81-5641-45a8-ab2b-4a8ec41e1d7d')
def test_flavor_non_admin_set_keys(self):
# Test to SET flavor extra spec as a user without admin privileges.
@@ -76,7 +76,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.flavor['id'],
specs)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('1ebf4ef8-759e-48fe-a801-d451d80476fb')
def test_flavor_non_admin_update_specific_key(self):
# non admin user is not allowed to update flavor extra spec
@@ -91,7 +91,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
'key1',
key1='value1_new')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('28f12249-27c7-44c1-8810-1f382f316b11')
def test_flavor_non_admin_unset_keys(self):
specs = {"key1": "value1", "key2": "value2"}
@@ -102,7 +102,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.flavor['id'],
'key1')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('440b9f3f-3c7f-4293-a106-0ceda350f8de')
def test_flavor_unset_nonexistent_key(self):
nonexistent_key = data_utils.rand_name('flavor_key')
@@ -111,7 +111,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.flavor['id'],
nonexistent_key)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('329a7be3-54b2-48be-8052-bf2ce4afd898')
def test_flavor_get_nonexistent_key(self):
self.assertRaises(lib_exc.NotFound,
@@ -119,7 +119,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.flavor['id'],
"nonexistent_key")
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('25b822b8-9f49-44f6-80de-d99f0482e5cb')
def test_flavor_update_mismatch_key(self):
# the key will be updated should be match the key in the body
@@ -129,7 +129,7 @@ class FlavorsExtraSpecsNegativeTestJSON(base.BaseV2ComputeAdminTest):
"key2",
key1="value")
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f5889590-bf66-41cc-b4b1-6e6370cfd93f')
def test_flavor_update_more_key(self):
# there should be just one item in the request body
diff --git a/tempest/api/compute/admin/test_hosts_negative.py b/tempest/api/compute/admin/test_hosts_negative.py
index 95be59efc..042d1fb83 100644
--- a/tempest/api/compute/admin/test_hosts_negative.py
+++ b/tempest/api/compute/admin/test_hosts_negative.py
@@ -37,20 +37,20 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
hostname = hosts[0]['host_name']
return hostname
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('dd032027-0210-4d9c-860e-69b1b8deed5f')
def test_list_hosts_with_non_admin_user(self):
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.list_hosts)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e75b0a1a-041f-47a1-8b4a-b72a6ff36d3f')
def test_show_host_detail_with_nonexistent_hostname(self):
nonexitent_hostname = data_utils.rand_name('rand_hostname')
self.assertRaises(lib_exc.NotFound,
self.client.show_host_detail, nonexitent_hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('19ebe09c-bfd4-4b7c-81a2-e2e0710f59cc')
def test_show_host_detail_with_non_admin_user(self):
hostname = self._get_host_name()
@@ -59,7 +59,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_admin_client.show_host_detail,
hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e40c72b1-0239-4ed6-ba21-81a184df1f7c')
def test_update_host_with_non_admin_user(self):
hostname = self._get_host_name()
@@ -70,7 +70,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
status='enable',
maintenance_mode='enable')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('76e396fe-5418-4dd3-a186-5b301edc0721')
def test_update_host_with_extra_param(self):
# only 'status' and 'maintenance_mode' are the valid params.
@@ -83,7 +83,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
maintenance_mode='enable',
param='XXX')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fbe2bf3e-3246-4a95-a59f-94e4e298ec77')
def test_update_host_with_invalid_status(self):
# 'status' can only be 'enable' or 'disable'
@@ -95,7 +95,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
status='invalid',
maintenance_mode='enable')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('ab1e230e-5e22-41a9-8699-82b9947915d4')
def test_update_host_with_invalid_maintenance_mode(self):
# 'maintenance_mode' can only be 'enable' or 'disable'
@@ -107,7 +107,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
status='enable',
maintenance_mode='invalid')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0cd85f75-6992-4a4a-b1bd-d11e37fd0eee')
def test_update_host_without_param(self):
# 'status' or 'maintenance_mode' needed for host update
@@ -117,7 +117,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.update_host,
hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('23c92146-2100-4d68-b2d6-c7ade970c9c1')
def test_update_nonexistent_host(self):
nonexitent_hostname = data_utils.rand_name('rand_hostname')
@@ -128,7 +128,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
status='enable',
maintenance_mode='enable')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0d981ac3-4320-4898-b674-82b61fbb60e4')
def test_startup_nonexistent_host(self):
nonexitent_hostname = data_utils.rand_name('rand_hostname')
@@ -137,7 +137,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.startup_host,
nonexitent_hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9f4ebb7e-b2ae-4e5b-a38f-0fd1bb0ddfca')
def test_startup_host_with_non_admin_user(self):
hostname = self._get_host_name()
@@ -146,7 +146,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_admin_client.startup_host,
hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9e637444-29cf-4244-88c8-831ae82c31b6')
def test_shutdown_nonexistent_host(self):
nonexitent_hostname = data_utils.rand_name('rand_hostname')
@@ -155,7 +155,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.shutdown_host,
nonexitent_hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a803529c-7e3f-4d3c-a7d6-8e1c203d27f6')
def test_shutdown_host_with_non_admin_user(self):
hostname = self._get_host_name()
@@ -164,7 +164,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_admin_client.shutdown_host,
hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f86bfd7b-0b13-4849-ae29-0322e83ee58b')
def test_reboot_nonexistent_host(self):
nonexitent_hostname = data_utils.rand_name('rand_hostname')
@@ -173,7 +173,7 @@ class HostsAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.reboot_host,
nonexitent_hostname)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('02d79bb9-eb57-4612-abf6-2cb38897d2f8')
def test_reboot_host_with_non_admin_user(self):
hostname = self._get_host_name()
diff --git a/tempest/api/compute/admin/test_hypervisor_negative.py b/tempest/api/compute/admin/test_hypervisor_negative.py
index c7de6be91..24b0090c9 100644
--- a/tempest/api/compute/admin/test_hypervisor_negative.py
+++ b/tempest/api/compute/admin/test_hypervisor_negative.py
@@ -39,7 +39,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
hypers = self.client.get_hypervisor_list()
return hypers
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('c136086a-0f67-4b2b-bc61-8482bd68989f')
def test_show_nonexistent_hypervisor(self):
nonexistent_hypervisor_id = str(uuid.uuid4())
@@ -49,7 +49,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.get_hypervisor_show_details,
nonexistent_hypervisor_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('51e663d0-6b89-4817-a465-20aca0667d03')
def test_show_hypervisor_with_non_admin_user(self):
hypers = self._list_hypervisors()
@@ -60,7 +60,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_adm_client.get_hypervisor_show_details,
hypers[0]['id'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('2a0a3938-832e-4859-95bf-1c57c236b924')
def test_show_servers_with_non_admin_user(self):
hypers = self._list_hypervisors()
@@ -71,7 +71,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_adm_client.get_hypervisor_servers,
hypers[0]['id'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('02463d69-0ace-4d33-a4a8-93d7883a2bba')
def test_show_servers_with_nonexistent_hypervisor(self):
nonexistent_hypervisor_id = str(uuid.uuid4())
@@ -81,14 +81,14 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.get_hypervisor_servers,
nonexistent_hypervisor_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e2b061bb-13f9-40d8-9d6e-d5bf17595849')
def test_get_hypervisor_stats_with_non_admin_user(self):
self.assertRaises(
lib_exc.Forbidden,
self.non_adm_client.get_hypervisor_stats)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f60aa680-9a3a-4c7d-90e1-fae3a4891303')
def test_get_nonexistent_hypervisor_uptime(self):
nonexistent_hypervisor_id = str(uuid.uuid4())
@@ -98,7 +98,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.get_hypervisor_uptime,
nonexistent_hypervisor_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6c3461f9-c04c-4e2a-bebb-71dc9cb47df2')
def test_get_hypervisor_uptime_with_non_admin_user(self):
hypers = self._list_hypervisors()
@@ -109,7 +109,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_adm_client.get_hypervisor_uptime,
hypers[0]['id'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('51b3d536-9b14-409c-9bce-c6f7c794994e')
def test_get_hypervisor_list_with_non_admin_user(self):
# List of hypervisor and available services with non admin user
@@ -117,7 +117,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
lib_exc.Forbidden,
self.non_adm_client.get_hypervisor_list)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('dc02db05-e801-4c5f-bc8e-d915290ab345')
def test_get_hypervisor_list_details_with_non_admin_user(self):
# List of hypervisor details and available services with non admin user
@@ -125,7 +125,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
lib_exc.Forbidden,
self.non_adm_client.get_hypervisor_list_details)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('19a45cc1-1000-4055-b6d2-28e8b2ec4faa')
def test_search_nonexistent_hypervisor(self):
nonexistent_hypervisor_name = data_utils.rand_name('test_hypervisor')
@@ -135,7 +135,7 @@ class HypervisorAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.client.search_hypervisor,
nonexistent_hypervisor_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('5b6a6c79-5dc1-4fa5-9c58-9c8085948e74')
def test_search_hypervisor_with_non_admin_user(self):
hypers = self._list_hypervisors()
diff --git a/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py b/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py
index e9f337139..ec9ad1979 100644
--- a/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py
+++ b/tempest/api/compute/admin/test_instance_usage_audit_log_negative.py
@@ -29,7 +29,7 @@ class InstanceUsageAuditLogNegativeTestJSON(base.BaseV2ComputeAdminTest):
super(InstanceUsageAuditLogNegativeTestJSON, cls).setup_clients()
cls.adm_client = cls.os_adm.instance_usages_audit_log_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a9d33178-d2c9-4131-ad3b-f4ca8d0308a2')
def test_instance_usage_audit_logs_with_nonadmin_user(self):
# the instance_usage_audit_logs API just can be accessed by admin user
@@ -42,7 +42,7 @@ class InstanceUsageAuditLogNegativeTestJSON(base.BaseV2ComputeAdminTest):
get_instance_usage_audit_log,
urllib.quote(now.strftime("%Y-%m-%d %H:%M:%S")))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9b952047-3641-41c7-ba91-a809fc5974c8')
def test_get_instance_usage_audit_logs_with_invalid_time(self):
self.assertRaises(lib_exc.BadRequest,
diff --git a/tempest/api/compute/admin/test_quotas_negative.py b/tempest/api/compute/admin/test_quotas_negative.py
index 112e0098a..d20ebf398 100644
--- a/tempest/api/compute/admin/test_quotas_negative.py
+++ b/tempest/api/compute/admin/test_quotas_negative.py
@@ -40,7 +40,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
# tenant most of them should be skipped if we can't do that
cls.demo_tenant_id = cls.client.tenant_id
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('733abfe8-166e-47bb-8363-23dbd7ff3476')
def test_update_quota_normal_user(self):
self.assertRaises(lib_exc.Forbidden,
@@ -50,7 +50,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
# TODO(afazekas): Add dedicated tenant to the skiped quota tests
# it can be moved into the setUpClass as well
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('91058876-9947-4807-9f22-f6eb17140d9b')
def test_create_server_when_cpu_quota_is_full(self):
# Disallow server creation when tenant's vcpu quota is full
@@ -67,7 +67,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit),
self.create_test_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6fdd7012-584d-4327-a61c-49122e0d5864')
def test_create_server_when_memory_quota_is_full(self):
# Disallow server creation when tenant's memory quota is full
@@ -84,7 +84,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.assertRaises((lib_exc.Forbidden, lib_exc.OverLimit),
self.create_test_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7c6be468-0274-449a-81c3-ac1c32ee0161')
def test_create_server_when_instances_quota_is_full(self):
# Once instances quota limit is reached, disallow server creation
@@ -129,7 +129,7 @@ class QuotasAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
@decorators.skip_because(bug="1186354",
condition=CONF.service_available.neutron)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6e9f436d-f1ed-4f8e-a493-7275dfaa4b4d')
@test.services('network')
def test_security_groups_rules_exceed_limit(self):
diff --git a/tempest/api/compute/admin/test_servers_negative.py b/tempest/api/compute/admin/test_servers_negative.py
index d7e62dfde..7f78ce858 100644
--- a/tempest/api/compute/admin/test_servers_negative.py
+++ b/tempest/api/compute/admin/test_servers_negative.py
@@ -62,7 +62,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
@test.idempotent_id('28dcec23-f807-49da-822c-56a92ea3c687')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resize_server_using_overlimit_ram(self):
# NOTE(mriedem): Avoid conflicts with os-quota-class-sets tests.
self.useFixture(fixtures.LockFixture('compute_quotas'))
@@ -84,7 +84,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
@test.idempotent_id('7368a427-2f26-4ad9-9ba9-911a0ec2b0db')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resize_server_using_overlimit_vcpus(self):
# NOTE(mriedem): Avoid conflicts with os-quota-class-sets tests.
self.useFixture(fixtures.LockFixture('compute_quotas'))
@@ -103,27 +103,27 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.servers[0]['id'],
flavor_ref['id'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('b0b4d8af-1256-41ef-9ee7-25f1c19dde80')
def test_reset_state_server_invalid_state(self):
self.assertRaises(lib_exc.BadRequest,
self.client.reset_state, self.s1_id,
state='invalid')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('4cdcc984-fab0-4577-9a9d-6d558527ee9d')
def test_reset_state_server_invalid_type(self):
self.assertRaises(lib_exc.BadRequest,
self.client.reset_state, self.s1_id,
state=1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e741298b-8df2-46f0-81cb-8f814ff2504c')
def test_reset_state_server_nonexistent_server(self):
self.assertRaises(lib_exc.NotFound,
self.client.reset_state, '999')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e84e2234-60d2-42fa-8b30-e2d3049724ac')
def test_get_server_diagnostics_by_non_admin(self):
# Non-admin user can not view server diagnostics according to policy
@@ -131,7 +131,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.non_adm_client.get_server_diagnostics,
self.s1_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('46a4e1ca-87ae-4d28-987a-1b6b136a0221')
def test_migrate_non_existent_server(self):
# migrate a non existent server
@@ -144,7 +144,7 @@ class ServersAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
'Resize not available.')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_migrate_server_invalid_state(self):
# create server.
server = self.create_test_server(wait_until='ACTIVE')
diff --git a/tempest/api/compute/admin/test_services_negative.py b/tempest/api/compute/admin/test_services_negative.py
index 2d4ec5131..99f31c51b 100644
--- a/tempest/api/compute/admin/test_services_negative.py
+++ b/tempest/api/compute/admin/test_services_negative.py
@@ -30,13 +30,13 @@ class ServicesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
cls.client = cls.os_adm.services_client
cls.non_admin_client = cls.services_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('1126d1f8-266e-485f-a687-adc547492646')
def test_list_services_with_non_admin_user(self):
self.assertRaises(lib_exc.Forbidden,
self.non_admin_client.list_services)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('d0884a69-f693-4e79-a9af-232d15643bf7')
def test_get_service_by_invalid_params(self):
# return all services if send the request with invalid parameter
@@ -45,7 +45,7 @@ class ServicesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
services_xxx = self.client.list_services(params)
self.assertEqual(len(services), len(services_xxx))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('1e966d4a-226e-47c7-b601-0b18a27add54')
def test_get_service_by_invalid_service_and_valid_host(self):
services = self.client.list_services()
@@ -54,7 +54,7 @@ class ServicesAdminNegativeTestJSON(base.BaseV2ComputeAdminTest):
services = self.client.list_services(params)
self.assertEqual(0, len(services))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('64e7e7fb-69e8-4cb6-a71d-8d5eb0c98655')
def test_get_service_with_valid_service_and_invalid_host(self):
services = self.client.list_services()
diff --git a/tempest/api/compute/admin/test_simple_tenant_usage_negative.py b/tempest/api/compute/admin/test_simple_tenant_usage_negative.py
index a83d7273d..5a3c9a48b 100644
--- a/tempest/api/compute/admin/test_simple_tenant_usage_negative.py
+++ b/tempest/api/compute/admin/test_simple_tenant_usage_negative.py
@@ -40,7 +40,7 @@ class TenantUsagesNegativeTestJSON(base.BaseV2ComputeAdminTest):
# Returns formatted datetime
return at.strftime('%Y-%m-%dT%H:%M:%S.%f')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('8b21e135-d94b-4991-b6e9-87059609c8ed')
def test_get_usage_tenant_with_empty_tenant_id(self):
# Get usage for a specific tenant empty
@@ -50,7 +50,7 @@ class TenantUsagesNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.adm_client.get_tenant_usage,
'', params)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('4079dd2a-9e8d-479f-869d-6fa985ce45b6')
def test_get_usage_tenant_with_invalid_date(self):
# Get usage for tenant with invalid date
@@ -60,7 +60,7 @@ class TenantUsagesNegativeTestJSON(base.BaseV2ComputeAdminTest):
self.adm_client.get_tenant_usage,
self.client.tenant_id, params)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('bbe6fe2c-15d8-404c-a0a2-44fad0ad5cc7')
def test_list_usage_all_tenants_with_non_admin_user(self):
# Get usage for all tenants with non admin user
diff --git a/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py b/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py
index 584b20297..d22d3341b 100644
--- a/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py
+++ b/tempest/api/compute/floating_ips/test_floating_ips_actions_negative.py
@@ -52,7 +52,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest):
if cls.non_exist_id not in cls.floating_ip_ids:
break
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6e0f059b-e4dd-48fb-8207-06e3bba5b074')
@test.services('network')
def test_allocate_floating_ip_from_nonexistent_pool(self):
@@ -62,7 +62,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest):
self.client.create_floating_ip,
"non_exist_pool")
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('ae1c55a8-552b-44d4-bfb6-2a115a15d0ba')
@test.services('network')
def test_delete_nonexistent_floating_ip(self):
@@ -73,7 +73,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_floating_ip,
self.non_exist_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('595fa616-1a71-4670-9614-46564ac49a4c')
@test.services('network')
def test_associate_nonexistent_floating_ip(self):
@@ -84,7 +84,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest):
self.client.associate_floating_ip_to_server,
"0.0.0.0", self.server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0a081a66-e568-4e6b-aa62-9587a876dca8')
@test.services('network')
def test_dissociate_nonexistent_floating_ip(self):
@@ -94,7 +94,7 @@ class FloatingIPsNegativeTestJSON(base.BaseFloatingIPsTest):
self.client.disassociate_floating_ip_from_server,
"0.0.0.0", self.server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('804b4fcb-bbf5-412f-925d-896672b61eb3')
@test.services('network')
def test_associate_ip_to_server_without_passing_floating_ip(self):
diff --git a/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py b/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py
index f0ce6ded0..e1e30a4b8 100644
--- a/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py
+++ b/tempest/api/compute/floating_ips/test_list_floating_ips_negative.py
@@ -32,7 +32,7 @@ class FloatingIPDetailsNegativeTestJSON(base.BaseV2ComputeTest):
super(FloatingIPDetailsNegativeTestJSON, cls).setup_clients()
cls.client = cls.floating_ips_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7ab18834-4a4b-4f28-a2c5-440579866695')
@test.services('network')
def test_get_nonexistent_floating_ip_details(self):
diff --git a/tempest/api/compute/images/test_image_metadata_negative.py b/tempest/api/compute/images/test_image_metadata_negative.py
index 3c2302a62..e44fbfc71 100644
--- a/tempest/api/compute/images/test_image_metadata_negative.py
+++ b/tempest/api/compute/images/test_image_metadata_negative.py
@@ -27,7 +27,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
super(ImagesMetadataTestJSON, cls).setup_clients()
cls.client = cls.images_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('94069db2-792f-4fa8-8bd3-2271a6e0c095')
def test_list_nonexistent_image_metadata(self):
# Negative test: List on nonexistent image
@@ -35,7 +35,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.list_image_metadata,
data_utils.rand_uuid())
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a403ef9e-9f95-427c-b70a-3ce3388796f1')
def test_update_nonexistent_image_metadata(self):
# Negative test:An update should not happen for a non-existent image
@@ -44,7 +44,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
self.client.update_image_metadata,
data_utils.rand_uuid(), meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('41ae052c-6ee6-405c-985e-5712393a620d')
def test_get_nonexistent_image_metadata_item(self):
# Negative test: Get on non-existent image should not happen
@@ -52,7 +52,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
self.client.get_image_metadata_item,
data_utils.rand_uuid(), 'os_version')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('dc64f2ce-77e8-45b0-88c8-e15041d08eaf')
def test_set_nonexistent_image_metadata(self):
# Negative test: Metadata should not be set to a non-existent image
@@ -60,7 +60,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.set_image_metadata,
data_utils.rand_uuid(), meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('2154fd03-ab54-457c-8874-e6e3eb56e9cf')
def test_set_nonexistent_image_metadata_item(self):
# Negative test: Metadata item should not be set to a
@@ -71,7 +71,7 @@ class ImagesMetadataTestJSON(base.BaseV2ComputeTest):
data_utils.rand_uuid(), 'os_distro',
meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('848e157f-6bcf-4b2e-a5dd-5124025a8518')
def test_delete_nonexistent_image_metadata_item(self):
# Negative test: Shouldn't be able to delete metadata
diff --git a/tempest/api/compute/images/test_images_negative.py b/tempest/api/compute/images/test_images_negative.py
index ad502ad44..6555b6495 100644
--- a/tempest/api/compute/images/test_images_negative.py
+++ b/tempest/api/compute/images/test_images_negative.py
@@ -41,7 +41,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
cls.client = cls.images_client
cls.servers_client = cls.servers_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6cd5a89d-5b47-46a7-93bc-3916f0d84973')
def test_create_image_from_deleted_server(self):
# An image should not be created if the server instance is removed
@@ -57,7 +57,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.create_image_from_server,
server['id'], name=name, meta=meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('82c5b0c4-9dbd-463c-872b-20c4755aae7f')
def test_create_image_from_invalid_server(self):
# An image should not be created with invalid server id
@@ -69,7 +69,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.create_image_from_server,
'!@#$%^&*()', name=name, meta=meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('aaacd1d0-55a2-4ce8-818a-b5439df8adc9')
def test_create_image_from_stopped_server(self):
server = self.create_test_server(wait_until='ACTIVE')
@@ -85,7 +85,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.addCleanup(self.client.delete_image, image['id'])
self.assertEqual(snapshot_name, image['name'])
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('ec176029-73dc-4037-8d72-2e4ff60cf538')
def test_create_image_specify_uuid_35_characters_or_less(self):
# Return an error if Image ID passed is 35 characters or less
@@ -94,7 +94,7 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.create_image,
test_uuid, snapshot_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('36741560-510e-4cc2-8641-55fe4dfb2437')
def test_create_image_specify_uuid_37_characters_or_more(self):
# Return an error if Image ID passed is 37 characters or more
@@ -103,14 +103,14 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.create_image,
test_uuid, snapshot_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('381acb65-785a-4942-94ce-d8f8c84f1f0f')
def test_delete_image_with_invalid_image_id(self):
# An image should not be deleted with invalid image id
self.assertRaises(lib_exc.NotFound, self.client.delete_image,
'!@$%^&*()')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('137aef61-39f7-44a1-8ddf-0adf82511701')
def test_delete_non_existent_image(self):
# Return an error while trying to delete a non-existent image
@@ -119,13 +119,13 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_image,
non_existent_image_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e6e41425-af5c-4fe6-a4b5-7b7b963ffda5')
def test_delete_image_blank_id(self):
# Return an error while trying to delete an image with blank Id
self.assertRaises(lib_exc.NotFound, self.client.delete_image, '')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('924540c3-f1f1-444c-8f58-718958b6724e')
def test_delete_image_non_hex_string_id(self):
# Return an error while trying to delete an image with non hex id
@@ -133,13 +133,13 @@ class ImagesNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_image,
image_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('68e2c175-bd26-4407-ac0f-4ea9ce2139ea')
def test_delete_image_negative_image_id(self):
# Return an error while trying to delete an image with negative id
self.assertRaises(lib_exc.NotFound, self.client.delete_image, -1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('b340030d-82cd-4066-a314-c72fb7c59277')
def test_delete_image_id_is_over_35_character_limit(self):
# Return an error while trying to delete image with id over limit
diff --git a/tempest/api/compute/images/test_images_oneserver_negative.py b/tempest/api/compute/images/test_images_oneserver_negative.py
index 18ce2118b..aa120446d 100644
--- a/tempest/api/compute/images/test_images_oneserver_negative.py
+++ b/tempest/api/compute/images/test_images_oneserver_negative.py
@@ -80,7 +80,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
cls.image_ids = []
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('55d1d38c-dd66-4933-9c8e-7d92aeb60ddc')
def test_create_image_specify_invalid_metadata(self):
# Return an error when creating image with invalid metadata
@@ -89,7 +89,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.create_image,
self.server_id, snapshot_name, meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('3d24d11f-5366-4536-bd28-cff32b748eca')
def test_create_image_specify_metadata_over_limits(self):
# Return an error when creating image with meta data over 256 chars
@@ -98,7 +98,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.create_image,
self.server_id, snapshot_name, meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0460efcf-ee88-4f94-acef-1bf658695456')
def test_create_second_image_when_first_image_is_being_saved(self):
# Disallow creating another image when first image is being saved
@@ -116,7 +116,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.Conflict, self.client.create_image,
self.server_id, alt_snapshot_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('084f0cbc-500a-4963-8a4e-312905862581')
def test_create_image_specify_name_over_256_chars(self):
# Return an error if snapshot name over 256 characters is passed
@@ -125,7 +125,7 @@ class ImagesOneServerNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.create_image,
self.server_id, snapshot_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0894954d-2db2-4195-a45b-ffec0bc0187e')
def test_delete_image_that_is_not_yet_active(self):
# Return an error while trying to delete an image what is creating
diff --git a/tempest/api/compute/images/test_list_image_filters_negative.py b/tempest/api/compute/images/test_list_image_filters_negative.py
index 204bf3e09..334516b34 100644
--- a/tempest/api/compute/images/test_list_image_filters_negative.py
+++ b/tempest/api/compute/images/test_list_image_filters_negative.py
@@ -36,7 +36,7 @@ class ListImageFiltersNegativeTestJSON(base.BaseV2ComputeTest):
super(ListImageFiltersNegativeTestJSON, cls).setup_clients()
cls.client = cls.images_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('391b0440-432c-4d4b-b5da-c5096aa247eb')
def test_get_nonexistent_image(self):
# Check raises a NotFound
diff --git a/tempest/api/compute/keypairs/test_keypairs_negative.py b/tempest/api/compute/keypairs/test_keypairs_negative.py
index 6aa0939e2..78db74eea 100644
--- a/tempest/api/compute/keypairs/test_keypairs_negative.py
+++ b/tempest/api/compute/keypairs/test_keypairs_negative.py
@@ -32,7 +32,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
self.client.create_keypair(keypair_name, pub_key)
self.addCleanup(self.client.delete_keypair, keypair_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('29cca892-46ae-4d48-bc32-8fe7e731eb81')
def test_keypair_create_with_invalid_pub_key(self):
# Keypair should not be created with a non RSA public key
@@ -41,7 +41,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest,
self._create_keypair, k_name, pub_key)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7cc32e47-4c42-489d-9623-c5e2cb5a2fa5')
def test_keypair_delete_nonexistent_key(self):
# Non-existent key deletion should throw a proper error
@@ -49,7 +49,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_keypair,
k_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('dade320e-69ca-42a9-ba4a-345300f127e0')
def test_create_keypair_with_empty_public_key(self):
# Keypair should not be created with an empty public key
@@ -58,7 +58,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self._create_keypair,
k_name, pub_key)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fc100c19-2926-4b9c-8fdc-d0589ee2f9ff')
def test_create_keypair_when_public_key_bits_exceeds_maximum(self):
# Keypair should not be created when public key bits are too long
@@ -67,7 +67,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self._create_keypair,
k_name, pub_key)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0359a7f1-f002-4682-8073-0c91e4011b7c')
def test_create_keypair_with_duplicate_name(self):
# Keypairs with duplicate names should not be created
@@ -78,14 +78,14 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
k_name)
self.client.delete_keypair(k_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('1398abe1-4a84-45fb-9294-89f514daff00')
def test_create_keypair_with_empty_name_string(self):
# Keypairs with name being an empty string should not be created
self.assertRaises(lib_exc.BadRequest, self._create_keypair,
'')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('3faa916f-779f-4103-aca7-dc3538eee1b7')
def test_create_keypair_with_long_keynames(self):
# Keypairs with name longer than 255 chars should not be created
@@ -93,7 +93,7 @@ class KeyPairsNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self._create_keypair,
k_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('45fbe5e0-acb5-49aa-837a-ff8d0719db91')
def test_create_keypair_invalid_name(self):
# Keypairs with name being an invalid name should not be created
diff --git a/tempest/api/compute/limits/test_absolute_limits_negative.py b/tempest/api/compute/limits/test_absolute_limits_negative.py
index 843dc1ac6..bdbe3f15c 100644
--- a/tempest/api/compute/limits/test_absolute_limits_negative.py
+++ b/tempest/api/compute/limits/test_absolute_limits_negative.py
@@ -33,7 +33,7 @@ class AbsoluteLimitsNegativeTestJSON(base.BaseV2ComputeTest):
cls.client = cls.limits_client
cls.server_client = cls.servers_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('215cd465-d8ae-49c9-bf33-9c911913a5c8')
def test_max_image_meta_exceed_limit(self):
# We should not create vm with image meta over maxImageMeta limit
diff --git a/tempest/api/compute/servers/test_instance_actions_negative.py b/tempest/api/compute/servers/test_instance_actions_negative.py
index 7635eb83a..afd3b7a31 100644
--- a/tempest/api/compute/servers/test_instance_actions_negative.py
+++ b/tempest/api/compute/servers/test_instance_actions_negative.py
@@ -33,7 +33,7 @@ class InstanceActionsNegativeTestJSON(base.BaseV2ComputeTest):
server = cls.create_test_server(wait_until='ACTIVE')
cls.server_id = server['id']
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('67e1fce6-7ec2-45c6-92d4-0a8f1a632910')
def test_list_instance_actions_non_existent_server(self):
# List actions of the non-existent server id
@@ -42,7 +42,7 @@ class InstanceActionsNegativeTestJSON(base.BaseV2ComputeTest):
self.client.list_instance_actions,
non_existent_server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0269f40a-6f18-456c-b336-c03623c897f1')
def test_get_instance_action_invalid_request(self):
# Get the action details of the provided server with invalid request
diff --git a/tempest/api/compute/servers/test_list_servers_negative.py b/tempest/api/compute/servers/test_list_servers_negative.py
index 4dfdacc4b..0178c9e57 100644
--- a/tempest/api/compute/servers/test_list_servers_negative.py
+++ b/tempest/api/compute/servers/test_list_servers_negative.py
@@ -52,7 +52,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
ignore_error=True)
cls.deleted_fixtures.append(srv)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('24a26f1a-1ddc-4eea-b0d7-a90cc874ad8f')
def test_list_servers_with_a_deleted_server(self):
# Verify deleted servers do not show by default in list servers
@@ -64,7 +64,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
if srv['id'] in deleted_ids]
self.assertEqual([], actual)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('ff01387d-c7ad-47b4-ae9e-64fa214638fe')
def test_list_servers_by_non_existing_image(self):
# Listing servers for a non existing image returns empty list
@@ -73,7 +73,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
servers = body['servers']
self.assertEqual([], servers)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('5913660b-223b-44d4-a651-a0fbfd44ca75')
def test_list_servers_by_non_existing_flavor(self):
# Listing servers by non existing flavor returns empty list
@@ -82,7 +82,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
servers = body['servers']
self.assertEqual([], servers)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('e2c77c4a-000a-4af3-a0bd-629a328bde7c')
def test_list_servers_by_non_existing_server_name(self):
# Listing servers for a non existent server name returns empty list
@@ -91,7 +91,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
servers = body['servers']
self.assertEqual([], servers)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fcdf192d-0f74-4d89-911f-1ec002b822c4')
def test_list_servers_status_non_existing(self):
# Return an empty list when invalid status is specified
@@ -106,35 +106,35 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
body = self.client.list_servers({'limit': 1})
self.assertEqual(1, len([x for x in body['servers'] if 'id' in x]))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('d47c17fb-eebd-4287-8e95-f20a7e627b18')
def test_list_servers_by_limits_greater_than_actual_count(self):
# List servers by specifying a greater value for limit
body = self.client.list_servers({'limit': 100})
self.assertEqual(len(self.existing_fixtures), len(body['servers']))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('679bc053-5e70-4514-9800-3dfab1a380a6')
def test_list_servers_by_limits_pass_string(self):
# Return an error if a string value is passed for limit
self.assertRaises(lib_exc.BadRequest, self.client.list_servers,
{'limit': 'testing'})
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('62610dd9-4713-4ee0-8beb-fd2c1aa7f950')
def test_list_servers_by_limits_pass_negative_value(self):
# Return an error if a negative value for limit is passed
self.assertRaises(lib_exc.BadRequest, self.client.list_servers,
{'limit': -1})
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('87d12517-e20a-4c9c-97b6-dd1628d6d6c9')
def test_list_servers_by_changes_since_invalid_date(self):
# Return an error when invalid date format is passed
self.assertRaises(lib_exc.BadRequest, self.client.list_servers,
{'changes-since': '2011/01/01'})
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('74745ad8-b346-45b5-b9b8-509d7447fc1f')
def test_list_servers_by_changes_since_future_date(self):
# Return an empty list when a date in the future is passed
@@ -142,7 +142,7 @@ class ListServersNegativeTestJSON(base.BaseV2ComputeTest):
body = self.client.list_servers(changes_since)
self.assertEqual(0, len(body['servers']))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('93055106-2d34-46fe-af68-d9ddbf7ee570')
def test_list_servers_detail_server_is_deleted(self):
# Server details are not listed for a deleted server
diff --git a/tempest/api/compute/servers/test_multiple_create_negative.py b/tempest/api/compute/servers/test_multiple_create_negative.py
index ef47ad70c..bfc98ff7d 100644
--- a/tempest/api/compute/servers/test_multiple_create_negative.py
+++ b/tempest/api/compute/servers/test_multiple_create_negative.py
@@ -36,35 +36,35 @@ class MultipleCreateNegativeTestJSON(base.BaseV2ComputeTest):
return body
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('daf29d8d-e928-4a01-9a8c-b129603f3fc0')
def test_min_count_less_than_one(self):
invalid_min_count = 0
self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers,
min_count=invalid_min_count)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('999aa722-d624-4423-b813-0d1ac9884d7a')
def test_min_count_non_integer(self):
invalid_min_count = 2.5
self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers,
min_count=invalid_min_count)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a6f9c2ab-e060-4b82-b23c-4532cb9390ff')
def test_max_count_less_than_one(self):
invalid_max_count = 0
self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers,
max_count=invalid_max_count)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9c5698d1-d7af-4c80-b971-9d403135eea2')
def test_max_count_non_integer(self):
invalid_max_count = 2.5
self.assertRaises(lib_exc.BadRequest, self._create_multiple_servers,
max_count=invalid_max_count)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('476da616-f1ef-4271-a9b1-b9fc87727cdf')
def test_max_count_less_than_min_count(self):
min_count = 3
diff --git a/tempest/api/compute/servers/test_server_addresses_negative.py b/tempest/api/compute/servers/test_server_addresses_negative.py
index dac5637bd..3503dc2a3 100644
--- a/tempest/api/compute/servers/test_server_addresses_negative.py
+++ b/tempest/api/compute/servers/test_server_addresses_negative.py
@@ -36,7 +36,7 @@ class ServerAddressesNegativeTestJSON(base.BaseV2ComputeTest):
super(ServerAddressesNegativeTestJSON, cls).resource_setup()
cls.server = cls.create_test_server(wait_until='ACTIVE')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('02c3f645-2d2e-4417-8525-68c0407d001b')
@test.services('network')
def test_list_server_addresses_invalid_server_id(self):
@@ -44,7 +44,7 @@ class ServerAddressesNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.list_addresses,
'999')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a2ab5144-78c0-4942-a0ed-cc8edccfd9ba')
@test.services('network')
def test_list_server_addresses_by_network_neg(self):
diff --git a/tempest/api/compute/servers/test_server_metadata_negative.py b/tempest/api/compute/servers/test_server_metadata_negative.py
index 5e1765d04..1a977abe0 100644
--- a/tempest/api/compute/servers/test_server_metadata_negative.py
+++ b/tempest/api/compute/servers/test_server_metadata_negative.py
@@ -36,7 +36,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
cls.server_id = server['id']
- @test.attr(type=['gate', 'negative'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fe114a8f-3a57-4eff-9ee2-4e14628df049')
def test_server_create_metadata_key_too_long(self):
# Attempt to start a server with a meta-data key that is > 255
@@ -52,7 +52,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
# no teardown - all creates should fail
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('92431555-4d8b-467c-b95b-b17daa5e57ff')
def test_create_server_metadata_blank_key(self):
# Blank key should trigger an error.
@@ -61,7 +61,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
meta=meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('4d9cd7a3-2010-4b41-b8fe-3bbf0b169466')
def test_server_metadata_non_existent_server(self):
# GET on a non-existent server should not succeed
@@ -71,7 +71,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
non_existent_server_id,
'test2')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f408e78e-3066-4097-9299-3b0182da812e')
def test_list_server_metadata_non_existent_server(self):
# List metadata on a non-existent server should not succeed
@@ -80,7 +80,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
self.client.list_server_metadata,
non_existent_server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0025fbd6-a4ba-4cde-b8c2-96805dcfdabc')
def test_wrong_key_passed_in_body(self):
# Raise BadRequest if key in uri does not match
@@ -90,7 +90,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
self.client.set_server_metadata_item,
self.server_id, 'key', meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0df38c2a-3d4e-4db5-98d8-d4d9fa843a12')
def test_set_metadata_non_existent_server(self):
# Set metadata on a non-existent server should not succeed
@@ -101,7 +101,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
non_existent_server_id,
meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('904b13dc-0ef2-4e4c-91cd-3b4a0f2f49d8')
def test_update_metadata_non_existent_server(self):
# An update should not happen for a non-existent server
@@ -112,7 +112,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
non_existent_server_id,
meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a452f38c-05c2-4b47-bd44-a4f0bf5a5e48')
def test_update_metadata_with_blank_key(self):
# Blank key should trigger an error
@@ -121,7 +121,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
self.client.update_server_metadata,
self.server_id, meta=meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6bbd88e1-f8b3-424d-ba10-ae21c45ada8d')
def test_delete_metadata_non_existent_server(self):
# Should not be able to delete metadata item from a non-existent server
@@ -131,7 +131,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
non_existent_server_id,
'd')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('d8c0a210-a5c3-4664-be04-69d96746b547')
def test_metadata_items_limit(self):
# A 403 Forbidden or 413 Overlimit (old behaviour) exception
@@ -156,7 +156,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
self.client.update_server_metadata,
self.server_id, req_metadata)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('96100343-7fa9-40d8-80fa-d29ef588ce1c')
def test_set_server_metadata_blank_key(self):
# Raise a bad request error for blank key.
@@ -166,7 +166,7 @@ class ServerMetadataNegativeTestJSON(base.BaseV2ComputeTest):
self.client.set_server_metadata,
self.server_id, meta=meta)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('64a91aee-9723-4863-be44-4c9d9f1e7d0e')
def test_set_server_metadata_missing_metadata(self):
# Raise a bad request error for a missing metadata field
diff --git a/tempest/api/compute/servers/test_server_rescue_negative.py b/tempest/api/compute/servers/test_server_rescue_negative.py
index 12b7c0a85..779800556 100644
--- a/tempest/api/compute/servers/test_server_rescue_negative.py
+++ b/tempest/api/compute/servers/test_server_rescue_negative.py
@@ -81,7 +81,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('cc3a883f-43c0-4fb6-a9bb-5579d64984ed')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_rescue_paused_instance(self):
# Rescue a paused server
self.servers_client.pause_server(self.server_id)
@@ -91,13 +91,13 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest):
self.servers_client.rescue_server,
self.server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('db22b618-f157-4566-a317-1b6d467a8094')
def test_rescued_vm_reboot(self):
self.assertRaises(lib_exc.Conflict, self.servers_client.reboot,
self.rescue_id, 'HARD')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6dfc0a55-3a77-4564-a144-1587b7971dde')
def test_rescue_non_existent_server(self):
# Rescue a non-existing server
@@ -106,7 +106,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest):
self.servers_client.rescue_server,
non_existent_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('70cdb8a1-89f8-437d-9448-8844fd82bf46')
def test_rescued_vm_rebuild(self):
self.assertRaises(lib_exc.Conflict,
@@ -116,7 +116,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('d0ccac79-0091-4cf4-a1ce-26162d0cc55f')
@test.services('volume')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_rescued_vm_attach_volume(self):
volume = self._create_volume()
@@ -135,7 +135,7 @@ class ServerRescueNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('f56e465b-fe10-48bf-b75d-646cda3a8bc9')
@test.services('volume')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_rescued_vm_detach_volume(self):
volume = self._create_volume()
diff --git a/tempest/api/compute/servers/test_servers_negative.py b/tempest/api/compute/servers/test_servers_negative.py
index 853e2621a..5387f064f 100644
--- a/tempest/api/compute/servers/test_servers_negative.py
+++ b/tempest/api/compute/servers/test_servers_negative.py
@@ -57,7 +57,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
server = cls.create_test_server(wait_until='ACTIVE')
cls.server_id = server['id']
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('dbbfd247-c40c-449e-8f6c-d2aa7c7da7cf')
def test_server_name_blank(self):
# Create a server with name parameter empty
@@ -66,7 +66,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
name='')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('b8a7235e-5246-4a8f-a08e-b34877c6586f')
def test_personality_file_contents_not_encoded(self):
# Use an unencoded file when creating a server with personality
@@ -79,7 +79,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
personality=person)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fcba1052-0a50-4cf3-b1ac-fae241edf02f')
def test_create_with_invalid_image(self):
# Create a server with an unknown image
@@ -88,7 +88,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
image_id=-1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('18f5227f-d155-4429-807c-ccb103887537')
def test_create_with_invalid_flavor(self):
# Create a server with an unknown flavor
@@ -97,7 +97,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
flavor=-1,)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7f70a4d1-608f-4794-9e56-cb182765972c')
def test_invalid_access_ip_v4_address(self):
# An access IPv4 address must match a valid address pattern
@@ -106,7 +106,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest,
self.create_test_server, accessIPv4=IPv4)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('5226dd80-1e9c-4d8a-b5f9-b26ca4763fd0')
def test_invalid_ip_v6_address(self):
# An access IPv6 address must match a valid address pattern
@@ -119,7 +119,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('7ea45b3e-e770-46fa-bfcc-9daaf6d987c0')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resize_nonexistent_server(self):
# Resize a non-existent server
nonexistent_server = data_utils.rand_uuid()
@@ -130,7 +130,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('ced1a1d7-2ab6-45c9-b90f-b27d87b30efd')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resize_server_with_non_existent_flavor(self):
# Resize a server with non-existent flavor
nonexistent_flavor = data_utils.rand_uuid()
@@ -140,13 +140,13 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('45436a7d-a388-4a35-a9d8-3adc5d0d940b')
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
'Resize not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resize_server_with_null_flavor(self):
# Resize a server with null flavor
self.assertRaises(lib_exc.BadRequest, self.client.resize,
self.server_id, flavor_ref="")
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('d4c023a0-9c55-4747-9dd5-413b820143c7')
def test_reboot_non_existent_server(self):
# Reboot a non existent server
@@ -157,7 +157,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('d1417e7f-a509-41b5-a102-d5eed8613369')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_pause_paused_server(self):
# Pause a paused server.
self.client.pause_server(self.server_id)
@@ -167,7 +167,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.server_id)
self.client.unpause_server(self.server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('98fa0458-1485-440f-873b-fe7f0d714930')
def test_rebuild_reboot_deleted_server(self):
# Rebuild and Reboot a deleted server
@@ -181,7 +181,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.reboot,
server['id'], 'SOFT')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('d86141a7-906e-4731-b187-d64a2ea61422')
def test_rebuild_non_existent_server(self):
# Rebuild a non existent server
@@ -191,7 +191,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
nonexistent_server,
self.image_ref_alt)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('fd57f159-68d6-4c2a-902b-03070828a87e')
def test_create_numeric_server_name(self):
server_name = 12345
@@ -199,7 +199,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
name=server_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('c3e0fb12-07fc-4d76-a22e-37409887afe8')
def test_create_server_name_length_exceeds_256(self):
# Create a server with name length exceeding 256 characters
@@ -209,7 +209,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
name=server_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('4e72dc2d-44c5-4336-9667-f7972e95c402')
def test_create_with_invalid_network_uuid(self):
# Pass invalid network uuid while creating a server
@@ -220,7 +220,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
networks=networks)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7a2efc39-530c-47de-b875-2dd01c8d39bd')
def test_create_with_non_existent_keypair(self):
# Pass a non-existent keypair while creating a server
@@ -230,7 +230,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
key_name=key_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7fc74810-0bd2-4cd7-8244-4f33a9db865a')
def test_create_server_metadata_exceeds_length_limit(self):
# Pass really long metadata while creating a server
@@ -240,7 +240,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
meta=metadata)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('aa8eed43-e2cb-4ebf-930b-da14f6a21d81')
def test_update_name_of_non_existent_server(self):
# Update name of a non-existent server
@@ -251,7 +251,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.update_server,
server_name, name=new_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('38204696-17c6-44da-9590-40f87fb5a899')
def test_update_server_set_empty_name(self):
# Update name of the server to an empty string
@@ -262,7 +262,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.update_server,
server_name, name=new_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('543d84c1-dd2e-4c6d-8cb2-b9da0efaa384')
def test_update_server_of_another_tenant(self):
# Update name of a server that belongs to another tenant
@@ -272,7 +272,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.alt_client.update_server, self.server_id,
name=new_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('5c8e244c-dada-4590-9944-749c455b431f')
def test_update_server_name_length_exceeds_256(self):
# Update name of server exceed the name length limit
@@ -283,7 +283,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.server_id,
name=new_name)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('1041b4e6-514b-4855-96a5-e974b60870a3')
def test_delete_non_existent_server(self):
# Delete a non existent server
@@ -292,7 +292,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_server,
nonexistent_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('5c75009d-3eea-423e-bea3-61b09fd25f9c')
def test_delete_a_server_of_another_tenant(self):
# Delete a server that belongs to another tenant
@@ -300,14 +300,14 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.alt_client.delete_server,
self.server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('75f79124-277c-45e6-a373-a1d6803f4cc4')
def test_delete_server_pass_negative_id(self):
# Pass an invalid string parameter to delete server
self.assertRaises(lib_exc.NotFound, self.client.delete_server, -1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f4d7279b-5fd2-4bf2-9ba4-ae35df0d18c5')
def test_delete_server_pass_id_exceeding_length_limit(self):
# Pass a server ID that exceeds length limit to delete server
@@ -315,7 +315,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_server,
sys.maxint + 1)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('c5fa6041-80cd-483b-aa6d-4e45f19d093c')
def test_create_with_nonexistent_security_group(self):
# Create a server with a nonexistent security group
@@ -325,7 +325,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.create_test_server,
security_groups=security_groups)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('3436b02f-1b1e-4f03-881e-c6a602327439')
def test_get_non_existent_server(self):
# Get a non existent server details
@@ -333,7 +333,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.get_server,
nonexistent_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('a31460a9-49e1-42aa-82ee-06e0bb7c2d03')
def test_stop_non_existent_server(self):
# Stop a non existent server
@@ -344,7 +344,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('6a8dc0c6-6cd4-4c0a-9f32-413881828091')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_pause_non_existent_server(self):
# pause a non existent server
nonexistent_server = data_utils.rand_uuid()
@@ -354,7 +354,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('705b8e3a-e8a7-477c-a19b-6868fc24ac75')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_unpause_non_existent_server(self):
# unpause a non existent server
nonexistent_server = data_utils.rand_uuid()
@@ -364,7 +364,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('c8e639a7-ece8-42dd-a2e0-49615917ba4f')
@testtools.skipUnless(CONF.compute_feature_enabled.pause,
'Pause is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_unpause_server_invalid_state(self):
# unpause an active server.
self.assertRaises(lib_exc.Conflict,
@@ -374,7 +374,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('d1f032d5-7b6e-48aa-b252-d5f16dd994ca')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_suspend_non_existent_server(self):
# suspend a non existent server
nonexistent_server = data_utils.rand_uuid()
@@ -384,7 +384,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('7f323206-05a9-4bf8-996b-dd5b2036501b')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_suspend_server_invalid_state(self):
# suspend a suspended server.
self.client.suspend_server(self.server_id)
@@ -397,7 +397,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('221cd282-bddb-4837-a683-89c2487389b6')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resume_non_existent_server(self):
# resume a non existent server
nonexistent_server = data_utils.rand_uuid()
@@ -407,14 +407,14 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('ccb6294d-c4c9-498f-8a43-554c098bfadb')
@testtools.skipUnless(CONF.compute_feature_enabled.suspend,
'Suspend is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_resume_server_invalid_state(self):
# resume an active server.
self.assertRaises(lib_exc.Conflict,
self.client.resume_server,
self.server_id)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7dd919e7-413f-4198-bebb-35e2a01b13e9')
def test_get_console_output_of_non_existent_server(self):
# get the console output for a non existent server
@@ -423,7 +423,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.client.get_console_output,
nonexistent_server, 10)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('6f47992b-5144-4250-9f8b-f00aa33950f3')
def test_force_delete_nonexistent_server_id(self):
# force-delete a non existent server
@@ -432,7 +432,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.client.force_delete_server,
nonexistent_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('9c6d38cc-fcfb-437a-85b9-7b788af8bf01')
def test_restore_nonexistent_server_id(self):
# restore-delete a non existent server
@@ -441,7 +441,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
self.client.restore_soft_deleted_server,
nonexistent_server)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7fcadfab-bd6a-4753-8db7-4a51e51aade9')
def test_restore_server_invalid_state(self):
# we can only restore-delete a server in 'soft-delete' state
@@ -452,7 +452,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('abca56e2-a892-48ea-b5e5-e07e69774816')
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
'Shelve is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_shelve_non_existent_server(self):
# shelve a non existent server
nonexistent_server = data_utils.rand_uuid()
@@ -462,7 +462,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('443e4f9b-e6bf-4389-b601-3a710f15fddd')
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
'Shelve is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_shelve_shelved_server(self):
# shelve a shelved server.
self.client.shelve_server(self.server_id)
@@ -492,7 +492,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('23d23b37-afaf-40d7-aa5d-5726f82d8821')
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
'Shelve is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_unshelve_non_existent_server(self):
# unshelve a non existent server
nonexistent_server = data_utils.rand_uuid()
@@ -502,7 +502,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
@test.idempotent_id('8f198ded-1cca-4228-9e65-c6b449c54880')
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
'Shelve is not available.')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
def test_unshelve_server_invalid_state(self):
# unshelve an active server.
self.assertRaises(lib_exc.Conflict,
diff --git a/tempest/api/compute/servers/test_virtual_interfaces_negative.py b/tempest/api/compute/servers/test_virtual_interfaces_negative.py
index e5cb74450..577a673a9 100644
--- a/tempest/api/compute/servers/test_virtual_interfaces_negative.py
+++ b/tempest/api/compute/servers/test_virtual_interfaces_negative.py
@@ -34,7 +34,7 @@ class VirtualInterfacesNegativeTestJSON(base.BaseV2ComputeTest):
super(VirtualInterfacesNegativeTestJSON, cls).setup_clients()
cls.client = cls.servers_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('64ebd03c-1089-4306-93fa-60f5eb5c803c')
@test.services('network')
def test_list_virtual_interfaces_invalid_server_id(self):
diff --git a/tempest/api/compute/test_live_block_migration_negative.py b/tempest/api/compute/test_live_block_migration_negative.py
index b59e3343b..5ee76ca89 100644
--- a/tempest/api/compute/test_live_block_migration_negative.py
+++ b/tempest/api/compute/test_live_block_migration_negative.py
@@ -45,7 +45,7 @@ class LiveBlockMigrationNegativeTestJSON(base.BaseV2ComputeAdminTest):
block_migration_for_live_migration)
return body
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('7fb7856e-ae92-44c9-861a-af62d7830bcb')
def test_invalid_host_for_migration(self):
# Migrating to an invalid host should not change the status
diff --git a/tempest/api/compute/volumes/test_volumes_negative.py b/tempest/api/compute/volumes/test_volumes_negative.py
index fb9f365e8..65d9def9c 100644
--- a/tempest/api/compute/volumes/test_volumes_negative.py
+++ b/tempest/api/compute/volumes/test_volumes_negative.py
@@ -39,7 +39,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
super(VolumesNegativeTest, cls).setup_clients()
cls.client = cls.volumes_extensions_client
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('c03ea686-905b-41a2-8748-9635154b7c57')
def test_volume_get_nonexistent_volume_id(self):
# Negative: Should not be able to get details of nonexistent volume
@@ -48,7 +48,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.get_volume,
str(uuid.uuid4()))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('54a34226-d910-4b00-9ef8-8683e6c55846')
def test_volume_delete_nonexistent_volume_id(self):
# Negative: Should not be able to delete nonexistent Volume
@@ -57,7 +57,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound, self.client.delete_volume,
str(uuid.uuid4()))
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('5125ae14-152b-40a7-b3c5-eae15e9022ef')
def test_create_volume_with_invalid_size(self):
# Negative: Should not be able to create volume with invalid size
@@ -67,7 +67,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.create_volume,
size='#$%', display_name=v_name, metadata=metadata)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('131cb3a1-75cc-4d40-b4c3-1317f64719b0')
def test_create_volume_with_out_passing_size(self):
# Negative: Should not be able to create volume without passing size
@@ -77,7 +77,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.create_volume,
size='', display_name=v_name, metadata=metadata)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('8cce995e-0a83-479a-b94d-e1e40b8a09d1')
def test_create_volume_with_size_zero(self):
# Negative: Should not be able to create volume with size zero
@@ -86,20 +86,20 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.BadRequest, self.client.create_volume,
size='0', display_name=v_name, metadata=metadata)
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('f01904f2-e975-4915-98ce-cb5fa27bde4f')
def test_get_invalid_volume_id(self):
# Negative: Should not be able to get volume with invalid id
self.assertRaises(lib_exc.NotFound,
self.client.get_volume, '#$%%&^&^')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('62bab09a-4c03-4617-8cca-8572bc94af9b')
def test_get_volume_without_passing_volume_id(self):
# Negative: Should not be able to get volume when empty ID is passed
self.assertRaises(lib_exc.NotFound, self.client.get_volume, '')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('62972737-124b-4513-b6cf-2f019f178494')
def test_delete_invalid_volume_id(self):
# Negative: Should not be able to delete volume when invalid ID is
@@ -107,7 +107,7 @@ class VolumesNegativeTest(base.BaseV2ComputeTest):
self.assertRaises(lib_exc.NotFound,
self.client.delete_volume, '!@#$%^&*()')
- @test.attr(type=['negative', 'gate'])
+ @test.attr(type=['negative'])
@test.idempotent_id('0d1417c5-4ae8-4c2c-adc5-5f0b864253e5')
def test_delete_volume_without_passing_volume_id(self):
# Negative: Should not be able to delete volume when empty ID is passed