ClusterLabs/resource-agents — pull request #221 by davidvossel (2013-04-15 20:37:08+00:00)
Title: High: LVM: Merge redhat lvm.sh into heartbeat LVM agent

= Overview =
This is a part of a project aimed at reducing duplicate redhat
and heartbeat agent functionality.

= New Features=
This patch leaves the original LVM heartbeat functionality
intact while adding these addition features from the redhat agent.

1. Exclusive activation using volume group tags. This feature
allows a volume group to live on shared storage within the cluster
without requiring the use of cLVM for metadata locking.

2. individual logical volume activation for local and cluster
volume groups by using the new 'lvname' option.

3. Better setup validation when the 'exclusive' option is enabled.
This patch validates that when exclusive activation is enabled, either
a cluster volume group is in use with cLVM, or the tags variant is
configured correctly. These new checks also makes it impossible to
enable the exclusive activation for cloned resources.

= Moved Functionality =
Functionality from the original heartbeat agent has moved into new
function names and files. This is a map to understanding where the
original functionality lives within the new merged agent.

- LVM_monitor and LVM_status --> vg_status_normal() in lvm_vg.sh
The new monitor function does additional checking to verify
both the volume group and each logical volume is correctly activated.

- LVM_start() ---> vg_start_normal() in lvm_vg.sh

- LVM_stop() ---> vg_stop_normal() in lvm_vg.sh

- LVM_validate_all() ---> verify_setup() in lvm_functions.sh
The new function also does the new exclusive activation setup
validation checks.