bagpipe: do not overload the ovs agent

Bug #1492021 reported by Mathieu Rohon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-bgpvpn
Fix Released
High
Thomas Morin
neutron
Invalid
Undecided
Unassigned

Bug Description

the bagpipe driver works with its own agent that is an overload of the ovs agent.

with the neutron liberty release, the ovs agent is extendable, thanks to this change :
https://review.openstack.org/#/c/195439/

bagpipe should be able to leverage this extension framework to avoid the use of its own l2 ovs agent.

Tags: bagpipe
Changed in bgpvpn:
importance: Undecided → High
Revision history for this message
Thomas Morin (tmmorin-orange) wrote :

I've started to look at how to do this.

It seems that using an agent extension to register BGPVPN rpcs and route them to the right methods would work, and would be quite easy. That would allow to move the RPC definitions from networking-bagpipe-l2 to networking-bgpvpn, which is good.

However, to setup the br-tun/br-int/br-mpls dataplane, we would need to access to things that are internal to the OVS driver and not (yet) exposed to agent extension. Examples are: names of bridges, method to setup an ARP entry and local_vlan_map. Unless we modify the agent extension framework, I don't think we will be able to fully do things with an agent extension.

( We could possibly avoid overloading the OVS agent class in the following way: use our own main to instantiate the ovsagent ourselves and obtain access to its internal variables/methods, but that wouldn't be cleaner)

Revision history for this message
Thomas Morin (tmmorin-orange) wrote :

Need for augmenting the L2 agent extension interface tracked now tracked at:

https://bugs.launchpad.net/neutron/+bug/1499637

Changed in bgpvpn:
status: New → Confirmed
Revision history for this message
Thomas Morin (tmmorin-orange) wrote :
Revision history for this message
Thomas Morin (tmmorin-orange) wrote :

(discussion on agent extension moved to bug 1517903)

summary: - bagpipe : do not overload the ovs agent
+ bagpipe: do not overload the ovs agent
tags: added: bagpipe
Revision history for this message
Henry Gessau (gessau) wrote :

Are there any changes in neutron core needed for this?

Revision history for this message
Mathieu Rohon (mathieu-rohon) wrote :

Hi henry,

the fix of the neutron bug 1517903 should manage the neutron part of this bug.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to networking-bgpvpn (master)

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

Changed in bgpvpn:
assignee: nobody → Thomas Morin (tmmorin-orange)
status: Confirmed → In Progress
Changed in bgpvpn:
assignee: Thomas Morin (tmmorin-orange) → Mathieu Rohon (mathieu-rohon)
Changed in bgpvpn:
assignee: Mathieu Rohon (mathieu-rohon) → Thomas Morin (tmmorin-orange)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to networking-bgpvpn (master)

Reviewed: https://review.openstack.org/281358
Committed: https://git.openstack.org/cgit/openstack/networking-bgpvpn/commit/?id=753fa2410639dca3957f0bffbb2e632181f00f77
Submitter: Jenkins
Branch: master

commit 753fa2410639dca3957f0bffbb2e632181f00f77
Author: Thomas Morin <email address hidden>
Date: Thu Sep 17 11:59:28 2015 +0200

    OVS Agent extension for bagpipe driver

    This change introduces an OVS L2 agent extension that will now be used
    instead of the previous agent in ovs_bagpipe_neutron_agent.py which
    was inheriting from the Neutron OVS agent in a crude way, requiring
    duplicating the main() code.

    We also remove mention of the old bagpipe-openvswitch agent
    in the documentation and and adapt the devstack plugin so that
    old local.conf will still work.

    Change-Id: Ibf27e2b028efffa1e49207d39bfc9b13464180ad
    Closes-Bug: 1492021
    Closes-Bug: 1531459

Changed in bgpvpn:
status: In Progress → Fix Released
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

This bug is > 180 days without activity. We are unsetting assignee and milestone and setting status to Incomplete in order to allow its expiry in 60 days.

If the bug is still valid, then update the bug status.

Changed in neutron:
status: New → Incomplete
Changed in neutron:
status: Incomplete → Invalid
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.