diff --git a/neutron/tests/tempest/api/test_networks.py b/neutron/tests/tempest/api/test_networks.py
index 951e8c9..16fe81b 100644
--- a/neutron/tests/tempest/api/test_networks.py
+++ b/neutron/tests/tempest/api/test_networks.py
@@ -103,47 +103,38 @@
         for name in cls.resource_names:
             cls.create_network(network_name=name)
 
-    @test.attr(type='smoke')
     @test.idempotent_id('de27d34a-bd9d-4516-83d6-81ef723f7d0d')
     def test_list_sorts_asc(self):
         self._test_list_sorts_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('e767a160-59f9-4c4b-8dc1-72124a68640a')
     def test_list_sorts_desc(self):
         self._test_list_sorts_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('71389852-f57b-49f2-b109-77b705e9e8af')
     def test_list_pagination(self):
         self._test_list_pagination()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('b7e153d2-37c3-48d4-8390-ec13498fee3d')
     def test_list_pagination_with_marker(self):
         self._test_list_pagination_with_marker()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('8a9c89df-0ee7-4c0d-8f1d-ec8f27cf362f')
     def test_list_pagination_with_href_links(self):
         self._test_list_pagination_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('79a52810-2156-4ab6-b577-9e46e58d4b58')
     def test_list_pagination_page_reverse_asc(self):
         self._test_list_pagination_page_reverse_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('36a4671f-a542-442f-bc44-a8873ee778d1')
     def test_list_pagination_page_reverse_desc(self):
         self._test_list_pagination_page_reverse_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('13eb066c-aa90-406d-b4c3-39595bf8f910')
     def test_list_pagination_page_reverse_with_href_links(self):
         self._test_list_pagination_page_reverse_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('f1867fc5-e1d6-431f-bc9f-8b882e43a7f9')
     def test_list_no_pagination_limit_0(self):
         self._test_list_no_pagination_limit_0()
diff --git a/neutron/tests/tempest/api/test_ports.py b/neutron/tests/tempest/api/test_ports.py
index eec97ba..916f549 100644
--- a/neutron/tests/tempest/api/test_ports.py
+++ b/neutron/tests/tempest/api/test_ports.py
@@ -59,47 +59,38 @@
         for name in cls.resource_names:
             cls.create_port(net, name=name)
 
-    @test.attr(type='smoke')
     @test.idempotent_id('9ab73df4-960a-4ae3-87d3-60992b8d3e2d')
     def test_list_sorts_asc(self):
         self._test_list_sorts_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('b426671d-7270-430f-82ff-8f33eec93010')
     def test_list_sorts_desc(self):
         self._test_list_sorts_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('a202fdc8-6616-45df-b6a0-463932de6f94')
     def test_list_pagination(self):
         self._test_list_pagination()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('f4723b8e-8186-4b9a-bf9e-57519967e048')
     def test_list_pagination_with_marker(self):
         self._test_list_pagination_with_marker()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('fcd02a7a-f07e-4d5e-b0ca-b58e48927a9b')
     def test_list_pagination_with_href_links(self):
         self._test_list_pagination_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('3afe7024-77ab-4cfe-824b-0b2bf4217727')
     def test_list_no_pagination_limit_0(self):
         self._test_list_no_pagination_limit_0()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('b8857391-dc44-40cc-89b7-2800402e03ce')
     def test_list_pagination_page_reverse_asc(self):
         self._test_list_pagination_page_reverse_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('4e51e9c9-ceae-4ec0-afd4-147569247699')
     def test_list_pagination_page_reverse_desc(self):
         self._test_list_pagination_page_reverse_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('74293e59-d794-4a93-be09-38667199ef68')
     def test_list_pagination_page_reverse_with_href_links(self):
         self._test_list_pagination_page_reverse_with_href_links()
diff --git a/neutron/tests/tempest/api/test_routers.py b/neutron/tests/tempest/api/test_routers.py
index d0a38aa..90e13ed 100644
--- a/neutron/tests/tempest/api/test_routers.py
+++ b/neutron/tests/tempest/api/test_routers.py
@@ -262,47 +262,38 @@
         for name in cls.resource_names:
             cls.create_router(router_name=name)
 
-    @test.attr(type='smoke')
     @test.idempotent_id('03a69efb-90a7-435b-bb5c-3add3612085a')
     def test_list_sorts_asc(self):
         self._test_list_sorts_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('95913d30-ff41-4b17-9f44-5258c651e78c')
     def test_list_sorts_desc(self):
         self._test_list_sorts_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('7f7d40b1-e165-4817-8dc5-02f8e2f0dff3')
     def test_list_pagination(self):
         self._test_list_pagination()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('a5b83e83-3d98-45bb-a2c7-0ee179ffd42c')
     def test_list_pagination_with_marker(self):
         self._test_list_pagination_with_marker()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('40804af8-c25d-45f8-b8a8-b4c70345215d')
     def test_list_pagination_with_href_links(self):
         self._test_list_pagination_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('77b9676c-d3cb-43af-a0e8-a5b8c6099e70')
     def test_list_pagination_page_reverse_asc(self):
         self._test_list_pagination_page_reverse_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('3133a2c5-1bb9-4fc7-833e-cf9a1d160255')
     def test_list_pagination_page_reverse_desc(self):
         self._test_list_pagination_page_reverse_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('8252e2f0-b3da-4738-8e25-f6f8d878a2da')
     def test_list_pagination_page_reverse_with_href_links(self):
         self._test_list_pagination_page_reverse_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('fb102124-20f8-4cb3-8c81-f16f5e41d192')
     def test_list_no_pagination_limit_0(self):
         self._test_list_no_pagination_limit_0()
diff --git a/neutron/tests/tempest/api/test_subnetpools.py b/neutron/tests/tempest/api/test_subnetpools.py
index 52fe787..5bd222f 100644
--- a/neutron/tests/tempest/api/test_subnetpools.py
+++ b/neutron/tests/tempest/api/test_subnetpools.py
@@ -355,47 +355,38 @@
         for name in cls.resource_names:
             cls._create_subnetpool(name=name)
 
-    @test.attr(type='smoke')
     @test.idempotent_id('6e3f842e-6bfb-49cb-82d3-0026be4e8e04')
     def test_list_sorts_asc(self):
         self._test_list_sorts_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('f336859b-b868-438c-a6fc-2c06374115f2')
     def test_list_sorts_desc(self):
         self._test_list_sorts_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('1291fae7-c196-4372-ad59-ce7988518f7b')
     def test_list_pagination(self):
         self._test_list_pagination()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('ddb20d14-1952-49b4-a17e-231cc2239a52')
     def test_list_pagination_with_marker(self):
         self._test_list_pagination_with_marker()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('b3bd9665-2769-4a43-b50c-31b1add12891')
     def test_list_pagination_with_href_links(self):
         self._test_list_pagination_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('1ec1f325-43b0-406e-96ce-20539e38a61d')
     def test_list_pagination_page_reverse_asc(self):
         self._test_list_pagination_page_reverse_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('f43a293e-4aaa-48f4-aeaf-de63a676357c')
     def test_list_pagination_page_reverse_desc(self):
         self._test_list_pagination_page_reverse_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('73511385-839c-4829-8ac1-b5ad992126c4')
     def test_list_pagination_page_reverse_with_href_links(self):
         self._test_list_pagination_page_reverse_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('82a13efc-c18f-4249-b8ec-cec7cf26fbd6')
     def test_list_no_pagination_limit_0(self):
         self._test_list_no_pagination_limit_0()
diff --git a/neutron/tests/tempest/api/test_subnets.py b/neutron/tests/tempest/api/test_subnets.py
index ba1bd61..a3a2e00 100644
--- a/neutron/tests/tempest/api/test_subnets.py
+++ b/neutron/tests/tempest/api/test_subnets.py
@@ -28,47 +28,38 @@
         for name in cls.resource_names:
             cls.create_subnet(net, name=name)
 
-    @test.attr(type='smoke')
     @test.idempotent_id('d2d61995-5dd5-4b93-bce7-3edefdb79563')
     def test_list_sorts_asc(self):
         self._test_list_sorts_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('c3c6b0af-c4ac-4da0-b568-8d08ae550604')
     def test_list_sorts_desc(self):
         self._test_list_sorts_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('b93063b3-f713-406e-bf93-e5738e09153c')
     def test_list_pagination(self):
         self._test_list_pagination()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('2ddd9aa6-de28-410f-9cbc-ce752893c407')
     def test_list_pagination_with_marker(self):
         self._test_list_pagination_with_marker()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('351183ef-6ed9-4d71-a9f2-a5ac049bd7ea')
     def test_list_pagination_with_href_links(self):
         self._test_list_pagination_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('dfaa20ca-6d84-4f26-962f-2fee4d247cd9')
     def test_list_pagination_page_reverse_asc(self):
         self._test_list_pagination_page_reverse_asc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('40552213-3e12-4d6a-86f3-dda92f3de88c')
     def test_list_pagination_page_reverse_desc(self):
         self._test_list_pagination_page_reverse_desc()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('3cea9053-a731-4480-93ee-19b2c28a9ce4')
     def test_list_pagination_page_reverse_with_href_links(self):
         self._test_list_pagination_page_reverse_with_href_links()
 
-    @test.attr(type='smoke')
     @test.idempotent_id('d851937c-9821-4b46-9d18-43e9077ecac0')
     def test_list_no_pagination_limit_0(self):
         self._test_list_no_pagination_limit_0()
