specification for extraroute extension support for nuage plugin
Change-Id: I64ece4bded28201dcffb968511a99be5d4cdf1d1
This commit is contained in:
parent
ec31bcfc58
commit
ec2e0cac75
135
specs/juno/extraroute-ext-support-for-nuage-plugin.rst
Normal file
135
specs/juno/extraroute-ext-support-for-nuage-plugin.rst
Normal file
@ -0,0 +1,135 @@
|
||||
|
||||
=============================================
|
||||
Extraroute Extension support for Nuage Plugin
|
||||
=============================================
|
||||
|
||||
https://blueprints.launchpad.net/neutron/+spec/extraroute-ext-support-for-nuage-plugin
|
||||
|
||||
Adding extraroute extension support to existing nuage networks' Plugin
|
||||
|
||||
|
||||
Problem description
|
||||
===================
|
||||
Current Nuage Plugin does not support Neutron's extra-route extension.
|
||||
Nuage's VSP supports this feature and the support for extension needs
|
||||
to be added in the plugin code.
|
||||
|
||||
Proposed change
|
||||
===============
|
||||
Adding extension support code in Nuage plugin.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
None
|
||||
|
||||
Data model impact
|
||||
-----------------
|
||||
There are couple of extra tables which will be needed to support this.
|
||||
One is routerroutes which already exist in neutron. No schema changes required
|
||||
for that table.
|
||||
Second table is Nuage plugin specific. This will be added as part of the new
|
||||
code.
|
||||
|
||||
It could look like::
|
||||
|
||||
class RouterRoutesMapping(model_base.BASEV2, models_v2.Route):
|
||||
__tablename__ = 'routerroutes_mapping'
|
||||
router_id = Column(String(36), ForeignKey('routers.id', ondelete="CASCADE"),
|
||||
primary_key=True)
|
||||
nuage_route_id = Column(String(36))
|
||||
|
||||
migration script will need to be generated.
|
||||
|
||||
REST API impact
|
||||
---------------
|
||||
None
|
||||
|
||||
Security impact
|
||||
---------------
|
||||
None
|
||||
|
||||
Notifications impact
|
||||
--------------------
|
||||
None
|
||||
|
||||
Other end user impact
|
||||
---------------------
|
||||
None
|
||||
|
||||
Performance Impact
|
||||
------------------
|
||||
None
|
||||
|
||||
Other deployer impact
|
||||
---------------------
|
||||
None
|
||||
|
||||
Developer impact
|
||||
----------------
|
||||
None
|
||||
|
||||
Implementation
|
||||
==============
|
||||
Nuage's VSP supports adding static-route to L3 Domain which fits nicely
|
||||
with extraroute extension supported by openstack's neutron.
|
||||
|
||||
Following is a mapping of the neutron's work-flow for nuage plugin:
|
||||
|
||||
Assume router1 exist.
|
||||
STEP1:
|
||||
neutron router-update router1 --routes type=dict list=true \
|
||||
destination=15.0.0.0/24,nexthop=10.10.0.5
|
||||
This will create a staticroute entry in l3-domain router1 in VSP
|
||||
|
||||
STEP2:
|
||||
neutron router-update router1 --routes type=dict list=true \
|
||||
destination=15.0.0.0/24,nexthop=10.10.0.5 destination=25.0.0.0/24,nexthop=10.10.0.6
|
||||
This will add one more staticroute to the same.
|
||||
|
||||
STEP3:
|
||||
neutron router-update router1 --routes type=dict list=true \
|
||||
destination=15.0.0.0/24,nexthop=10.10.0.5
|
||||
This will delete staticroute of STEP2.
|
||||
|
||||
Basically everytime you specify routes option it treats it as a new set of value.
|
||||
So sticking to that same behavior.
|
||||
|
||||
STEP4:
|
||||
neutron router-update router1 --routes action=clear
|
||||
Cleans up all the staticroute.
|
||||
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
Ronak Shah
|
||||
|
||||
|
||||
Primary assignee:
|
||||
ronak-malav-shah
|
||||
|
||||
Other contributors:
|
||||
|
||||
Work Items
|
||||
----------
|
||||
Extension code in Nuage plugin
|
||||
Nuage Unit tests addition
|
||||
Nuage CI coverage addition
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
None
|
||||
|
||||
Testing
|
||||
=======
|
||||
Unit Test coverage for extra-route extension within Nuage unit test
|
||||
Nuage CI will be modified to start supporting this extension tests
|
||||
|
||||
|
||||
Documentation Impact
|
||||
====================
|
||||
None
|
||||
|
||||
References
|
||||
==========
|
||||
None
|
Loading…
Reference in New Issue
Block a user