Support Service Chaining Horizon Implemetation

Registered by Mohankumar

Summary
=======

Neutron has added a new feature called service chaining. This Blueprint is to implement service chaining Horizon support.

 [1] The blueprint [2] specification [3] system design and flow

Motivation
=========

Currently Neutron does not support service chaining. To support service chaining, Service VMs must be attached at points in the network and then traffic must be steered between these attachment points.

All Neutron network services and VMs are connected to a Neutron network via Neutron ports. This makes it possible to create a traffic steering model for service chaining that uses only Neutron ports. This traffic steering model has no notion of the actual services attached to these Neutron ports.

The network service function is instantiated and configured, and then it is connected to the network through Neutron ports. Once the service function is attached to Neutron ports, the ports may be included in a "port chain" to allow the service function to provide treatment to the user's traffic.

Description
========

User can form port-chain using available neutron ports to define the traffic path and can choose set of flow classifier to treat user traffic allowed to enter into chain .

Port chain can have chain parameter and multiple port groups . Chain parameter used to define correlation and failure policy mechanism upon specific port chain , it can be extended in future based on port chain implementation, The each port group consists one or more port pairs each pair have Ingress and egress ports , Multiple port-pairs may be included in a "port-group" that can be be used for load distribution.

Flow classifiers are used to select the traffic that can access the chain. Traffic that matches any flow classifier will be directed to the first port in the chain. The flow classifier will be a generic independent module and may be used by other projects like FW, QOS, etc. multiple flow classifiers can be associated with a port chain since multiple different types of flows can request the same service treatment path.

Horizon deployment will have two panels

[1] Port chain

[2] Flow-classifiers

port chain panel will have port group , chain parameter tabs . Each panel and tabs designed to handle create , delete ,update and list actions .

UX
===

The nature of this change is enabling service chaining support in Horizon. The end user can able to view port chain and flow classifier options to create ,delete,update and list table data . It will enabled to all views .

please check [3] system design and flow

Wire-frames, Mocks, Videos and UI Markup
-------------------------------------------------------------
N/A

Testing
======

N/A

Outside Dependencies
==================
N/A

Requirements Update Required
=======================
N/A

Doc Impact
=========
N/A

Reference Links:
=============

[1] Neutron Spec:

https://blueprints.launchpad.net/neutron/+spec/neutron-api-extension-for-service-chaining

[2] Neutron API:

https://review.openstack.org/#/c/204695/

[3] Service Chain System Design and Flow :

https://review.openstack.org/#/c/207234/4

[4] networking-sfc Neuron codes (review links) :

https://review.openstack.org/#/q/project:openstack/networking-sfc,n,z

Neutron server code:

https://review.openstack.org/#/c/227074/

https://review.openstack.org/#/c/229693/

https://review.openstack.org/#/c/227097/

Neutron client code:

https://review.openstack.org/210008

Blueprint information

Status:
Complete
Approver:
David Lyle
Priority:
Low
Drafter:
Mohankumar
Direction:
Needs approval
Assignee:
Mohankumar
Definition:
Obsolete
Series goal:
None
Implementation:
Good progress
Milestone target:
None
Started by
Mohankumar
Completed by
David Lyle

Related branches

Sprints

Whiteboard

depends on neutron and neutronclient changes

[david-lyle] please add the above to the dependencies section of the blueprint. Also, is this supporting a proposed neutron extension, or a neutron plugin?

[david-lyle | 2016-05-04] I believe this is a separate plugin to horizon now. Obsoleting from Horizon's perspective.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.