From 0b60c7d839346b6cb7e848424495866ec7bd3257 Mon Sep 17 00:00:00 2001 From: trinaths Date: Mon, 28 Apr 2014 18:08:44 +0530 Subject: [PATCH] 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 --- specs/juno/fsl-sdn-os-mech-driver.rst | 150 ++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 specs/juno/fsl-sdn-os-mech-driver.rst diff --git a/specs/juno/fsl-sdn-os-mech-driver.rst b/specs/juno/fsl-sdn-os-mech-driver.rst new file mode 100644 index 000000000..8be3fc638 --- /dev/null +++ b/specs/juno/fsl-sdn-os-mech-driver.rst @@ -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