Merge "[customize_image] Override infra mirror only if set"
diff --git a/neutron_tempest_plugin/api/admin/test_networks.py b/neutron_tempest_plugin/api/admin/test_networks.py
index 17a8990..a67afa3 100644
--- a/neutron_tempest_plugin/api/admin/test_networks.py
+++ b/neutron_tempest_plugin/api/admin/test_networks.py
@@ -86,3 +86,55 @@
network = self.admin_client.show_network(
network['id'])['network']
self.assertEqual('vxlan', network['provider:network_type'])
+
+ @decorators.idempotent_id('bbb9a2be-c9a7-4693-ac8e-d51b5371b68d')
+ def test_list_network_filter_provider_attributes(self):
+ if not config.CONF.neutron_plugin_options.provider_vlans:
+ raise self.skipException("No provider VLAN networks available")
+ project_id = self.client.project_id
+ physnet_name = config.CONF.neutron_plugin_options.provider_vlans[0]
+ # Check project networks pre-created.
+ body = self.client.list_networks(project_id=project_id)['networks']
+ num_networks_precreated = len(body)
+
+ networks = []
+ num_networks = 5
+ for _ in range(num_networks):
+ networks.append(self.create_network(
+ provider_network_type='vlan',
+ provider_physical_network=physnet_name,
+ project_id=project_id))
+
+ # Check new project networks created.
+ body = self.client.list_networks(project_id=project_id)['networks']
+ self.assertEqual(num_networks + num_networks_precreated, len(body))
+
+ vlan_ids = [net['provider:segmentation_id'] for net in networks]
+
+ # List networks with limit (from 1 to num_networks).
+ # Each filter (except from the 'provider:segmentation_id'), uses the
+ # value directly and in a list.
+ for idx in range(1, num_networks + 1):
+ # Filter by 'provider:network_type'
+ kwargs = {'provider:network_type': 'vlan',
+ 'project_id': project_id, 'limit': idx}
+ body = self.client.list_networks(**kwargs)['networks']
+ self.assertEqual(idx, len(body))
+ kwargs['provider:network_type'] = ['vlan']
+ body = self.client.list_networks(**kwargs)['networks']
+ self.assertEqual(idx, len(body))
+
+ # Filter by 'provider:physical_network'.
+ kwargs = {'provider:physical_network': physnet_name,
+ 'project_id': project_id, 'limit': idx}
+ body = self.client.list_networks(**kwargs)['networks']
+ self.assertEqual(idx, len(body))
+ kwargs['provider:physical_network'] = [physnet_name]
+ body = self.client.list_networks(**kwargs)['networks']
+ self.assertEqual(idx, len(body))
+
+ # Filter by 'provider:segmentation_id'
+ kwargs = {'provider:segmentation_id': vlan_ids,
+ 'project_id': project_id, 'limit': idx}
+ body = self.client.list_networks(**kwargs)['networks']
+ self.assertEqual(idx, len(body))
diff --git a/zuul.d/2023_1_jobs.yaml b/zuul.d/2023_1_jobs.yaml
index d69054c..9c8439a 100644
--- a/zuul.d/2023_1_jobs.yaml
+++ b/zuul.d/2023_1_jobs.yaml
@@ -2,7 +2,11 @@
name: neutron-tempest-plugin-openvswitch-2023-1
parent: neutron-tempest-plugin-openvswitch
nodeset: neutron-nested-virt-ubuntu-jammy
- override-checkout: stable/2023.1
+ required-projects: &required-projects-2023-1
+ - openstack/neutron
+ - name: openstack/neutron-tempest-plugin
+ override-checkout: 2023.1-last
+ - openstack/tempest
vars:
network_api_extensions_openvswitch:
- dhcp_agent_scheduler
@@ -107,7 +111,7 @@
name: neutron-tempest-plugin-openvswitch-iptables_hybrid-2023-1
parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
nodeset: neutron-nested-virt-ubuntu-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
network_api_extensions_common: *api_extensions
network_api_extensions_openvswitch:
@@ -146,7 +150,7 @@
name: neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults-2023-1
parent: neutron-tempest-plugin-openvswitch-2023-1
nodeset: neutron-nested-virt-ubuntu-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
# Enabeling the scope and new defaults for services.
@@ -164,7 +168,7 @@
name: neutron-tempest-plugin-linuxbridge-2023-1
parent: neutron-tempest-plugin-linuxbridge
nodeset: neutron-nested-virt-ubuntu-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
network_api_extensions_common: *api_extensions
network_api_extensions_linuxbridge:
@@ -207,7 +211,7 @@
name: neutron-tempest-plugin-ovn-2023-1
parent: neutron-tempest-plugin-ovn
nodeset: neutron-nested-virt-ubuntu-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
network_api_extensions_ovn:
- vlan-transparent
@@ -241,7 +245,7 @@
name: neutron-tempest-plugin-dvr-multinode-scenario-2023-1
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
network_api_extensions_common: *api_extensions
network_api_extensions_dvr:
@@ -255,7 +259,7 @@
name: neutron-tempest-plugin-designate-scenario-2023-1
parent: neutron-tempest-plugin-designate-scenario
nodeset: neutron-nested-virt-ubuntu-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
network_api_extensions_common: *api_extensions
devstack_localrc:
@@ -265,7 +269,7 @@
name: neutron-tempest-plugin-sfc-2023-1
parent: neutron-tempest-plugin-sfc
nodeset: openstack-single-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
@@ -274,7 +278,7 @@
name: neutron-tempest-plugin-bgpvpn-bagpipe-2023-1
parent: neutron-tempest-plugin-bgpvpn-bagpipe
nodeset: openstack-single-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
@@ -283,7 +287,7 @@
name: neutron-tempest-plugin-dynamic-routing-2023-1
parent: neutron-tempest-plugin-dynamic-routing
nodeset: openstack-single-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
@@ -298,7 +302,7 @@
name: neutron-tempest-plugin-fwaas-2023-1
parent: neutron-tempest-plugin-fwaas-openvswitch
nodeset: openstack-single-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
@@ -307,7 +311,7 @@
name: neutron-tempest-plugin-vpnaas-2023-1
parent: neutron-tempest-plugin-vpnaas
nodeset: openstack-single-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
@@ -316,7 +320,7 @@
name: neutron-tempest-plugin-tap-as-a-service-2023-1
parent: neutron-tempest-plugin-tap-as-a-service
nodeset: openstack-single-node-jammy
- override-checkout: stable/2023.1
+ required-projects: *required-projects-2023-1
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false