Unable to ping VM when using nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver

Bug #1053457 reported by Gary Kotton
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
New
Undecided
Unassigned

Bug Description

I did the following steps:
1. Deployed devstack with the following quantum services: q-svc,quantum,q-agt,q-dhcp,q-l3
2. Booted 2 VM's
    nova boot --image cirros-0.3.0-x86_64-uec --flavor 1 t1
    nova boot --image cirros-0.3.0-x86_64-uec --flavor 1 t2
3. Via the DHCP netns did the following:
    sudo ip netns exec <dhcpnetns> ping 10.0.0.1 => succeeds to gateway
    sudo ip netns exec <dhcpnetns> ping 10.0.0.2 => succeeds to dhcp
    sudo ip netns exec <dhcpnetns> ping 10.0.0.3 => succeeds to VM t1
    sudo ip netns exec <dhcpnetns> ping 10.0.0.4 => fails to VM t2

If I use the driver nova.virt.libvirt.vif.LibvirtOpenVswitchDriver then the above works.
Thanks
Gary

Revision history for this message
Salvatore Orlando (salvatore-orlando) wrote :

I will try to reproduce and fix. It seems there's a good chance that the root cause for this is the same as bug 1053312

Revision history for this message
Gary Kotton (garyk) wrote :

The ovs-vsctl output

    Bridge br-int
        Port "tapc9364e24-13"
            tag: 1
            Interface "tapc9364e24-13"
                type: internal
        Port "qr-1e222570-99"
            tag: 1
            Interface "qr-1e222570-99"
                type: internal
        Port "qvo905afea2-5c"
            tag: 1
            Interface "qvo905afea2-5c"
        Port br-int
            Interface br-int
                type: internal
        Port "qvo709af0ad-06"
            tag: 1
            Interface "qvo709af0ad-06"

Please note that one is defined as internal, the other not. This could be the problem.

Revision history for this message
Gary Kotton (garyk) wrote :

Sorry my bad - got mixed up with the qvo and the qr. Ooof

Revision history for this message
Gary Kotton (garyk) wrote :

Hi,
Please see below

openstack@openstack:~/devstack$ brctl show
bridge name bridge id STP enabled interfaces
br-eth0 0000.02d2adc0cf4d no
br-ex 0000.b2b906449044 no qg-4a335bfd-1b
br-int 0000.7257fec5e24f no qr-c8ef03f0-4b
       qvo5ba78f1c-24
       qvo74367ad4-b1
       tap28c691c2-7d
br-tun 0000.46a41b9dfb4b no
lxcbr0 8000.000000000000 no
qbr5ba78f1c-24 8000.6eb952e65031 no qvb5ba78f1c-24
       vnet1
qbr74367ad4-b1 8000.de7f077c09c6 no qvb74367ad4-b1
       vnet0
qbrfba045eb-35 8000.7a4e10bc76e8 no qvbfba045eb-35
       vnet2
virbr0 8000.000000000000 yes
openstack@openstack:~/devstack$

The VM that is attached to qvbfba045eb-35 does not respond. The reason is that the qvofba045eb-35 is not part of the br-int. Not sure where this is added and why it fails. Hope that this helps.
Thanks
Gary

Revision history for this message
Akihiro Motoki (amotoki) wrote :

Hi Gary,

This is the same bug as bug 1053312 as Salvatore commented.
I found a workaround for this (please see bug 1053312 for detail).
But it is a good chance to address the root issue that plug() is called twice during launching an instance.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.