[openstack-dev] [neutron][tempest] No metadata route in test_dualnet* family

Evgeny Antyshev eantyshev at virtuozzo.com
Thu Feb 11 09:25:05 UTC 2016


Hello!
I need an advice from someone familiar with how Neutron configures 
Metadata routes for created subnets.

We run tempest in such an environment that all ssh keys, personality 
files, etc. go through metadata service.
Which requires metadata route to 169.254.169.254 being provided by DHCP.

We faced rather complicated problem in scenario/test_network_v6.py:

Networking configuration comprises of 4 steps:
1) Private network creation
2) Router creation and plugging it as a gateway in external network
3) Subnet creation
4) Adding router interface to the subnet

This sequence leads to that DHCP service provides static metadata route, 
and our scenario works.
That's how it is done in create_networks() from 
tempest/scenario/manager.py (which used in the majority of tests).

But, prepare_network() of scenario/test_network_v6.py first creates 
subnet, and after that it creates router (1-3-2-4).
DHCP service configuration in neutron regards this subnet isolated then 
(which is what I don't understand), therefore,
doesn't provide it with metadata route by default (force_metadata=False, 
enable_isolated_metadata=False).

I have 2 guesses:
1) The neutron behavior is valid, and the sequence of subnet/router 
creation should be changed in prepare_network(), to coincide with 
create_networks()
2) Neutron has bug handling such scenario: it doesn't update DHCP 
service configuration when router is created for subnet.

Also, AFAIU, all the upstream Jenkins dsvm tempest jobs running 
test_dualnet* get metadata from config drive,
so that they aren't affected.

Could you, please, give me some guidance with this problem?

Great thanks!



More information about the OpenStack-dev mailing list