Merge changes I1f986a06,I8e5f8c51 into mcp/epoxy

* changes:
  Use dns.build_timeout for DNS client
  Increase the default DNS timeout to 60 seconds to prevent sporadic TimeoutException errors.
diff --git a/neutron_tempest_plugin/api/test_subnetpools.py b/neutron_tempest_plugin/api/test_subnetpools.py
index eaaee33..a9e2303 100644
--- a/neutron_tempest_plugin/api/test_subnetpools.py
+++ b/neutron_tempest_plugin/api/test_subnetpools.py
@@ -28,6 +28,13 @@
 class SubnetPoolsTestBase(base.BaseAdminNetworkTest):
 
     @classmethod
+    def skip_checks(cls):
+        super(SubnetPoolsTestBase, cls).skip_checks()
+        if not utils.is_extension_enabled('default-subnetpools', 'network'):
+            msg = "default-subnetpools extension not enabled."
+            raise cls.skipException(msg)
+
+    @classmethod
     def resource_setup(cls):
         super(SubnetPoolsTestBase, cls).resource_setup()
         min_prefixlen = '29'
@@ -328,7 +335,6 @@
         self.assertIsNone(body['subnetpool']['address_scope_id'])
 
     @decorators.idempotent_id('4c6963c2-f54c-4347-b288-75d18421c4c4')
-    @utils.requires_ext(extension='default-subnetpools', service='network')
     def test_tenant_create_non_default_subnetpool(self):
         """Test creates a subnetpool, the "is_default" attribute is False."""
         created_subnetpool = self._create_subnetpool()
diff --git a/neutron_tempest_plugin/api/test_subnetpools_negative.py b/neutron_tempest_plugin/api/test_subnetpools_negative.py
index 934d3cd..a85014c 100644
--- a/neutron_tempest_plugin/api/test_subnetpools_negative.py
+++ b/neutron_tempest_plugin/api/test_subnetpools_negative.py
@@ -62,7 +62,6 @@
 
     @decorators.attr(type='negative')
     @decorators.idempotent_id('6ae09d8f-95be-40ed-b1cf-8b850d45bab5')
-    @utils.requires_ext(extension='default-subnetpools', service='network')
     def test_tenant_create_default_subnetpool(self):
         # 'default' subnetpool can only be created by admin.
         self.assertRaises(lib_exc.Forbidden, self._create_subnetpool,
diff --git a/neutron_tempest_plugin/api/test_trunk.py b/neutron_tempest_plugin/api/test_trunk.py
index 1006617..6b69e43 100644
--- a/neutron_tempest_plugin/api/test_trunk.py
+++ b/neutron_tempest_plugin/api/test_trunk.py
@@ -250,6 +250,8 @@
         if not all(cls.is_type_driver_enabled(t) for t in ['vlan', 'vxlan']):
             msg = "Either vxlan or vlan type driver not enabled."
             raise cls.skipException(msg)
+        if not CONF.neutron_plugin_options.provider_vlans:
+            raise cls.skipException("No provider VLAN networks available")
 
     def setUp(self):
         super(TrunkTestMtusJSONBase, self).setUp()
diff --git a/neutron_tempest_plugin/scenario/test_security_groups.py b/neutron_tempest_plugin/scenario/test_security_groups.py
index 21453a0..9ece6c8 100644
--- a/neutron_tempest_plugin/scenario/test_security_groups.py
+++ b/neutron_tempest_plugin/scenario/test_security_groups.py
@@ -555,6 +555,9 @@
             # configure sec groups to support SSH connectivity
             self.create_loginable_secgroup_rule(
                 secgroup_id=secgroups[-1]['id'])
+            # add the initial metadata access rule if VMs are not booted yet
+            self.create_ingress_metadata_secgroup_rule(
+                secgroup_id=secgroups[-1]['id'])
 
         # Configure security groups, first two servers as remotes
         for i, server in enumerate(servers):
diff --git a/neutron_tempest_plugin/vpnaas/scenario/test_vpnaas.py b/neutron_tempest_plugin/vpnaas/scenario/test_vpnaas.py
index 78b9323..942e7f0 100644
--- a/neutron_tempest_plugin/vpnaas/scenario/test_vpnaas.py
+++ b/neutron_tempest_plugin/vpnaas/scenario/test_vpnaas.py
@@ -116,10 +116,10 @@
             cls.extra_subnet_attributes['ipv6_address_mode'] = 'slaac'
             cls.extra_subnet_attributes['ipv6_ra_mode'] = 'slaac'
 
-        left_v4_cidr = netaddr.IPNetwork('10.20.0.0/24')
+        left_v4_cidr = netaddr.IPNetwork('10.220.0.0/24')
         left_v6_cidr = netaddr.IPNetwork('2001:db8:0:2::/64')
         cls.left_cidr = left_v6_cidr if cls.inner_ipv6 else left_v4_cidr
-        right_v4_cidr = netaddr.IPNetwork('10.10.0.0/24')
+        right_v4_cidr = netaddr.IPNetwork('10.210.0.0/24')
         right_v6_cidr = netaddr.IPNetwork('2001:db8:0:1::/64')
         cls.right_cidr = right_v6_cidr if cls.inner_ipv6 else right_v4_cidr