From: Nathaniel Clark Date: Thu, 1 Nov 2018 15:13:26 +0000 (-0400) Subject: LU-11461 scripts: Support symlink target X-Git-Tag: 2.12.0-RC1~111 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=c36d70272541d3ba3dd9051e6f50cf89eaba639f LU-11461 scripts: Support symlink target Support if configured target is symlink to real device, for instance /dev/disk/by-id/scsi-WWID. Also check against bare target for ZPOOL/DEVICE which will return an empty string when passed to realpath. Also fix usage function, so it prints usage and doesn't just error out. Test-Parameters: trivial Signed-off-by: Nathaniel Clark Change-Id: I699b1fd36c1e53e99a8d0e6b691374eca42fccc9 Reviewed-on: https://review.whamcloud.com/33277 Reviewed-by: Joe Grund Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- diff --git a/lustre/conf/resource/Lustre b/lustre/conf/resource/Lustre index 645bf96..cafb07b 100755 --- a/lustre/conf/resource/Lustre +++ b/lustre/conf/resource/Lustre @@ -4,7 +4,7 @@ # Description: Manages Lustre server on a shared storage # Written by: Gabriele Paciucci, Nathaniel Clark # Release Date: 28 February 2017 -# Release Version: 1.0.0 +# Release Version: 1.0.1 # Copyright (c) 2017, Intel Corporation # # This program is free software; you can redistribute it and/or modify @@ -37,7 +37,7 @@ # USAGE usage() { - usage: $0 {start|stop|status|monitor|validate-all|meta-data} + echo "usage: $0 {start|stop|status|monitor|validate-all|meta-data}" } # META-DATA @@ -47,7 +47,7 @@ meta_data() { -1.0.0 +1.0.1 This script manages Lustre Targets (MGT, MDT, OST). The script is able to mount/umount Lustre Targets. @@ -98,7 +98,9 @@ lustre_is_mounted () { # Verify if this is consistent, check pointpoint and filesystem # against source (i.e. device) local dev=$(findmnt -t lustre -ln -o SOURCE -T $(realpath "$OCF_RESKEY_mountpoint")) - [ "$dev" == "$OCF_RESKEY_target" ] + + [ -n "$dev" ] && + [ "$dev" == "$OCF_RESKEY_target" -o "$dev" == $(realpath "$OCF_RESKEY_target") ] } lustre_monitor () { @@ -126,6 +128,7 @@ lustre_mount () { ocf_log err "$OCF_RESKEY_volume mount failed" return $OCF_ERR_GENERIC fi + return $OCF_SUCCESS } lustre_umount () { @@ -139,6 +142,7 @@ lustre_umount () { ocf_log err "$OCF_RESKEY_target unmount failed" return $OCF_ERR_GENERIC fi + return $OCF_SUCCESS } all_start () { @@ -162,7 +166,7 @@ all_stop () { } validate () { - if [ ! -d "$OCF_RESKEY_mountpoint" ]; then + if [ ! -d "$(realpath $OCF_RESKEY_mountpoint)" ]; then ocf_log err "$OCF_RESKEY_mountpoint can not be found" return $OCF_ERR_INSTALLED fi