Service type definition for service insertion

Registered by Salvatore Orlando

This blueprint is about defining a framework of API and supporting methods for inserting L4/L7 services on Quantum logical topologies.

Slides from the summit:
Deck 1 - http://www.slideshare.net/salv_orlando/advanced-network-services-insertions-framework
Deck 2 - [provide link to Sasha's slides]

Etherpad Discussion: https://etherpad.openstack.org/grizzly-quantum-svc-insertion

High-level discussion on the topic available here: http://wiki.openstack.org/Quantum/ServiceInsertion

this is mostly DB/API level work.
We will have an extension for accessing and managing service types. (with a 'default' service type which could be specified in the configuration file).

The service type manager will also expose methods to be used by advanced service plugins to increase decrease a reference count of the service type itself
NOTE: Here an alternative being consider is whether plugin can register a foreign key to service type.

The code will be provided by a dummy plugin (with its own API), to validate how service types can be specified in requests.
The code will also extend the 'service plugins' work to allow for assigning short names to plugins.

UPDATE 2012-12-31
Patch set 6 is ready for review.
There are a few bits which still should be addressed however. Go to gerrit for more details.

Blueprint information

Status:
Complete
Approver:
dan wendlandt
Priority:
High
Drafter:
Salvatore Orlando
Direction:
Approved
Assignee:
Salvatore Orlando
Definition:
Approved
Series goal:
Accepted for grizzly
Implementation:
Implemented
Milestone target:
milestone icon 2013.1
Started by
Salvatore Orlando
Completed by
dan wendlandt

Related branches

Sprints

Whiteboard

I am pushing back to G-2.
I can have code in time for G-1, but the quality and the size of the patch will be such that a few review cycles would be needed. As this patch is not fundamental for the LB work to start (Eugene's one is), I believe that it is responsible behaviour to not add more burden onto core reviewers.

Update 03/12/12: Unfortunately I have been slowed down by other tasks last week. I am now back on this code, but will take some time as some issues with authZ framework must be sorted.

The service type indeed, as it was conceived, has no tenant, and this is confusing the authZ framework.
I might just as well add a tenant to service type, and apply the same logic we applied for external networks.

Gerrit topic: https://review.openstack.org/#q,topic:bp/quantum-service-type,n,z

Addressed by: https://review.openstack.org/17686
    API extension and DB support for service types

Addressed by: https://review.openstack.org/18341
    Add migration support to Quantum

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.