OpenStack Service Chaining Framework

Registered by cathy Hong Zhang on 2015-01-16

This describes a framework for automatic and rapid deployment of end-to-end services through service chains.

This goal is to demonstrate an OpenStack based solution which will dynamically set up service chains so that different tenants’ flows can be steered through different sequences of service functions.

This is an umbrella document that references the following blueprints to define the interfaces needed to implement this framework.

https://blueprints.launchpad.net/neutron/+spec/intent-based-service-chaining
https://blueprints.launchpad.net/neutron/+spec/neutron-api-extension-for-service-chaining
https://blueprints.launchpad.net/neutron/+spec/common-service-chaining-driver-api
https://blueprints.launchpad.net/neutron/+spec/service-registration-and-integration-for-service-chaining

This work is intended to be done during the Lxxx release.

The following functionality is required for this framework:

 1. Northbound Intent Based Service Chaining API and Intent Engine. A new Intent-based Service Chaining API is proposed which allows the client applications to prescribe the sequence of service function treatments that need to be applied to traffic between a source and a destination. The Intent API is a high-level abstract layer API for the user to specify network topology agnostic and network technology agnostic service chain requirement. This abstract Intent API layer should sit on top of existing Neutron module. This Intent API is based on an Intent model which includes the following entities: the source Composite Endpoint, the destination Composite Endpoint, and a "Service Chain" Operation that consists of an ordered list of Service Functions. The first BP link will describe the intent API and associated data modeling.

 2. Neutron API Extension for Service Chaining. The Intent Engine will translate user's service intent specification into Neutron APIs. Extension on existing Neutron APIs is needed to support the service chaining functionality. This second BP link will address these extensions.

 3. Common Service Chaining Driver API. This refers to the internal low level APIs between the Neutron Manager and the Neutron Driver for supporting the service chaining functionality. It provides a common driver interface for different vendors to plug in different service chain drivers to set up the traffic steering path associated with a service chain. This allows OpenStack to separate the common functionality of managing Service Chains and service instance DB from the vendor specific implementation for realizing the service chain path setup.

 4. Service Registration API. This allows a third-party Service Manager to register its instantiated service instances with the OpenStack Service Chain Framework. The Service instances are stored in a SF Instance database. When a service chaining intent is specified, this SF Instance database may be queried to obtain matching SF instances that can be used to satisfy that intent specification.

Blueprint information

Status:
Complete
Approver:
Kyle Mestery
Priority:
Undefined
Drafter:
cathy Hong Zhang
Direction:
Needs approval
Assignee:
cathy Hong Zhang
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Armando Migliaccio on 2015-11-13

Related branches

Whiteboard

This went to networking-sfc.

(?)

Work Items