Sync image across regions

Registered by Abhishek Kekane

For small to medium size deployments, we intend to use filesystem store as a backend to store image data. Presently there is no mechanism to sync image data across different geographical regions. It is possible to use mysql replication to sync glance-registry data between regions but no way to sync image data.
To solve this problem add a hook in each of the add/update/delete image API. In the hook, it will use framework introduced in this BP[1] to create a asynchronous task to copy image (image data/metadata) from one region to another. Need to add new tasks to sync image between regions. From this task it will invoke a new API that will be added by this implementation[2] to copy image from one region to another.

Note: This new API assumes user to call it from the target region but instead it should be called from the source region, so few changes to the API would be needed to make this work.

Add two new parameters to the glance-api.conf
1) sync_images = True|False
2) sync_between_regions = x,y,z (x,y,z are the URL of the glance api servers running in each region)

Assumption:
- Centralized keystone service to be used across all regions.

Dependent blueprints
[1] - https://blueprints.launchpad.net/glance/+spec/async-glance-workers
[2] - https://blueprints.launchpad.net/glance/+spec/clone-image-across-regions

Blueprint information

Status:
Complete
Approver:
Mark Washenberger
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Abhishek Kekane
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Abhishek Kekane

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.