# Instances Not Getting DHCP Lease

I realize this is a common question, and I've looked through many of the answers from previous posts, but I'm afraid I'm new enough to OpenStack that I wasn't able to make sense of many of the replies and was unable to solve my problem after searching.

I have a multi-node deployment with one controller/network node and two compute nodes. When I create a cirros image on the Compute node, I see in the Horizon interface that a DHCP address is assigned, but when I run ifconfig in the VNC console on the Horizon dashboard, I see the instance has no IP address.

I ran tcpdump -n -i eth3 on both the controller node and the compute node. What I am seeing is that the compute node gets a DHCP request and sends a reply. However, the compute node shows me only the request and not the reply.

Can anyone suggest possible fixes? As I said, I'm pretty new to OpenStack. I'm sure that I haven't provided all of the information needed to solve this problem; if someone could tell me what further information would be useful (and how to generate a report with that information), I'll be happy to update my question with that information.

Thanks!

edit retag close merge delete

Sort by » oldest newest most voted

If you mean to say that your DHCP reply gets lost between controller/network and compute node , problem is on the eth3 on compute node , Please check that the data network ports should be in promiscuous mode. ( i hope eth3 is the data network port in your case , not management port)

more

1

THAT'S IT! Wow, it would have taken me a long, long time (if ever) to discover that on my own. My compute node is actually running under VMWare ESXi, and I had the public network in ESXi set to disallow promiscuous mode. Changing that setting solved the problem. Thank so SO much!

( 2015-12-02 08:42:52 -0600 )edit

Me too, long time to solve this problem. Thanks for sharing.

( 2017-07-14 09:46:03 -0600 )edit

This problem is very vague and can be caused by numerous reasons. Here are the steps to debug(hopefully you will find something):-

Note:- i am assuming you networking topology to be of VLAN type so in case its different then let me know

1. Openstack creates network namespace for every network. Go to the network node and see if there are network namespaces present( You can identify your name space by you network id, Do a neutron net-list and note the id of your network)

2. If namespaces are created then again on the network node see if dhcp server is running (ps -aef |grep dnsmasq).

3. if dhcp server is running then in when you will do the grep in step 2 you there in the process information given by the ps command you will get a host file to which dnsmasq process is attached)

4. open that file, you will find the IP of the instance which you created along with the Mac address). Cross check that.

5. If you are not this step then I assume that till step 4 everything is working fine and in order. In that case lets move to OVS bridges. There will be a data bridge normally br-data-eth or something on the network as well as compute node, check if they are present( Note the name can change but it should be what you gave in the bridge_mappings in the ml2_conf.ini file)

6. if bridges and created on neutron and compute node and are also in the configuration file then it means that under the bridge the ehternet adapter is the culprit.

7. On neutron node ovs-vsctl show will display what ports bridge contains. Check the interface which is inside the data port is connected to the compute node.

8. perform step 7 on compute node as well and ensure that the data bridge on the compute node has an Ethernet interface added as a port and is connected to the neutron node.

9. If all the above things are configured properly then it means that the flows of OVS are not created ovs-ofctl dump flows <bridge-name> will provide you with the flows.

I think it is enough debugging and you will find the culprit :) , if not let me know what issue you are still facing

more

Prateek, thank you for the detailed response. I hope this is useful to others in the future. I got through step 4 before my lack of knowledge of which command to run stopped me at step 5. You may wish to edit your response with that information for those who will come after me.

( 2015-12-02 08:44:22 -0600 )edit

# Get to know Ask OpenStack

Resources for moderators