[openstack-dev] [neutron][tempest] No metadata route in test_dualnet* family
eantyshev at virtuozzo.com
Thu Feb 11 09:25:05 UTC 2016
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,
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
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?
More information about the OpenStack-dev