Using OpenStack Open vSwitch with VLAN’s removes a lot of the trickery involved with using public and private IP’s. That way each VM gets it’s own real IP address assigned to it.

In this case, our network layout looks as such:

That being said, the VM’s still need a way to get back to 169.254.169.254 for access to the OpenStack metadata service. In this case, the fix was to add a static route to the VM and re-configure the neutron-dhcp-agent service as such.

On the vm template, add /etc/sysconfig/network-scripts/route-eth0:

169.254.169.254/32 dev eth0

Then add the following to /etc/neutron/dhcp-agent.ini

enable_isolated_metadata = True

enable_metadata_network = False

and then restart the Neutron dhcp agent service:

service neutron_dhcp_agent restart

Once this is finished, you should then be able to add the updated image to glance and deploy without issue.

Tags: 169.254.169.254, Cloud-Init, linux, OpenStack