Add extension "subnet-external-network"

Added extension "subnet-external-network" to:
* neutron-tempest-plugin-base
* neutron-tempest-plugin-openvswitch
* neutron-tempest-plugin-openvswitch-iptables_hybrid

The ``SubnetsSearchCriteriaTest.test_list_validation_filters`` test
case now filters the subnets by 'shared' and 'router:external' fields,
same as the network test case. It should behave the same with this
new extension.

Related-Bug: #2051831
Change-Id: I13144e3d722c06c918cd47860f378bf4bdaa0bf7
diff --git a/neutron_tempest_plugin/api/test_subnets.py b/neutron_tempest_plugin/api/test_subnets.py
index 3b075d5..f7a38a4 100644
--- a/neutron_tempest_plugin/api/test_subnets.py
+++ b/neutron_tempest_plugin/api/test_subnets.py
@@ -11,6 +11,7 @@
 #    under the License.
 
 import netaddr
+from tempest.common import utils as tutils
 from tempest.lib import decorators
 
 from neutron_tempest_plugin.api import base
@@ -24,6 +25,8 @@
 
     @classmethod
     def resource_setup(cls):
+        if tutils.is_extension_enabled('subnet-external-network', 'network'):
+            cls.list_kwargs['router:external'] = False
         super(SubnetsSearchCriteriaTest, cls).resource_setup()
         net = cls.create_network(network_name='subnet-search-test-net')
         for name in cls.resource_names:
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index 6b41f87..adfa5b0 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -147,6 +147,7 @@
         neutron-conntrack-helper: true
         neutron-tag-ports-during-bulk-creation: true
         neutron-ndp-proxy: true
+        neutron-subnet-external-network: true
         br-ex-tcpdump: true
         br-int-flows: true
         # Cinder services
@@ -236,6 +237,7 @@
         q-ovn-metadata-agent: false
         # Neutron services
         neutron-local-ip-static: true
+        neutron-subnet-external-network: true
         q-agt: true
         q-dhcp: true
         q-l3: true
@@ -331,6 +333,7 @@
         q-ovn-metadata-agent: false
         # Neutron services
         neutron-local-ip: true
+        neutron-subnet-external-network: true
         q-agt: true
         q-dhcp: true
         q-l3: true