Always create router interface for ipv6 metadata test
Currently it was not created when firewall_driver='ovn' and
causing random issues with tests in some environments.
We need a router with subnet attached when using 'slaac'
as 'ra' and 'address' mode[1].
Also enable debug for bash script and encode
interface correctly[2].
[1] https://docs.openstack.org/neutron/latest/admin/config-ipv6.html#using-slaac-for-addressing
[2] Please URL encode % as %25, see RFC 6874
Related-Issue: #OSPCIX-565
Change-Id: Iaf44b791c575d0a0c93578ccab0c7f4dd40005b4
diff --git a/neutron_tempest_plugin/scenario/test_metadata.py b/neutron_tempest_plugin/scenario/test_metadata.py
index 26fbab6..34b9b88 100644
--- a/neutron_tempest_plugin/scenario/test_metadata.py
+++ b/neutron_tempest_plugin/scenario/test_metadata.py
@@ -110,10 +110,10 @@
**params)['server']
def _get_metadata_query_script(self):
- sheebang_line = '\n#!/bin/bash'
+ sheebang_line = '\n#!/bin/bash -x'
curl_cmd = '\ncurl http://[%(address)s' % {'address':
nlib_const.METADATA_V6_IP}
- ip_cmd = ("%$(ip -6 -br address show scope link up | head -1 | "
+ ip_cmd = ("%25$(ip -6 -br address show scope link up | head -1 | "
"cut -d ' ' -f1)]/openstack/")
echo_cmd = '\necho %s' % QUERY_MSG
script = '%s%s%s%s' % (sheebang_line, curl_cmd, ip_cmd, echo_cmd)
@@ -198,8 +198,7 @@
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'])
+ 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()