Adding spec for fsl-sdn-os-mech-driver

New ML2 mechanism driver for Freescale CRD service.

Added asciiflow.com based image to illustrate the logical flow

Change-Id: I707093ab09e9738b5e63ea928ead1cddc7f10386
This commit is contained in:
trinaths 2014-04-28 18:08:44 +05:30
parent 090d834145
commit 0b60c7d839
1 changed files with 150 additions and 0 deletions

View File

@ -0,0 +1,150 @@
=====================================================
Freescale SDN Mechanism Driver for Neutron ML2 plugin
=====================================================
https://blueprints.launchpad.net/neutron/+spec/fsl-sdn-os-mech-driver
Freescale SDN (FSL-SDN) Mechanism Driver is an add-on support for ML2 plugin
for Neutron. It supports the Cloud Resource Discovery (CRD) service by updating
the Network, Subnet and Port Create/Update/Delete data into the CRD database.
CRD service manages network nodes, virtual network appliances and openflow
controller network applications.
+---------------------+
| Neutron |
+-+-----------------+-+
| ML2 Plugin |
++---------------++ +-------------+
| Freescale MD | <------> | CRD Service |
+---------------+ +-------------+
Problem description
===================
Openstack neutron based networks and ports information is required by
CRD service to managed virtual network appliances and openflow controller
apps.
In order to send this information from neutron service, a new ML2
mechanism driver is required to post the _postcommit data to the CRD
service.
Proposed change
===============
Freescale Mechanism driver handles the following postcommit operations.
create_network_postcommit, create_subnet_postcommit, create_port_postcommit
update_network_postcommit, update_subnet_postcommit, delete_network_postcommit
delete_subnet_postcommit, delete_port_postcommit
Supported network types by FSL OF Controller include vlan and vxlan.
Since this mechanism driver doesn't require ovs-agent, bind port operations
are handled within the mechansim driver.'bind_port' functions verifies the
supported network types (vlan,vxlan) and calls context.set_binding
with binding details.
Freescale Openflow Controller manages the flows required on OVS.
Alternatives
------------
None
Data model impact
-----------------
Since CRD service is an independant service, no data model changes are
introduced into neutron code base. Mechansim driver sends data via HTTP
requests to CRD service.
REST API impact
---------------
None
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
neutronclient client api (HTTP) is used (python imports) to provide
keystone based authentication to CRD service.
Performance Impact
------------------
Negligible/None
Though data is sent from mechansim driver to CRD service, the performance
impact is negligible or None.
Other deployer impact
---------------------
This change doesnt take immediate effect.
To work with the change, neutron need to be configured with ml2,
and fslsdn as mechanism driver with CRD service running.
Developer impact
----------------
None.
This change doesn't effect default neutron.conf.
In ml2_conf.ini mechanins_driver needs to be configured with 'fslsdn'.
New configuration file ml2_conf_fslsdn.ini needs to configured with
CRD service information.
Implementation
==============
Assignee(s)
-----------
Primary assignee:
trinath-somanchi
Other contributors:
None
Work Items
----------
Mechanism Driver codebase
Dependencies
============
None
Testing
=======
Existing Tempest testing for networks,ports covers
the testing this mechanism driver.
Documentation Impact
====================
may require documentation
References
==========
None