Glance multi-store backend support

Registered by Boden R

Glance currently supports a single store per scheme (file, vsphere, etc.) and as a result image bits can only be backed on a single backend on a per scheme basis. While this approach suffices for a number of use cases, ideally glance would support multiple stores of the same scheme and expose capabilities to discover and target those backends for (applicable) v2 image operations. Multi-store support opens the door to a handful of image replication and backend targeting use cases which can provide additional value related to fault tolerance, image locality and policy based image hosting.

This BP suggests we should enhance glance v2 in the following ways to support multi-store capabilities:
- Support in the glance-api.conf and supporting logic to configure, manage and use multiple stores of the same type / scheme.
- A new REST API to list all configured (applicable) stores known to the glance service.
- Enhance the image upload API to (optionally) support targeting a backend store for the image bits.
- Enhance the image download API to (optionally) support targeting a backend store to download the image bits from.
- Additional metadata attribute(s) added to an image locations' metadata properties related to backing stores.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Essential
Drafter:
Boden R
Direction:
Approved
Assignee:
Abhishek Kekane
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon rocky-rc1
Started by
Brian Rosmaita
Completed by
Brian Rosmaita

Related branches

Sprints

Whiteboard

(2/6/15: boden) IRC dump with potential dependencies / overlap
--------------
12:19 nikhil_k: we're planning to refactor glance_store api to support some of the use cases like https://blueprints.launchpad.net/glance/+spec/new-upload-workflow
12:20 nikhil_k: boden: so, see your proposal prolly matches close to what there is already
--------------

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

Addressed by: https://review.openstack.org/573094
    WIP Glance Multi Store Support New Change

Addressed by: https://review.openstack.org/574582
    Add multi-store support

Addressed by: https://review.openstack.org/574627
    +1

Addressed by: https://review.openstack.org/576075
    Doc:Multiple stores support

Addressed by: https://review.openstack.org/577502
    Unit tests for multi store support

(?)

Work Items