Abort wait for 404 if the status changes to ERROR

This patch enhances the NotFound/404 waiter to not continue to wait
for a 404 if the zone goes into status ERROR.

Change-Id: I27d5d654b2b2b2b4cd8b8e85fdb1d7b1e4162516
diff --git a/designate_tempest_plugin/common/waiters.py b/designate_tempest_plugin/common/waiters.py
index 2b7a3b6..5a35255 100644
--- a/designate_tempest_plugin/common/waiters.py
+++ b/designate_tempest_plugin/common/waiters.py
@@ -18,6 +18,9 @@
 from tempest.lib.common.utils import test_utils
 from tempest.lib import exceptions as lib_exc
 
+from designate_tempest_plugin.common import constants as const
+from designate_tempest_plugin.common import exceptions
+
 LOG = logging.getLogger(__name__)
 
 
@@ -35,6 +38,10 @@
             LOG.info('Zone %s is 404ing', zone_id)
             return
 
+        if zone['status'] == const.ERROR:
+            raise exceptions.InvalidStatusError('Zone', zone_id,
+                                                zone['status'])
+
         if int(time.time()) - start >= client.build_timeout:
             message = ('Zone %(zone_id)s failed to 404 within the required '
                        'time (%(timeout)s s). Current status: '