← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1499637] [NEW] An L2 agent extension can't access agent methods

 

Public bug reported:

In the networking-bgpvpn project, the reference driver interacts with
the openvswitch agent (of the ML2 openvswitch mech driver) with new RPCs
to allow setup exchanging information with the BGP VPN implementation
running on the compute nodes. We also need the OVS agent to setup
specific things between the bridges for MPLS traffic.

To extend the agent behavior, we currently create a new agent by
mimicking the main() in ovs_neutron_agent.py with a main() instantiating
a class that overloads the OVSAgent class with the additional behavior
we need [1].

This is really not the ideal way of extending the agent and we would
prefer using the L2 agent extension framework [2].

This approach works, but only partially: we are able to register our RPC
consumers, but are missing access to some datastructures of the agent
that we need to use (setup_entry_for_arp_reply and local_vlan_map,
access to the OVSBridge objects to manipulate OVS ports).

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: rfe

** Description changed:

  In the networking-bgpvpn project, the reference driver interacts with
  the openvswitch agent (of the ML2 openvswitch mech driver) with new RPCs
- to (a) setup the OVS bridges for MPLS VPNs (b) exchange information with
- the BGP VPN implementation running on the BGP speaker.
+ to allow setup exchanging information with the BGP VPN implementation
+ running on the compute nodes. We also need the OVS agent to setup
+ specific things between the bridges for MPLS traffic.
  
- We currently create an agent by mimicking the main() in
- ovs_neutron_agent.py with a main() instantiating a class that overloads
- the OVSAgent class with the additional behavior we need [1].
+ To extend the agent behavior, we currently create a new agent by
+ mimicking the main() in ovs_neutron_agent.py with a main() instantiating
+ a class that overloads the OVSAgent class with the additional behavior
+ we need [1].
  
  This is really not the ideal way of extending the agent and we would
- prefer using the L2 agent extension framework [2] to do better.
+ prefer using the L2 agent extension framework [2].
  
- This approach works, but only partially:  we are able to register our
- RPC consumers, but are missing access to some datastructures of the
- agent that we need to use (setup_entry_for_arp_reply and local_vlan_map,
+ This approach works, but only partially: we are able to register our RPC
+ consumers, but are missing access to some datastructures of the agent
+ that we need to use (setup_entry_for_arp_reply and local_vlan_map,
  access to the OVSBridge objects to manipulate OVS ports).

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1499637

Title:
  An L2 agent extension can't access agent methods

Status in neutron:
  New

Bug description:
  In the networking-bgpvpn project, the reference driver interacts with
  the openvswitch agent (of the ML2 openvswitch mech driver) with new
  RPCs to allow setup exchanging information with the BGP VPN
  implementation running on the compute nodes. We also need the OVS
  agent to setup specific things between the bridges for MPLS traffic.

  To extend the agent behavior, we currently create a new agent by
  mimicking the main() in ovs_neutron_agent.py with a main()
  instantiating a class that overloads the OVSAgent class with the
  additional behavior we need [1].

  This is really not the ideal way of extending the agent and we would
  prefer using the L2 agent extension framework [2].

  This approach works, but only partially: we are able to register our
  RPC consumers, but are missing access to some datastructures of the
  agent that we need to use (setup_entry_for_arp_reply and
  local_vlan_map, access to the OVSBridge objects to manipulate OVS
  ports).

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1499637/+subscriptions