Environment is Nova-network +VMWARE+FLATDHCP
The error shows that the virtual machine has a certain chance to get the DHCP address, hand-assigned IP is normal, the IP injected with flat mode is normal, the following is the troubleshooting process
1 Find the network first
The firewall has already opened the port corresponding to the DNSMASQ.
Clutch Result: 650) this.width=650; "Src=" Http://s2.51cto.com/wyfs02/M01/87/26/wKiom1fV-RayJKR1AACZtZ4jZNs632.png-wh_ 500x0-wm_3-wmp_4-s_2261681533.png "title=" clutch result. PNG "alt=" Wkiom1fv-rayjkr1aacztz4jzns632.png-wh_50 "/>
You can see that the virtual machine DHCP has been sent to br100 above, but br100 does not return, basic can be excluded network reasons
2 Finding DHCP Reasons
First kill the Nova-initiated DNSMASQ process, manually to start a DNSMASQ, the virtual machine is normal.
Second, check the DNSMASQ log.
Have the following error
Sep 08:32:31 centos-6568 dnsmasq[1947]: Bad DHCP host name @ Line 3 of/var/lib/nova/networks/nova-br100.conf
Sep 08:32:31 centos-6568 dnsmasq[1947]: Bad DHCP host name @ Line 4 of/var/lib/nova/networks/nova-br100.conf
Sep 08:32:31 centos-6568 dnsmasq[1947]: Bad DHCP host name @ Line 7 of/var/lib/nova/networks/nova-br100.conf
Sep 08:32:31 centos-6568 dnsmasq[1947]: Bad DHCP host name @ Line 8 of/var/lib/nova/networks/nova-br100.conf
Sep 08:44:41 centos-6568 dnsmasq-dhcp[1947]: DHCPDISCOVER (br100) fa:16:3e:4e:70:42 no address available
Google a bit, a lot of people this problem, but no solution
So look at this file, and then compare the same environment, using the neutron file as follows
650) this.width=650; "Src=" Http://s2.51cto.com/wyfs02/M01/87/24/wKioL1fV-vCj6fyxAAAnLZNH1Dg231.png-wh_500x0-wm_3 -wmp_4-s_1468073466.png "style=" Float:none; "title=" capture. PNG "alt=" Wkiol1fv-vcj6fyxaaanlznh1dg231.png-wh_50 "/>
650) this.width=650; "Src=" Http://s2.51cto.com/wyfs02/M02/87/26/wKiom1fV-vDBHmlCAAAwqysrsho343.png-wh_500x0-wm_3 -wmp_4-s_2906562364.png "style=" Float:none; "Title=" Captures 2. PNG "alt=" Wkiom1fv-vdbhmlcaaawqysrsho343.png-wh_50 "/>
One can see that the line where the error is hostname begins with a number.
You know why, in two virtual machines. A comparison of starting a letter with a number is the reason:
Nova-network +VMWARE+FLATDHCP
In this environment nova-network is directly hostname the virtual machine into the DNSMASQ list, but Dnsmaqs does not recognize the beginning of the number of hostname
Workaround: Modify the method of this DHCP insert in the source code
vim/usr/lib/python2.7/site-packages/nova/network/linux_net.py
650) this.width=650; "Src=" Http://s2.51cto.com/wyfs02/M02/87/25/wKioL1fWCnjzlbigAAB6HRmKZkE874.png-wh_500x0-wm_3 -wmp_4-s_2117580394.png "title=" correction. PNG "alt=" Wkiol1fwcnjzlbigaab6hrmkzke874.png-wh_50 "/>
Change the effect of the good
650) this.width=650; "Src=" Http://s5.51cto.com/wyfs02/M00/87/25/wKioL1fWCtHSaIRCAAATlmns7uE644.png-wh_500x0-wm_3 -wmp_4-s_2210175086.png "title=" Capture 6. PNG "alt=" Wkiol1fwcthsaircaaatlmns7ue644.png-wh_50 "/>
The nova-network of OpenStack's small bugs