diff --git a/_modules/runtest/tempest_sections/base_section.py b/_modules/runtest/tempest_sections/base_section.py
index b2c12ca..cf92b1c 100644
--- a/_modules/runtest/tempest_sections/base_section.py
+++ b/_modules/runtest/tempest_sections/base_section.py
@@ -56,7 +56,9 @@
     def authenticated_openstack_module_call(self, target, module, *args, **kwargs):
         """Calls specified openstack module from admin keystone user.
         """
-        if 'profile' not in kwargs:
+        credentials = ['profile', 'cloud_name']
+
+        if all([x not in kwargs for x in credentials]):
             auth_profile = {}
             ks = conditions.BaseRule(field='keystone.server.enabled', op='eq', val=True)
             auth_profile['connection_password'] = self.get_item_when_condition_match(
diff --git a/_modules/runtest/tempest_sections/dns.py b/_modules/runtest/tempest_sections/dns.py
index 9b18b6a..998f021 100644
--- a/_modules/runtest/tempest_sections/dns.py
+++ b/_modules/runtest/tempest_sections/dns.py
@@ -1,5 +1,6 @@
 
 import base_section
+from runtest import conditions
 
 class Dns(base_section.BaseSection):
 
@@ -12,6 +13,7 @@
         'min_ttl',
         'nameservers',
         'query_timeout',
+        'zone_id',
     ]
 
 
@@ -42,3 +44,25 @@
     @property
     def query_timeout(self):
         pass
+
+    @property
+    def zone_id(self):
+        ds = conditions.BaseRule(field='designate.server.enabled', op='eq',val=True)
+        if len(self.get_nodes_where_condition_match(ds)) == 0:
+            return
+
+        c = conditions.BaseRule(field='keystone.client.enabled', op='eq',
+                                val=True)
+        nodes = self.get_nodes_where_condition_match(c)
+        zone_name = self.runtest_opts.get('convert_to_uuid', {}).get(
+            'dns', {}).get('zone_id')
+
+        keystone_profile_admin = self.runtest_opts.get('keystone_profile_admin', {})
+        res = self.authenticated_openstack_module_call(
+             nodes[0], 'designatev2.zone_list', cloud_name=keystone_profile_admin)[nodes[0]]
+        zones = [n['id'] for n in res['zones'] if n['name'] == zone_name]
+
+        if len(zones) != 1:
+             raise Exception("Error getting zones: {}".format(images))
+
+        return zones[0]
diff --git a/_modules/runtest/tempest_sections/dns_feature_enabled.py b/_modules/runtest/tempest_sections/dns_feature_enabled.py
index 89b83f4..be3560b 100644
--- a/_modules/runtest/tempest_sections/dns_feature_enabled.py
+++ b/_modules/runtest/tempest_sections/dns_feature_enabled.py
@@ -59,6 +59,8 @@
         'api_v2_quotas_verify_project',
         'api_v2_root_recordsets',
         'bug_1573141_fixed',
+        'notification_nova_fixed',
+        'notification_neutron_floatingip',
     ]
 
     @property
@@ -113,3 +115,12 @@
         if verify_project is None:
             verify_project = False
         return verify_project
+
+
+    @property
+    def notification_nova_fixed(self):
+        return True
+
+    @property
+    def notification_neutron_floatingip(self):
+        return True
diff --git a/metadata/service/tempest/designate.yml b/metadata/service/tempest/designate.yml
index 1f2c733..8541f3c 100644
--- a/metadata/service/tempest/designate.yml
+++ b/metadata/service/tempest/designate.yml
@@ -15,4 +15,7 @@
               email: ${_param:runtest_tempest_designate_zone_email}
   runtest:
     tempest:
+      convert_to_uuid:
+        dns:
+          zone_id: ${_param:runtest_tempest_designate_zone_name}
       designate_zone_name: ${_param:runtest_tempest_designate_zone_name}
