Add ability to run runtest on cookiecutter

Change-Id: I59da8596cad66df3a4c903330c44f55ce9f2711d
diff --git a/_modules/runtest/tempest_sections/heat_plugin.py b/_modules/runtest/tempest_sections/heat_plugin.py
index 7379b9a..da680cd 100644
--- a/_modules/runtest/tempest_sections/heat_plugin.py
+++ b/_modules/runtest/tempest_sections/heat_plugin.py
@@ -141,11 +141,11 @@
     @property
     def floating_network_name(self):
         c = conditions.BaseRule('neutron.client.enabled', 'eq', True)
+        networks_legacy = self.get_item_when_condition_match(
+            'neutron.client.server.admin_identity.network', c) or {}
         networks = self.get_item_when_condition_match(
-            'neutron.client.server.admin_identity.network', c) or self.get_item_when_condition_match(
-            'neutron.client.resources.v2.admin_identity.network', c)
-        if not networks:
-            return
+            'neutron.client.resources.v2.admin_identity.network', c) or {}
+        networks.update(networks_legacy)
         for network_name, network in networks.items():
             if network.get('router_external') is True:
                 return network_name
diff --git a/_modules/runtest/tempest_sections/network.py b/_modules/runtest/tempest_sections/network.py
index ff89744..c1baa6a 100644
--- a/_modules/runtest/tempest_sections/network.py
+++ b/_modules/runtest/tempest_sections/network.py
@@ -54,11 +54,11 @@
     @property
     def floating_network_name(self):
         c = conditions.BaseRule('neutron.client.enabled', 'eq', True)
+        networks_legacy = self.get_item_when_condition_match(
+            'neutron.client.server.admin_identity.network', c) or {}
         networks = self.get_item_when_condition_match(
-            'neutron.client.server.admin_identity.network', c) or self.get_item_when_condition_match(
-            'neutron.client.resources.v2.admin_identity.network', c)
-        if not networks:
-            return
+            'neutron.client.resources.v2.admin_identity.network', c) or {}
+        networks.update(networks_legacy)
         for network_name, network in networks.items():
             if network.get('router_external') is True:
                 return network_name
diff --git a/metadata/service/tempest/init.yml b/metadata/service/tempest/init.yml
index 5f38c3f..bc7b690 100644
--- a/metadata/service/tempest/init.yml
+++ b/metadata/service/tempest/init.yml
@@ -49,6 +49,23 @@
             api_version: ''
             user_domain_name: 'Default'
             project_domain_name: 'Default'
+      os_client_config:
+        enabled: true
+        cfgs:
+          root:
+            content:
+              clouds:
+                admin_identity:
+                  region_name: ${_param:openstack_region}
+                  identity_api_version: '3'
+                  interface: 'internal'
+                  auth:
+                    username: 'admin'
+                    password: ${_param:keystone_admin_password}
+                    user_domain_name: 'Default'
+                    project_name: 'admin'
+                    project_domain_name: 'Default'
+                    auth_url: ${_param:keystone_service_protocol}://${_param:keystone_service_host}:5000
   runtest:
     enabled: true
     openstack_version: stable/${_param:openstack_version}
diff --git a/metadata/service/tempest/neutron.yml b/metadata/service/tempest/neutron.yml
index a85ab4e..6d0a05f 100644
--- a/metadata/service/tempest/neutron.yml
+++ b/metadata/service/tempest/neutron.yml
@@ -1,6 +1,7 @@
 parameters:
   neutron:
     client:
+      enabled: true
       server:
         admin_identity:
           router: