[Openstack] Neutron dnsmasq question

Qin, Xiaohong Xiaohong.Qin at emc.com
Mon Apr 28 22:38:20 UTC 2014


Murali,

The actual code to invoke this dnsmasq process is in this Python code,

/opt/stack/neutron/neutron/agent/linux/dhcp.py

You have to play around it to make it work to suit your needs. Neutron does know which Vif/port associated with which VM,

neutron port-list

| fb607957-ea21-46a4-98ed-5801849d6fc6 |      | fa:16:3e:90:1d:1e | {"subnet_id": "0f49455c-a4bb-4d81-bec5-3203620200fd", "ip_address": "10.0.0.2"}

nova list

| 8c2419a7-6927-4fce-bc64-a71789cf63b1 | demo_img1 | ACTIVE | -          | Running     | private=10.0.0.2, 10.10.166.171 |

So the vif port for this VM (8c2419a7-6927-4fce-bc64-a71789cf63b1) is fb607957-ea21-46a4-98ed-5801849d6fc6.

Also you can associate a floating IP address to the dnsmasq interface, just like you do for VM interface. One thing I noticed is that dnsmasq was not invoked during Neutron startup service. It was started when the first VM got booted up.

Dennis Qin

From: Muralidhar Balcha [mailto:muralidharb at gmail.com]
Sent: Monday, April 28, 2014 3:00 PM
To: Qin, Xiaohong
Cc: openstack at lists.openstack.org
Subject: Re: [Openstack] Neutron dnsmasq question

Dennis,
That does not work. Next time when a new VM is created, it replaces the file with default host names. I think part of the challenge is Neutron does not know the host name associated with the port/vif, so it fabricates a hostname based on the IP address. DNS lookup works for the fabricated host name, but  I need host entry with real host name.

Also this should be part of VM provisioning logic. I don't want to manually edit the host file.

Murali Balcha

On Mon, Apr 28, 2014 at 12:08 PM, Qin, Xiaohong <Xiaohong.Qin at emc.com<mailto:Xiaohong.Qin at emc.com>> wrote:
Hi Murali,

The dnsmasq process is been invoked as the following in the controller,

dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces --interface=tap7e1faebd-1c --except-interface=lo --pid-file=/opt/stack/data/neutron/dhcp/90a8a84a-d4dd-4c98-bf87-492342c55b94/pid --dhcp-hostsfile=/opt/stack/data/neutron/dhcp/90a8a84a-d4dd-4c98-bf87-492342c55b94/host --dhcp-optsfile=/opt/stack/data/neutron/dhcp/90a8a84a-d4dd-4c98-bf87-492342c55b94/opts --leasefile-ro --dhcp-range=set:tag0,10.0.0.0,static,86400s --dhcp-lease-max=256 --conf-file= --domain=openstacklocal

So it is consulting this file for name resolution,

/opt/stack/data/neutron/dhcp/90a8a84a-d4dd-4c98-bf87-492342c55b94/host

You can modify this file to map your hosts to different names as a work around. It might be possible to force this file to be auto generated with your desired options.

Dennis Qin

From: Muralidhar Balcha [mailto:muralidharb at gmail.com<mailto:muralidharb at gmail.com>]
Sent: Friday, April 25, 2014 5:23 PM
To: openstack at lists.openstack.org<mailto:openstack at lists.openstack.org>
Subject: [Openstack] Neutron dnsmasq question

Folks,
Neutron is populating dnsmasq host file with hostname something like "host-192-168-0-0". This is not particularly useful for me. I need name resolution on the host name. How can I override this behavior? I am using Havana and this behavior is hardcoded in the code. Is there any workaround for this issue?

Regards,

--
Muralidhar Balcha
508 494 5007<tel:508%20494%205007>



--
Muralidhar Balcha
508 494 5007
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20140428/09c120dd/attachment.html>


More information about the Openstack mailing list