Add agent extension framework for L3 agent

Registered by Armando Migliaccio on 2016-05-19

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.

Blueprint information

Status:
Complete
Approver:
Carl Baldwin
Priority:
Low
Drafter:
Neil Johnston
Direction:
Approved
Assignee:
Neil Johnston
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-rc1
Started by
Armando Migliaccio on 2016-07-08
Completed by
Armando Migliaccio on 2016-09-13

Related branches

Sprints

Whiteboard

- Aug 08, 2016 (njohnston): Implementation cloise to complete (339246), additional fullstack test spun out, but feasability is still under investigation (345631).
- Jul 25, 2016 (carl_baldwin): Implementation up for review (339246)

Gerrit topic: https://review.openstack.org/#q,topic:bp/l3-agent-extensions,n,z

Addressed by: https://review.openstack.org/329701 (Merged)
    Generalize agent extension mechanism

Addressed by: https://review.openstack.org/339246
    Implement L3 Agent Extension Manager

Addressed by: https://review.openstack.org/345631
    L3 Agent Extension Fullstack Test

Gerrit topic: https://review.openstack.org/#q,topic:bp/l3-agent-extension-api,n,z

Addressed by: https://review.openstack.org/357450
    [WIP] L3 agent extension API

Addressed by: https://review.openstack.org/357503
    Add L3 agent extension API object

Gerrit topic: https://review.openstack.org/#q,topic:bug/1643944,n,z

Addressed by: https://review.openstack.org/400852
    Expose [agent] extensions option into l3_agent.ini

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.