[RFE] Add agent extension framework for L3 agent

Bug #1580239 reported by Nate Johnston on 2016-05-10
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Wishlist
Margaret Frances

Bug Description

Neutron advanced services (*aaS) projects need a standardized method to gain access to resources internal to the L3 agent. Previously, the proper methodology was using inheritance from L3NATAgent and it's subclasses. But now it is necessary to decouple these things, so that each *aaS can be a separate extension that registers with the L3 agent, can interrogate the L3 agent for necessary information, and receives notifications of events through callbacks.

Some examples of what this would enable FWaaS and other advanced services to do are:

- The ability to map router_id to router info so we can program iptables to the correct namespace.
- The ability to load the Service Agent - so we have an RPC endpoint in the context of L3Agent.

FWaaS can then use the existing observer hierarchy pattern to listen for notifications. This would prevent the need to patch the agent code for advanced services to function.

Note: This must be executed in such a way that multiple *aaS services can plug in simultaneously without interfering with each other.

summary: - Add agent extension framework for L3 agent
+ [RFE] Add agent extension framework for L3 agent
tags: added: fwaas
tags: added: l3-ipam-dhcp
Changed in neutron:
status: New → Triaged
Carl Baldwin (carl-baldwin) wrote :

I think we should look at what was done in the L2 agent (e.g. [1][2][3]) to see what we can learn.

[1] https://review.openstack.org/#/c/195439/
[2] https://review.openstack.org/#/c/263819/
[3] https://review.openstack.org/#/c/267591/

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

Changed in neutron:
assignee: nobody → Nate Johnston (nate-johnston)
status: Triaged → In Progress
Changed in neutron:
status: In Progress → Triaged

> FWaaS can then use the existing observer hierarchy pattern to listen for notifications. This would prevent the need to patch the agent code for advanced services to function.

This was replaced in favor of registry callbacks as far as I am aware.

Let's put together a spec to allow us to brainstorm on how we can provide this degree of cooperation.

Sridar Kandaswamy (skandasw) wrote :

Thanks Armando we will get that going.

Changed in neutron:
status: Triaged → In Progress
Changed in neutron:
milestone: none → newton-1
Changed in neutron:
milestone: newton-1 → newton-2
Changed in neutron:
assignee: Nate Johnston (nate-johnston) → Margaret Frances (margaret-frances)
Changed in neutron:
assignee: Margaret Frances (margaret-frances) → Nate Johnston (nate-johnston)

Reviewed: https://review.openstack.org/315745
Committed: https://git.openstack.org/cgit/openstack/neutron-specs/commit/?id=79add9811e444a8661ce31e5a3295124797aa54a
Submitter: Jenkins
Branch: master

commit 79add9811e444a8661ce31e5a3295124797aa54a
Author: Nate Johnston <email address hidden>
Date: Thu May 12 15:54:12 2016 -0400

    L3 Agent Extensions

    This proposal defines an extension mechanism for the Neutron L3 agent.

    Co-Authored-By: Margaret Frances <email address hidden>
    Co-Authored-By: IWAMOTO Toshihiro <email address hidden>

    Change-Id: I7feedc833576508b220cdbe275828dfbb2e03369
    Partial-Bug: #1580239

Changed in neutron:
milestone: newton-2 → newton-3

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

Changed in neutron:
assignee: Nate Johnston (nate-johnston) → Margaret Frances (margaret-frances)

Change abandoned by Margaret Frances (<email address hidden>) on branch: master
Review: https://review.openstack.org/357450

Changed in neutron:
milestone: newton-3 → newton-rc1
Changed in neutron:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers