Support multiple L3 backends
Supporting multiple L3 backends
multi-l3-backends
Blueprint information
- Status:
- Complete
- Approver:
- Armando Migliaccio
- Priority:
- High
- Drafter:
- Kevin Benton
- Direction:
- Approved
- Assignee:
- Kevin Benton
- Definition:
- Approved
- Series goal:
- Accepted for newton
- Implementation:
- Implemented
- Milestone target:
- newton-rc1
- Started by
- Isaku Yamahata
- Completed by
- Armando Migliaccio
Related branches
Sprints
Whiteboard
Sep-12-2016(armax): complete pending documentation
Aug-08-2016(armax): waiting on decoupling scheduling from router provisioning.
July-25-
https:/
Gerrit topic: https:/
===How to try===
As admin:
1. neutron flavor-create super_awesome L3_ROUTER_NAT
2. neutron flavor-
3. neutron flavor-associate <id from 1> <id from 2>
As tenant:
1. neutron flavor-list
2. neutron router-create --flavor-id=<id of super_awesome flavor>
July-11-
May-5-2016(
Apr-4-2016(armax): spec and code to be refreshed by kevinbenton, armax on standby for code reviews
Mar-3-2106(armax): Moved to Newton. Please ensure you re-submit spec if necessary.
Feb-01-2016(armax): relevant ML thread:
http://
Jan-21-2016(armax): Kevin has been working on some prototyping but this may be at risk. Spec will have to be revised to describe the design and the new proposal.
Dec-07-2015(armax): proposal pending
Oct-19-2015(armax): this needs to be rebooted based on last RFE discussion
Nov-23-
Addressed by: https:/
Add flavor support to the L3 plugin
Addressed by: https:/
Add flavor/service provider support to routers
Gerrit topic: https:/
Addressed by: https:/
Use neutron lib project's Invalid exception type
Gerrit topic: https:/
Addressed by: https:/
Fix the attribute name: _flavor_plugin_ref
Addressed by: https:/
[WIP]: Only schedule routers from drivers that need it
Addressed by: https:/
Add API test for L3 Flavors
Gerrit topic: https:/
Addressed by: https:/
Get rid of DVR inheritance of _delete_
Addressed by: https:/
Get rid of DVR override of remove_
Addressed by: https:/
Get rid of DVR override of _port_has_
Addressed by: https:/
Eliminate DVR inheritance of router create/update_db
Addressed by: https:/
Get rid of DVR override of add_router_
Addressed by: https:/
Get rid of L3 HA override of _update_router_db
Addressed by: https:/
Get rid of l3 ha delete_router inheritance
Gerrit topic: https:/
Addressed by: https:/
Get rid of create_router override in l3_ha mixin
Addressed by: https:/
Decompose router extra attr processing
Addressed by: https:/
Simplify AZ string conversion
Addressed by: https:/
Add decorator to skip unassociated router calls
Addressed by: https:/
Move _create_
Addressed by: https:/
Move _create_
Addressed by: https:/
Move _delete_
Addressed by: https:/
Move _add_csnat_
Addressed by: https:/
Move _update_
Addressed by: https:/
Move _cleanup_
Addressed by: https:/
DVR: remove create/
Addressed by: https:/
DVR: Move _get_floatingip
Addressed by: https:/
DVR: move _get_device_owner
Addressed by: https:/
DVR: move delete_
Addressed by: https:/
DVR: move snat and csnat functions
Addressed by: https:/
Split out DVR DB into multiple classes
Addressed by: https:/
Eliminate mixin references in DVRResourceOper
Work Items
Work items:
decompose the DVR and HA DB logic into operations in their respective drivers: TODO
adjust the L3 agent scheduling to interrogate the drivers first before scheduling to agents: TODO
adjust the RPC sync routers call to get the information from drivers rather than being aware of relevant data for each type: TODO
devref of how to write a driver: TODO
add callback events for all router operations: TODO
enhance service provider framework to allow entry points: TODO