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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp