Merge "Log console output on con.test_connection timeout"
diff --git a/neutron_tempest_plugin/api/admin/test_ports.py b/neutron_tempest_plugin/api/admin/test_ports.py
index e26e122..88c35c6 100644
--- a/neutron_tempest_plugin/api/admin/test_ports.py
+++ b/neutron_tempest_plugin/api/admin/test_ports.py
@@ -65,6 +65,42 @@
self.assertNotEqual(current_mac, new_mac)
self.assertTrue(netaddr.valid_mac(new_mac))
+ @decorators.idempotent_id('4d75cc60-99d0-4949-b3ce-5826b81aa0a9')
+ @utils.requires_ext(extension="port-trusted-vif",
+ service="network")
+ def test_port_create_with_trusted_attr_set(self):
+ port = self.admin_client.create_port(
+ network_id=self.network['id'], trusted=True)['port']
+ self.ports.append(port)
+ self.assertTrue(port['trusted'])
+ self.assertTrue(port['binding:profile']['trusted'])
+
+ port = self.admin_client.create_port(
+ network_id=self.network['id'], trusted=False)['port']
+ self.ports.append(port)
+ self.assertFalse(port['trusted'])
+ self.assertFalse(port['binding:profile']['trusted'])
+
+ @decorators.idempotent_id('26c15e2a-55b2-410f-8ed3-84db9406ff3f')
+ @utils.requires_ext(extension="port-trusted-vif",
+ service="network")
+ def test_port_set_trusted_attr(self):
+ port = self.admin_client.create_port(
+ network_id=self.network['id'])['port']
+ self.ports.append(port)
+ self.assertIsNone(port['trusted'])
+ self.assertNotIn('trusted', port['binding:profile'])
+
+ updated_port = self.admin_client.update_port(
+ port['id'], trusted=True)['port']
+ self.assertTrue(updated_port['trusted'])
+ self.assertTrue(updated_port['binding:profile']['trusted'])
+
+ updated_port = self.admin_client.update_port(
+ port['id'], trusted=False)['port']
+ self.assertFalse(updated_port['trusted'])
+ self.assertFalse(updated_port['binding:profile']['trusted'])
+
class PortTestCasesResourceRequest(base.BaseAdminNetworkTest):
diff --git a/neutron_tempest_plugin/scenario/base.py b/neutron_tempest_plugin/scenario/base.py
index 6149b06..70cb2dc 100644
--- a/neutron_tempest_plugin/scenario/base.py
+++ b/neutron_tempest_plugin/scenario/base.py
@@ -337,7 +337,7 @@
if create_fip:
self.fip = self.create_floatingip(port=self.port)
- def check_connectivity(self, host, ssh_user=None, ssh_key=None,
+ def check_connectivity(self, host=None, ssh_user=None, ssh_key=None,
servers=None, ssh_timeout=None, ssh_client=None):
# Either ssh_client or ssh_user+ssh_key is mandatory.
if ssh_client is None:
diff --git a/neutron_tempest_plugin/scenario/test_metadata.py b/neutron_tempest_plugin/scenario/test_metadata.py
index 239f6bc..26fbab6 100644
--- a/neutron_tempest_plugin/scenario/test_metadata.py
+++ b/neutron_tempest_plugin/scenario/test_metadata.py
@@ -169,8 +169,7 @@
self.network, use_advanced_image=use_advanced_image)
self.wait_for_server_active(server=vm.server)
self.wait_for_guest_os_ready(vm.server)
- self.check_connectivity(host=vm.floating_ip['floating_ip_address'],
- ssh_client=vm.ssh_client)
+ self.check_connectivity(ssh_client=vm.ssh_client)
interface = self._get_primary_interface(vm.ssh_client)
try:
@@ -193,15 +192,14 @@
CONF.neutron_plugin_options.advanced_image_ref or
CONF.neutron_plugin_options.default_image_is_advanced,
'Advanced image is required to run this test.')
- @testtools.skipUnless(
- CONF.neutron_plugin_options.firewall_driver == 'ovn',
- "OVN driver is required to run this test - "
- " while LP#2076916 is fixed")
@decorators.idempotent_id('7542892a-d132-471c-addb-172dcf888ff6')
def test_metadata_ipv6_only_network(self):
ipv6_network = self.create_network()
- self.create_subnet(network=ipv6_network, ip_version=6,
- ipv6_ra_mode="slaac", ipv6_address_mode="slaac")
+ ipv6_subnet = self.create_subnet(network=ipv6_network, ip_version=6,
+ ipv6_ra_mode="slaac",
+ ipv6_address_mode="slaac")
+ if not CONF.neutron_plugin_options.firewall_driver == 'ovn':
+ self.create_router_interface(self.router['id'], ipv6_subnet['id'])
use_advanced_image = (
not CONF.neutron_plugin_options.default_image_is_advanced)
params = self._get_metadata_query_script()
diff --git a/neutron_tempest_plugin/scenario/test_trunk.py b/neutron_tempest_plugin/scenario/test_trunk.py
index 2ba8f13..47b8415 100644
--- a/neutron_tempest_plugin/scenario/test_trunk.py
+++ b/neutron_tempest_plugin/scenario/test_trunk.py
@@ -193,7 +193,6 @@
self._wait_for_port(port=vm.port)
self._wait_for_port(port=vm.subport)
self.check_connectivity(
- host=vm.floating_ip['floating_ip_address'],
ssh_client=vm.ssh_client,
servers=[vm.server])
diff --git a/neutron_tempest_plugin/scenario/test_vlan_transparency.py b/neutron_tempest_plugin/scenario/test_vlan_transparency.py
index d9a529c..11f12e9 100644
--- a/neutron_tempest_plugin/scenario/test_vlan_transparency.py
+++ b/neutron_tempest_plugin/scenario/test_vlan_transparency.py
@@ -138,9 +138,7 @@
ssh_clients.append(
self._create_ssh_client(floating_ip=floating_ips[i]))
- self.check_connectivity(
- host=floating_ips[i]['floating_ip_address'],
- ssh_client=ssh_clients[i])
+ self.check_connectivity(ssh_client=ssh_clients[i])
self._configure_vlan_transparent(port=self.vm_ports[-1],
ssh_client=ssh_clients[i],
vlan_tag=vlan_tag,
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index 3695565..fc2f522 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -98,6 +98,7 @@
- port-resource-request
- port-resource-request-groups
- port-mac-address-regenerate
+ - port-trusted-vif
- port-security
- port-security-groups-filtering
- project-id
@@ -148,6 +149,7 @@
neutron-tag-ports-during-bulk-creation: true
neutron-ndp-proxy: true
neutron-subnet-external-network: true
+ neutron-port-trusted-vif: true
br-ex-tcpdump: true
br-int-flows: true
# Cinder services