Add Local Cache feature to Oracle ZFSSA Cinder drivers

Registered by Diem Tran

Currently everytime a bootable volume is created, image data is transferred
from a Cinder host to ZFS Storage Appliance (ZFSSA). If the same image is
being used multiple times, there is a lot of network traffic being wasted on
transferring the same data. To solve the problem, "Local Caching" is introduced
to both ZFSSA NFS and iSCSI drivers. The feature takes advantage of ZFSSA
snapshot and clone, which can be created almost instantly from an existing
volume.

Below is an outline of the implementation:

- Identify whether the volume being created is a bootable volume.
If so, verify the image ID being used:

    (1) If there is no existing cache volume, create one and transfer
    image data to it. Take a snapshot.

    (2) If a cache volume already exists, verify if it is alternated/updated.
    If so try to remove it. Raise exception if removal fails. Create a new
    cache volume as in (1).

- Clone from the snapshot. Report the clone back to Cinder.

Cache volumes will be stored in a separate project. Cache volumes will be removed
it has no clone.
Custom schema will be used to store necessary properties in ZFSSA volumes.

There are also 2 new driver properties:
- zfssa_enable_local_cache: (True/False) To enable/disable the feature
- zfssa_cache_project: The ZFSSA project name where cache volumes are stored.

ZFSSA running software version 2013.1.2.0(full version string for this release
is 2013.06.05.2.0,1-1.10) and higher is required for this feature.

Blueprint information

Status:
Complete
Approver:
Mike Perez
Priority:
Low
Drafter:
Diem Tran
Direction:
Approved
Assignee:
Diem Tran
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon 7.0.0
Started by
Diem Tran
Completed by
John Griffith

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/oracle-zfssa-local-cache,n,z

Addressed by: https://review.openstack.org/212155
    Local cache feature of Oracle ZFSSA drivers

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.