Implement thin provisioning LVM support

Registered by John Griffith

As of LVM2 version 2.02.89 the ability to do thin provisioning
was made available in LVM, this provides some cool new features
but also addresses some problems with things like terribel LVM
LVM snapshot performance.

Currently the version of LVM in Ubuntu 12.04 does NOT support LVM thin,
however an experimental PPA from brightbox which is a backport from
Quantal has been proposed to Cannonical to be pulled in. For some
users the experimental PPA is a better option than dealing with some of
the current issues in the standard LVM2 version of Precise (including
the dd hangs on secure delete).

For Precise:
Prereqs:
   LVM version: 2.02.95(2) (2012-03-06)
   Library version: 1.02.74 (2012-03-06)
   Driver version: 4.22.0

To get these on precise we need an experimental PPA from brightbox:
    sudo add-apt-repository ppa:brightbox/experimental
 sudo apt-get install lvm2

Uses pool_size config option to determine how large of a thin pool to create. Defaults to '0' which will use the entire VG.

Change is introduced as a new driver, basicly just inherits from the existing LVM driver and would be used by adding the following driver selection to your cinder.conf file:
    volume_driver=cinder.volume.drivers.lvm.ThinLVMVolumeDriver

Blueprint information

Status:
Complete
Approver:
John Griffith
Priority:
Low
Drafter:
John Griffith
Direction:
Approved
Assignee:
John Griffith
Definition:
Approved
Series goal:
Accepted for grizzly
Implementation:
Implemented
Milestone target:
milestone icon 2013.1
Started by
John Griffith
Completed by
John Griffith

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/for,n,z

Addressed by: https://review.openstack.org/19495
    Implement LVM thin provisioning support.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.