Openstack VM Unable to Get DHCP IP, Request but No Replay [closed]
Hello,
I am having an issue with my VM unable to get an IP from the DHCP server. My setup is as follows:
1xController w/Quantum, namespaces false 1xCompute 1xCinder
After running "tcpdump -n -i eth2" I can see traffic being sent from my compute node, however, I do not see the packets being received by my controller/quantum node. However, I can see all other traffic on both nodes, and I can ping from one node to the other on the same interface if I add an IP to the bridge.
Below I have given the output of ovs-vsctl show. Also, when I add a floating ip to my VM, I do not see the IP come up on the controller/quantum node. If I add the IP manually, I can't ping the DHCP server.
My NIC setup is as follows:
eth0 - management eth1 - public eth2 - data/vm
I am using the openvswitch plugin with vlans. The only error I can see on both servers is:
013-07-14T08:10:04Z|00247|bridge|ERR|bridge br-prv: failed to set bridge Ethernet address: Device or resource busy 2013-07-14T08:10:07Z|00248|netdev_linux|ERR|ioctl(SIOCSIFHWADDR) on br-int device failed: Device or resource busy 2013-07-14T08:10:07Z|00249|bridge|ERR|bridge br-int: failed to set bridge Ethernet address: Device or resource busy 2013-07-14T08:10:07Z|00250|netdev_linux|ERR|ioctl(SIOCSIFHWADDR) on br-prv device failed: Device or resource busy 2013-07-14T08:10:07Z|00251|bridge|ERR|bridge br-prv: failed to set bridge Ethernet address: Device or resource busy
Here is my output from ovs-vsctl show on controller:
[root@controller-01 ~(keystone_admin)]# ovs-vsctl show d44ed3f4-2e5e-4d5f-8a41-e6b1664402fb Bridge br-prv Port "eth2" Interface "eth2" Port br-prv Interface br-prv type: internal Port phy-br-prv Interface phy-br-prv Bridge br-ex Port "eth1" Interface "eth1" Port phy-br-ex Interface phy-br-ex Port br-ex Interface br-ex type: internal Bridge br-int Port int-br-prv Interface int-br-prv Port "tapc9ec4cea-28" tag: 1 Interface "tapc9ec4cea-28" type: internal Port int-br-ex Interface int-br-ex Port br-int Interface br-int type: internal ovs_version: "1.10.0"
Here is my output from ovs-vsctl show on compute: [root@compute-01 ~(keystone_admin)]# ovs-vsctl show e84211f2-9d94-4851-9357-ef73c050e240 Bridge br-int Port "qvo4b11e62b-a4" tag: 1 Interface "qvo4b11e62b-a4" Port int-br-prv Interface int-br-prv Port br-int Interface br-int type: internal Bridge br-prv Port phy-br-prv Interface phy-br-prv Port br-prv Interface br-prv type: internal Port "eth2" Interface "eth2" ovs_version: "1.10.0"
Any help would be appreciated.
Perhaps you need to configure your physical switch to carry tagged packets. Try connecting you eth2s directly with a cable as a test.
I tried connected them together and I am able to get a DHCP address. I'm running Cisco IOS and my port settings are: switchport trunk encapsulation dot1q, switchport mode trunk. I see it tagged the port on the bridge with Vlan 1 and on my switch vlan 1 is shutdown and is native, your thoughts?
Do 'quantum net-show net-id' and look for provider:segmentation_id - that should be the global vlan for this quantum net. The vlans on br-int are only local, and are translated: 'ovs-ofctl dump-flows br-prv'. How have you configured network_vlan_ranges and bridge_mappings in ovs_quantum_plugin.ini?
Resolved! That was the problem, I granted access to VLAN 1 instead of 900. After reading http://docs.openstack.org/trunk/openstack-network/admin/content/under_the_hood_openvswitch.html, I understand that VLAN translation is being used. Thank you much!
@darragh-oreilly, thanks again! One thing to note was that once the VLAN issue was fixed, I got the error: Stderr: '\ndnsmasq: failed to create listening socket for 10.0.0.3: Address already in use\n' - to resolve, I stopped dnsmasq and restarted quantum-dhcp-agent, that fixed it.