Arista L3 Router Service Plugin
New L3 Router serice plugin to support hardware based routing on Arista hardware. Change-Id: I1eb5452947dd46b88329e218b50d3169b2645711
This commit is contained in:
parent
18f6621f44
commit
12a42940ce
122
specs/juno/arista-l3-service-plugin.rst
Normal file
122
specs/juno/arista-l3-service-plugin.rst
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
==========================================================================
|
||||||
|
Layer 3 service plugin to support hardware based routing on Arista devices
|
||||||
|
==========================================================================
|
||||||
|
|
||||||
|
https://blueprints.launchpad.net/neutron/+spec/arista-l3-service-plugin
|
||||||
|
|
||||||
|
This blueprint is to implement a L3 service plugin to support hardware based
|
||||||
|
Layer 3 routing in Arista devices.
|
||||||
|
|
||||||
|
|
||||||
|
Problem description
|
||||||
|
===================
|
||||||
|
|
||||||
|
This service plugin implements neutron L3 routing features on Arista hardware.
|
||||||
|
It communicates with Arista hardware fabric over JSON RPC to automate
|
||||||
|
the provisioning of routing on Arista devices (both at leaf and spine layer).
|
||||||
|
|
||||||
|
|
||||||
|
Proposed change
|
||||||
|
===============
|
||||||
|
|
||||||
|
This proposal is to introduce a new Layer 3 service plugin that uses JSON RPC to
|
||||||
|
to communicate with Arista hardware fabric to provide full L3 routing functionality.
|
||||||
|
|
||||||
|
This plugin works in conjuction with Arista ML2 Driver, which manages the
|
||||||
|
networks, subnets, and ports.
|
||||||
|
This service plugin and ML2 Driver leverage the resources and topology knowledge
|
||||||
|
to facilitate the automation of L2 and L3 provisioning in Arista hardware.
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
The alternative approach is to use the open source agent based layer 3 router
|
||||||
|
plugin and update the L3 agent to interact with Arista Hardware.
|
||||||
|
|
||||||
|
Data model impact
|
||||||
|
-----------------
|
||||||
|
None
|
||||||
|
|
||||||
|
REST API impact
|
||||||
|
---------------
|
||||||
|
n.a
|
||||||
|
|
||||||
|
Security impact
|
||||||
|
---------------
|
||||||
|
n.a
|
||||||
|
|
||||||
|
Notifications impact
|
||||||
|
--------------------
|
||||||
|
n.a.
|
||||||
|
|
||||||
|
Other end user impact
|
||||||
|
---------------------
|
||||||
|
n.a.
|
||||||
|
|
||||||
|
Performance Impact
|
||||||
|
------------------
|
||||||
|
|
||||||
|
This service plugin is event based triggered. No polling is deployed.
|
||||||
|
There are no changes to any existing code patterns. Note that the events here
|
||||||
|
means invocation of the APIs.
|
||||||
|
This plugin uses JSON RPC to communicate with Arista hardware. Arista ML2 Driver
|
||||||
|
uses the same mechanism and implements bulk operations to support scale
|
||||||
|
deployements. This plugin will leverage the same mechanisms.
|
||||||
|
|
||||||
|
Other deployer impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Configuration knobs will be provided to the adminstrators to take advantage of
|
||||||
|
various deployment topologies supported by Arista fabric. These configuration
|
||||||
|
knobs will be documented on OpenStack wiki.
|
||||||
|
|
||||||
|
Developer impact
|
||||||
|
----------------
|
||||||
|
n.a.
|
||||||
|
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Sukhdev Kapur
|
||||||
|
sukhdev@arista.com
|
||||||
|
IRC - Sukhdev
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
* L3 Service Plugin
|
||||||
|
* DevStack related enhancements to support this plugin
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
Complete unit test coverage of the code will be provided.
|
||||||
|
|
||||||
|
For full tempest test coverage, Arista third party testing is implemented
|
||||||
|
and is described at the following wiki.
|
||||||
|
With implementation of this Plugin, the test list will be updated. For example,
|
||||||
|
Floating IP related tests will be removed and L3 routing function tests will be
|
||||||
|
included. The updated list of tests will be published.
|
||||||
|
|
||||||
|
https://wiki.openstack.org/wiki/Arista-third-party-testing
|
||||||
|
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
Documentation to configure and deploy this service plugin will be provided
|
||||||
|
in the Openstack wiki.
|
||||||
|
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
n.a.
|
Loading…
x
Reference in New Issue
Block a user