[NETVIRT-1328] Metadata Service in openstack is broken with ODL Integration Created: 21/Jun/18 Updated: 14/Jan/20 Resolved: 14/Jan/20 |
|
| Status: | Resolved |
| Project: | netvirt |
| Component/s: | dhcpservice, neutronvpn |
| Affects Version/s: | None |
| Fix Version/s: | Magnesium |
| Type: | Bug | Priority: | Medium |
| Reporter: | Shivashankar Chitragar | Assignee: | Shivashankar Chitragar |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Issue: I have installed stable/queens using openstack-ansible on Ubuntu with ODL + OVS. I have created an instance with cirros image(since it has pre-set pwd i am able to login through console and ssh), I can ping to external gateway and even Google DNS(8.8.8.8) but it is not able to reach metadata server.
Observations: 1. If private network doesnot have an interface connected to router then metadata service works, meaning instances will receive the cloud config. Workaround: 1. In /etc/neutron/dhcp_agent.ini add "force_metadata = True" Then things will start working. Since router namespace is not created after integrating with odl, should this route point to nexthop in dhcp namespace?
Kindly provide the fix for this issue. |
| Comments |
| Comment by Vishal Thapar [ 21/Jun/18 ] |
|
Could you clarify what is the bug here? to me looks like you're missing config to set force_metadata=true and if it were present at bring up there won't be any issue. |
| Comment by Sam Hague [ 21/Jun/18 ] |
|
Same opinion, we expect force_metadata=true to be configured for this to work. |
| Comment by Shivashankar Chitragar [ 23/Jun/18 ] |
|
Ok. If "force_metadata=true" should be the expectation then Openstack-Ansible is not doing it while preparing configuration file dhcp_agent.ini. If there is nothing to do from Netvirt perspective, you can close this issue. I will update the same in defect raised under Openstack-ansible.
Thanks |
| Comment by Manuel Buil [ 26/Jun/18 ] |
|
guys, I still think the bug is in Netvirt.Neutron default behaviour is:
When using ODL, the first scenario (isolated networks) works, however the second one does not work. Note that I am using odl-router_v2 plugin, so there are no router namespaces and all the routing logic is implemented by ODL. I would expect ODL to implement everything which was covered by the router namespace, including the static route to 169.254.169.254. In fact, the issue is solved when adding that route to the neutron router (192.168.0.2 is the ip where the DHCP server is listening): neutron router-update router-ext --route destination=169.254.169.254/32,nexthop=192.168.0.2 In my opinion, perhaps I am missing something, everytime a subnet is connected to a router, Netvirt should add that static route. Netvirt knows the DHCP server ip and the metadata server is always 169.254.169.254, so it should be easy. The suggested "force_metadata=true" option is not the best because it forces a static route into the VM and that should be something exceptional. Besides, it seems wrong to me that a neutron plug-in changes the default neutron behaviour, or? |
| Comment by Nishchya Gupta [ 06/Jan/20 ] |
|
This is a pretty old issue, now as specified in the workaround /etc/neutron/dhcp_agent.ini is already have "force_metadata = True". So mostly issue will not be there, but will try this locally and update the results.
|
| Comment by Nishchya Gupta [ 14/Jan/20 ] |
|
Cannot reproduced in latest master with rocky, please reopen the issue if seen again. |