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 <nclark@whamcloud.com>
Change-Id: I699b1fd36c1e53e99a8d0e6b691374eca42fccc9
Reviewed-on: https://review.whamcloud.com/33277
Reviewed-by: Joe Grund <jgrund@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
# Description: Manages Lustre server on a shared storage
# Written by: Gabriele Paciucci, Nathaniel Clark
# Release Date: 28 February 2017
# 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
# Copyright (c) 2017, Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
- usage: $0 {start|stop|status|monitor|validate-all|meta-data}
+ echo "usage: $0 {start|stop|status|monitor|validate-all|meta-data}"
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="Lustre">
<?xml version="1.0"?>
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
<resource-agent name="Lustre">
-<version>1.0.0</version>
+<version>1.0.1</version>
<longdesc lang="en">
This script manages Lustre Targets (MGT, MDT, OST).
The script is able to mount/umount Lustre Targets.
<longdesc lang="en">
This script manages Lustre Targets (MGT, MDT, OST).
The script is able to mount/umount Lustre Targets.
# 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"))
# 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") ]
ocf_log err "$OCF_RESKEY_volume mount failed"
return $OCF_ERR_GENERIC
fi
ocf_log err "$OCF_RESKEY_volume mount failed"
return $OCF_ERR_GENERIC
fi
ocf_log err "$OCF_RESKEY_target unmount failed"
return $OCF_ERR_GENERIC
fi
ocf_log err "$OCF_RESKEY_target unmount failed"
return $OCF_ERR_GENERIC
fi
- 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
ocf_log err "$OCF_RESKEY_mountpoint can not be found"
return $OCF_ERR_INSTALLED
fi