Fix deleting zones in recordset validation tests
these tests create zones as part of the test but do clean them up
afterward slowly. This leads to these and following tests in the thread
to fail with over quota when default zone quota is sufficiently low.
Related-prod: PRODX-295
Change-Id: Iab9a4308bd8e936be735ce85fdf0a419a1b68bee
(cherry picked from commit 2ffcf640bc7f205ff901f55ba0cede27b18e1cc1)
(cherry picked from commit 75fc0e50d61a76f9c6cfe919bc8f492790c91daf)
diff --git a/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py b/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
index 36c68ff..551719c 100644
--- a/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
+++ b/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
@@ -14,6 +14,8 @@
limitations under the License.
"""
import ddt
+from tempest import config
+from tempest.lib.common.utils import test_utils as utils
from tempest.lib import exceptions
from tempest.lib import decorators
@@ -33,6 +35,8 @@
'TXT',
]
+CONF = config.CONF
+
@ddt.ddt
class RecordsetValidationTest(base.BaseDnsV2Test):
@@ -41,6 +45,15 @@
super(RecordsetValidationTest, self).setUp()
self._zone = None
+ def tearDown(self):
+ if self._zone:
+ self.zones_client.delete_zone(self._zone['id'])
+ utils.call_until_true(self._check_zone_deleted,
+ CONF.dns.build_timeout,
+ CONF.dns.build_interval,
+ self._zone['id'])
+ super(RecordsetValidationTest, self).tearDown()
+
@classmethod
def setup_credentials(cls):
# Do not create network resources for these test.
@@ -71,6 +84,10 @@
return body
+ def _check_zone_deleted(self, zone_id):
+ return utils.call_and_ignore_notfound_exc(self.zones_client.show_zone,
+ zone_id) is None
+
@decorators.idempotent_id('c5ef87e2-cb79-4758-b968-18eef2c251df')
@ddt.data(*RECORDSETS_DATASET)
def test_create_invalid(self, rtype):