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!

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to