Replace deprecated test.attr with decorators.attr

Tempest has deprecated decorator 'tempest.test.attr' and
moved the same as stable interface to 'tempest.lib.decorators
.attr' in version 16.1.0.

Let's use the stable interface for attr decorator.
This will help Tempest to remove the deprecated decorator.

Change-Id: If72deb25a1438470442b153a41303ca6c7cbd22b
diff --git a/designate_tempest_plugin/tests/api/v2/test_recordset.py b/designate_tempest_plugin/tests/api/v2/test_recordset.py
index d686d94..2a2e483 100644
--- a/designate_tempest_plugin/tests/api/v2/test_recordset.py
+++ b/designate_tempest_plugin/tests/api/v2/test_recordset.py
@@ -13,7 +13,6 @@
 #    under the License.
 from oslo_log import log as logging
 from tempest import config
-from tempest import test
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
 from tempest.lib.common.utils import data_utils as lib_data_utils
@@ -56,7 +55,7 @@
         cls.client = cls.os.recordset_client
         cls.zone_client = cls.os.zones_client
 
-    @test.attr(type='smoke')
+    @decorators.attr(type='smoke')
     @decorators.idempotent_id('631d74fd-6909-4684-a61b-5c4d2f92c3e7')
     def test_create_recordset(self):
         recordset_data = data_utils.rand_recordset_data(
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones.py b/designate_tempest_plugin/tests/api/v2/test_zones.py
index a2d15d7..326aa48 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones.py
@@ -12,7 +12,6 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 from oslo_log import log as logging
-from tempest import test
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
 from tempest.lib.common.utils import data_utils
@@ -57,7 +56,7 @@
         LOG.info('Ensure the fetched response matches the created zone')
         self.assertExpected(zone, body, self.excluded_keys)
 
-    @test.attr(type='smoke')
+    @decorators.attr(type='smoke')
     @decorators.idempotent_id('a4791906-6cd6-4d27-9f15-32273db8bb3d')
     def test_delete_zone(self):
         LOG.info('Create a zone')
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones_exports.py b/designate_tempest_plugin/tests/api/v2/test_zones_exports.py
index 9ee0729..de5b5fe 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones_exports.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones_exports.py
@@ -13,7 +13,6 @@
 #    under the License.
 
 from oslo_log import log as logging
-from tempest import test
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
 
@@ -47,7 +46,7 @@
         LOG.info('Ensure we respond with PENDING')
         self.assertEqual('PENDING', zone_export['status'])
 
-    @test.attr(type='smoke')
+    @decorators.attr(type='smoke')
     @decorators.idempotent_id('2d29a2a9-1941-4b7e-9d8a-ad6c2140ea68')
     def test_show_zone_export(self):
         LOG.info('Create a zone')
diff --git a/designate_tempest_plugin/tests/api/v2/test_zones_imports.py b/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
index 643691a..d1ae182 100644
--- a/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
+++ b/designate_tempest_plugin/tests/api/v2/test_zones_imports.py
@@ -13,7 +13,6 @@
 #    under the License.
 
 from oslo_log import log as logging
-from tempest import test
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
 
@@ -42,7 +41,7 @@
         LOG.info('Ensure we respond with PENDING')
         self.assertEqual('PENDING', zone_import['status'])
 
-    @test.attr(type='smoke')
+    @decorators.attr(type='smoke')
     @decorators.idempotent_id('c8909558-0dc6-478a-9e91-eb97b52e59e0')
     def test_show_zone_import(self):
         LOG.info('Create a zone import')
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones.py b/designate_tempest_plugin/tests/scenario/v2/test_zones.py
index 2839915..94665a8 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones.py
@@ -12,7 +12,6 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 from oslo_log import log as logging
-from tempest import test
 from tempest import config
 from tempest.lib import decorators
 from tempest.lib import exceptions as lib_exc
@@ -33,8 +32,8 @@
         cls.client = cls.os.zones_client
         cls.query_client = cls.os.query_client
 
-    @test.attr(type='smoke')
-    @test.attr(type='slow')
+    @decorators.attr(type='smoke')
+    @decorators.attr(type='slow')
     @decorators.idempotent_id('d0648f53-4114-45bd-8792-462a82f69d32')
     def test_create_and_delete_zone(self):
         LOG.info('Create a zone')
@@ -65,7 +64,7 @@
 
         waiters.wait_for_zone_404(self.client, zone['id'])
 
-    @test.attr(type='slow')
+    @decorators.attr(type='slow')
     @decorators.idempotent_id('c9838adf-14dc-4097-9130-e5cea3727abb')
     def test_delete_zone_pending_create(self):
         LOG.info('Create a zone')
@@ -87,7 +86,7 @@
 
         waiters.wait_for_zone_404(self.client, zone['id'])
 
-    @test.attr(type='slow')
+    @decorators.attr(type='slow')
     @decorators.skip_because(bug='1623576')
     @decorators.idempotent_id('ad8d1f5b-da66-46a0-bbee-14dc84a5d791')
     @testtools.skipUnless(
@@ -101,7 +100,7 @@
         waiters.wait_for_zone_status(self.client, zone['id'], "ACTIVE")
         waiters.wait_for_query(self.query_client, zone['name'], "SOA")
 
-    @test.attr(type='slow')
+    @decorators.attr(type='slow')
     @decorators.skip_because(bug='1623576')
     @decorators.idempotent_id('d13d3095-c78f-4aae-8fe3-a74ccc335c84')
     @testtools.skipUnless(
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py b/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py
index be718ae..b8002de 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones_export.py
@@ -13,7 +13,6 @@
 # under the License.
 
 from oslo_log import log as logging
-from tempest import test
 from tempest.lib import decorators
 
 from designate_tempest_plugin.common import waiters
@@ -32,7 +31,7 @@
         cls.zones_client = cls.os.zones_client
         cls.client = cls.os.zone_exports_client
 
-    @test.attr(type='slow')
+    @decorators.attr(type='slow')
     @decorators.idempotent_id('0484c3c4-df57-458e-a6e5-6eb63e0475e0')
     def test_create_zone_export_and_show_exported_zonefile(self):
         LOG.info('Create a zone to be exported')
diff --git a/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py b/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py
index a6ef21e..4406059 100644
--- a/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py
+++ b/designate_tempest_plugin/tests/scenario/v2/test_zones_import.py
@@ -12,7 +12,6 @@
 # License for the specific language governing permissions and limitations
 # under the License.
 from oslo_log import log as logging
-from tempest import test
 from tempest.lib import decorators
 
 from designate_tempest_plugin.common import waiters
@@ -31,7 +30,7 @@
         cls.client = cls.os.zone_imports_client
         cls.zones_client = cls.os.zones_client
 
-    @test.attr(type='slow')
+    @decorators.attr(type='slow')
     @decorators.idempotent_id('679f38d0-2f2f-49c5-934e-8fe0c452f56e')
     def test_create_zone_import_and_wait_for_zone(self):
         name = dns_data_utils.rand_zone_name('testimport')
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 60b131b..b5770f2 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -168,7 +168,7 @@
 
            cls.client = cls.os.zones_client
 
-       @test.attr(type='smoke')
+       @decorators.attr(type='smoke')
        @decorators.idempotent_id('fbabd6af-238a-462e-b923-de4d736b90a7')
        def test_create_zone(self):
            LOG.info('Create a zone')
@@ -244,7 +244,7 @@
            pass
 
 
-@test.attr
+@decorators.attr
 ~~~~~~~~~~
 
 The `attr` decorator is used to set test attributes, this is most commonly used
@@ -259,11 +259,11 @@
 .. code-block:: python
 
    class ZonesTest(BaseZonesTest):
-       @test.attr(type='smoke')
+       @decorators.attr(type='smoke')
        def test_create_zone(self):
            pass
 
-       @test.attr(type='slow')
+       @decorators.attr(type='slow')
        def test_something_else(self):
            pass