[ClusterLabs Developers] bug? in heartbeat/LVM OCF script
Chris Friesen
chris.friesen at windriver.com
Tue Jun 21 17:03:12 UTC 2016
On 06/20/2016 05:50 PM, Chris Friesen wrote:
>
> Hi,
>
> The heartbeat/LVM OCF script uses the following logic for the LVM_status() routine:
>
> if [ -d /dev/$1 ]; then
> test "`cd /dev/$1 && ls`" != ""
> rc=$?
> if [ $rc -ne 0 ]; then
> ocf_exit_reason "VG $1 with no logical volumes is not supported by this RA!"
> fi
> fi
<snip>
> I think it would be better to query the activity directly, using something like
> "lvs -o name,selected -S lv_active=active,vg_name=<volume_group>"
I'm testing with the following code instead of the above snippet and it seems to work okay:
# Ask lvm whether the volume group is active. This maps to
# the question "Are there any logical volumes that are active in
# the specified volume group?".
lvs --noheadings -o selected -S lv_active=active,vg_name=${1}|grep -q 1
if [ $? -ne 0 ]; then
ocf_log $loglevel "LVM Volume $1 is not available (stopped)"
rc=$OCF_NOT_RUNNING
else
rc=0
case $(get_vg_mode) in
1) # exclusive with tagging.
# If vg is running, make sure the correct tag is present. Otherwise we
# can not guarantee exclusive activation.
if ! check_tags; then
The alternative would be to leave the original snippet and add this test if the directory
is present.
Chris
More information about the Developers
mailing list