Use a storage pipeline

Registered by Flavio Percoco on 2013-10-09

Sometimes, before getting to the point where operations are fully consumed by the storage driver, it is useful to apply some filters, transformations or simple registrations. In order to keep the transport layer as much agnostic as possible from what the storage layer does, this blueprint proposes the creation of a pipeline that acts as 'middleware' for the storage layer.

The pipeline must be lightweight and return quickly and has to be mapped 1:1 to what the storage API exposes.

Blueprint information

Status:
Complete
Approver:
Flavio Percoco
Priority:
Medium
Drafter:
Flavio Percoco
Direction:
Approved
Assignee:
Flavio Percoco
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Flavio Percoco on 2013-12-13
Completed by
Flavio Percoco on 2013-12-13

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:storage-pipeline,n,z

Addressed by: https://review.openstack.org/50889
    Implement common pipeline class

Addressed by: https://review.openstack.org/50890
    Use the pipeline for the storage layer

Gerrit topic: https://review.openstack.org/#q,topic:bp/storage-pipeline,n,z

Addressed by: https://review.openstack.org/51049
    Setup storage pipeline in the boostrap instead of driver base

Addressed by: https://review.openstack.org/51539
    'Persist' __getattr__ results

Addressed by: https://review.openstack.org/51540
    Use stevedore instead of importutils

Addressed by: https://review.openstack.org/51541
    Return a consumer function instead of consuming

Gerrit topic: https://review.openstack.org/#q,topic:bp/storage-sharding,n,z

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.