Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

DHCP discover request does not reach controller node.

I have a 2 node set with single interface. The interface is on the subnet. One is with ip 160 and the other with 161

I am trying to create a flat network using neutron.

On the controller/network node, In the ovs_neutron_plugin.ini file:

Tenant_network_type //(commented )

Network_vlan_ranges = physnet1

Bridge_mappings = physnet1:br-ex

$ovs-vsctl show

Bridge br-int

     Port int-br-ex
       Interface int-br-ex

     Port br-int
        Interface br-int
            type: internal

   Tap interface “tapxxx”

Bridge br-ex
    Port br-ex
        Interface br-ex
            type: internal
    Port phy-br-ex
        Interface phy-br-ex
    Port "eth0"
        Interface "eth0"

The compute code has the same config as above, except the ‘Tap’ interface’ which is created by the dnsmasq process.

eth0 on both nodes are in promiscuous mode and attached to br-ex

I created a tenant, network and a subnet I was able to spin a VM successfully on the compute node but it fails to allocate the IP address.

While creating the network the type was specified as ‘flat’

The horizon front-end displays the IP address as successfully allocated but it is not configured on the VM (ifconfig on VM). Dnsmasq is created correctly.

Using wireshark, on the compute node, I can see that the discover request being sent from the VM hardware address to br-int and also to phy-br-ex. However the interface, br-ex and eth0 which is attached to br-ex, does not receive the Discover request.

What happens to the connectivity from phy-br-ex to br-ex? Why does the discover request not show in br-ex and eth0 while it shows in br-int, int-br-ex and phy-br-ex.

Why does horizon show it as being allocated. Does the DNSmasq process allocate it without waiting for the discover request?

Is there anything wrong in the config files? Should we specify tenant_network? I left it commented for the flat network. The only difference from the guides is that we use the notification_driver = neutron.openstack.common.notifier.rpc_notifier instead of notification_driver = neutron.openstack.common.notifier.rabbit_notifier and control_exchange is default – commented.

I do not think it makes any difference to the network part but if someone could explain the reason for packets not showing in br-ex while it shows in phy-br-ex, it would be helpful.