VIF and Interface drivers for Quantum Linux Bridge plugin need to be added to linux_net library

Bug #941794 reported by Sumit Naiksatam
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Sumit Naiksatam
neutron
Fix Released
Undecided
Sumit Naiksatam

Bug Description

The Linux Bridge plugin was recently merged into Quantum. The corresponding VIF and Interface drivers used by Nova need to be added to the linux_net library as requested by Quantum reviewers.

Changed in nova:
assignee: nobody → Sumit Naiksatam (snaiksat)
Changed in quantum:
assignee: nobody → Sumit Naiksatam (snaiksat)
milestone: none → essex-4
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/4582

Changed in nova:
status: New → In Progress
Changed in quantum:
status: New → In Progress
dan wendlandt (danwent)
Changed in quantum:
milestone: essex-4 → none
Changed in quantum:
milestone: none → essex-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/4582
Committed: http://github.com/openstack/nova/commit/3c62c9d65deb463782546afee257af6183cc0928
Submitter: Jenkins
Branch: master

commit 3c62c9d65deb463782546afee257af6183cc0928
Author: Sumit Naiksatam <email address hidden>
Date: Mon Feb 27 00:26:14 2012 -0800

    bug #941794 VIF and intf drivers for Quantum Linux Bridge plugin

    Drivers have been reviewed earlier by Quantum reviewers and are being
    moved here on their request.

    Also incorporating Soren,Dan, pp-draigbrady and Vish's suggestions.

    Change-Id: If04807c473542e2f0259faa6d243c3e6e9539f64

Changed in nova:
status: In Progress → Fix Committed
Changed in quantum:
status: In Progress → Fix Committed
Revision history for this message
Robert Kukura (rkukura) wrote :

Shouldn't the old drivers be removed from the quantum repository at some point?

Revision history for this message
Sumit Naiksatam (snaiksat) wrote :

Robert, good point. I was going to do that (and change the README file as well). Just in the process of checking that everything does work.

I will create a separate bug to track this.

Thierry Carrez (ttx)
Changed in quantum:
status: Fix Committed → Fix Released
Revision history for this message
Tomasz Paszkowski (ss7pro) wrote :

this integration is broken:

1) nova-network is not starting interfaces (bridge and gw tap) on startup
2) bridge is not deleted on unplug
3) tap device dosen't need to be up (as libvirt can do this in when running in bridge mode)

http://paste.openstack.org/show/10976/

Revision history for this message
Tomasz Paszkowski (ss7pro) wrote :

And more is also present in this code. As we're setting tap device for an instance up, libvirt can't change mac address for this interface which prevent instance from starting.

There's another huge bug with this integration code. After machine is rebooted we're loosing all tap interfaces for instances and there's no code to recreate them. Solutions for this is to use libvirt_vif_type=bridge . Patch below:

http://paste.openstack.org/show/10977/

Thierry Carrez (ttx)
Changed in nova:
milestone: none → essex-rc1
status: Fix Committed → Fix Released
Revision history for this message
Sumit Naiksatam (snaiksat) wrote :

Hi, Clarifications to the points raised here have been provided on the NetStack mailer.

* The behavior of the VIF driver for Quantum is different from the VIF driver that is used within Nova for plugging into a Linux bridge (when using a VLAN-NetworkManager).

* The gateway initialization happens in a separate driver, please take a look at the QuantumLinuxBridgeInterfaceDriver class inside:
nova/network/linux_net.py
Bridge and tap devices are created only after the first VM is created on a particular Quantum network.

* The bridge is not designed to be deleted during unplug, it will be deleted only when the network is deleted.

* As for the suggestion on using the interface type bridge, that would work only if plug is called only once in the lifetime of a VM. Quantum tries to support semantics beyond that; one should be able to plug a VIF into a port, may be unplug at a later time, plug into a port on a separate network, and so on. One way to achieve this is by using the interface type ethernet (and that’s where the agent comes into play, hence it's required).

In summary, currently, these drivers are working as designed and integration is not broken.

Thierry Carrez (ttx)
Changed in nova:
milestone: essex-rc1 → 2012.1
Thierry Carrez (ttx)
Changed in quantum:
milestone: essex-rc1 → 2012.1
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.