dad45a06a5
stx-integ/base/cluster-resource-agents Move content from stx-gplv2 into stx-integ Packages will be relocated to stx-integ: base/ bash cgcs-users cluster-resource-agents dpkg haproxy libfdt netpbm rpm database/ mariadb filesystem/ iscsi-initiator-utils filesystem/drbd/ drbd-tools kernel/kernel-modules/ drbd integrity intel-e1000e intel-i40e intel-i40evf intel-ixgbe intel-ixgbevf qat17 tpmdd ldap/ ldapscripts networking/ iptables net-tools Change-Id: I3a4ee4bde0adfd2a486bd5be3a151db85aa4947e Story: 2002801 Task: 22687 Signed-off-by: Scott Little <scott.little@windriver.com>
205 lines
5.4 KiB
Diff
205 lines
5.4 KiB
Diff
From ec5790e7d930bd3436d67319c5214a7bf64fa164 Mon Sep 17 00:00:00 2001
|
|
From: Scott Little <scott.little@windriver.com>
|
|
Date: Mon, 2 Oct 2017 15:12:25 -0400
|
|
Subject: [PATCH 01/13] WRS: Patch1105: filesystem_rmon.patch
|
|
|
|
---
|
|
heartbeat/Filesystem | 59 +++++++++++++++++++++++++++++++++++++++++++++++++---
|
|
heartbeat/LVM | 58 +++++++++++++++++++++++++++++++++++++++++++++++----
|
|
2 files changed, 110 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/heartbeat/Filesystem b/heartbeat/Filesystem
|
|
index d834096..8cd9c6b 100755
|
|
--- a/heartbeat/Filesystem
|
|
+++ b/heartbeat/Filesystem
|
|
@@ -19,6 +19,7 @@
|
|
# OCF_RESKEY_run_fsck
|
|
# OCF_RESKEY_fast_stop
|
|
# OCF_RESKEY_force_clones
|
|
+# OCF_RESKEY_rmon_rsc_name
|
|
#
|
|
#OCF_RESKEY_device : name of block device for the filesystem. e.g. /dev/sda1, /dev/md0
|
|
# Or a -U or -L option for mount, or an NFS mount specification
|
|
@@ -30,6 +31,7 @@
|
|
#OCF_RESKEY_fast_stop : fast stop: yes(default)/no
|
|
#OCF_RESKEY_force_clones : allow running the resource as clone. e.g. local xfs mounts
|
|
# for each brick in a glusterfs setup
|
|
+#OCF_RESKEY_rmon_rsc_name: resource name to use when notifing RMON
|
|
#
|
|
#
|
|
# This assumes you want to manage a filesystem on a shared (SCSI) bus,
|
|
@@ -1137,20 +1139,65 @@ if [ "$OP" != "monitor" ]; then
|
|
ocf_log info "Running $OP for $DEVICE on $MOUNTPOINT"
|
|
fi
|
|
|
|
+RMON_NOTIFY="/usr/local/bin/rmon_resource_notify"
|
|
+
|
|
+rmon_notify() {
|
|
+ local RSC_STATE=$1 TIMEOUT=$2
|
|
+
|
|
+ if [ -z "OCF_RESKEY_rmon_rsc_name" ]
|
|
+ then
|
|
+ ocf_log err "No RMON resource name given for $OCF_RESKEY_directory"
|
|
+ return
|
|
+ fi
|
|
+
|
|
+ if [[ -x $RMON_NOTIFY ]]
|
|
+ then
|
|
+ $RMON_NOTIFY --resource-name $OCF_RESKEY_rmon_rsc_name \
|
|
+ --resource-state $RSC_STATE \
|
|
+ --resource-type mount \
|
|
+ --device $OCF_RESKEY_device \
|
|
+ --mount-point $OCF_RESKEY_directory \
|
|
+ --timeout $TIMEOUT \
|
|
+ >/dev/null 2>&1
|
|
+ else
|
|
+ ocf_log err "$RMON_NOTIFY not available, failed to execute: \
|
|
+$RMON_NOTIFY --resource-name $OCF_RESKEY_rmon_rsc_name \
|
|
+--resource-state $RSC_STATE --resource-type mount \
|
|
+--device $OCF_RESKEY_device --mount-point $OCF_RESKEY_directory \
|
|
+--timeout $TIMEOUT"
|
|
+ fi
|
|
+}
|
|
+
|
|
# These operations do not require the clone checking + OCFS2
|
|
# initialization.
|
|
case $OP in
|
|
status) Filesystem_status
|
|
- exit $?
|
|
+ rc=$?
|
|
+ if [ $rc -eq $OCF_SUCCESS ]
|
|
+ then
|
|
+ rmon_notify "enabled" 300
|
|
+ else
|
|
+ rmon_notify "disabled" 300
|
|
+ fi
|
|
+ exit $rc
|
|
;;
|
|
monitor) Filesystem_monitor
|
|
- exit $?
|
|
+ rc=$?
|
|
+ if [ $rc -eq $OCF_SUCCESS ]
|
|
+ then
|
|
+ rmon_notify "enabled" 300
|
|
+ else
|
|
+ rmon_notify "disabled" 300
|
|
+ fi
|
|
+ exit $rc
|
|
;;
|
|
validate-all) Filesystem_validate_all
|
|
exit $?
|
|
;;
|
|
stop) Filesystem_stop
|
|
- exit $?
|
|
+ rc=$?
|
|
+ rmon_notify "disabled" 300
|
|
+ exit $rc
|
|
;;
|
|
esac
|
|
|
|
@@ -1199,6 +1246,12 @@ fi
|
|
|
|
case $OP in
|
|
start) Filesystem_start
|
|
+ rc=$?
|
|
+ if [ $rc -eq $OCF_SUCCESS ]
|
|
+ then
|
|
+ rmon_notify "enabled" 300
|
|
+ fi
|
|
+ exit $rc
|
|
;;
|
|
notify) Filesystem_notify
|
|
;;
|
|
diff --git a/heartbeat/LVM b/heartbeat/LVM
|
|
index eae7a91..733d113 100755
|
|
--- a/heartbeat/LVM
|
|
+++ b/heartbeat/LVM
|
|
@@ -22,6 +22,7 @@
|
|
#
|
|
# OCF parameters are as below:
|
|
# OCF_RESKEY_volgrpname
|
|
+# OCF_RESKEY_rmon_rsc_name
|
|
#
|
|
#######################################################################
|
|
# Initialization:
|
|
@@ -711,6 +712,34 @@ then
|
|
exit $OCF_ERR_CONFIGURED
|
|
fi
|
|
|
|
+RMON_NOTIFY="/usr/local/bin/rmon_resource_notify"
|
|
+
|
|
+rmon_notify() {
|
|
+ local RSC_STATE=$1 TIMEOUT=$2
|
|
+
|
|
+ if [ -z "OCF_RESKEY_rmon_rsc_name" ]
|
|
+ then
|
|
+ ocf_log err "No RMON resource name given for $OCF_RESKEY_volgrpname"
|
|
+ return
|
|
+ fi
|
|
+
|
|
+ if [[ -x $RMON_NOTIFY ]]
|
|
+ then
|
|
+ $RMON_NOTIFY --resource-name $OCF_RESKEY_rmon_rsc_name \
|
|
+ --resource-state $RSC_STATE \
|
|
+ --resource-type lvg \
|
|
+ --volume-group $OCF_RESKEY_volgrpname \
|
|
+ --timeout $TIMEOUT \
|
|
+ >/dev/null 2>&1
|
|
+ else
|
|
+ ocf_log err "$RMON_NOTIFY not available, failed to execute: \
|
|
+$RMON_NOTIFY --resource-name $OCF_RESKEY_rmon_rsc_name \
|
|
+--resource-state $RSC_STATE --resource-type lvg \
|
|
+--volume-group $OCF_RESKEY_volgrpname \
|
|
+--timeout $TIMEOUT"
|
|
+ fi
|
|
+}
|
|
+
|
|
# Get the LVM version number, for this to work we assume(thanks to panjiam):
|
|
#
|
|
# LVM1 outputs like this
|
|
@@ -752,16 +781,37 @@ case "$1" in
|
|
start)
|
|
LVM_validate_all
|
|
LVM_start $VOLUME
|
|
- exit $?;;
|
|
+ rc=$?
|
|
+ if [ $rc -eq $OCF_SUCCESS ]
|
|
+ then
|
|
+ rmon_notify "enabled" 300
|
|
+ fi
|
|
+ exit $rc;;
|
|
|
|
stop) LVM_stop $VOLUME
|
|
- exit $?;;
|
|
+ rc=$?
|
|
+ rmon_notify "disabled" 300
|
|
+ exit $rc;;
|
|
|
|
status) LVM_status $VOLUME $1
|
|
- exit $?;;
|
|
+ rc=$?
|
|
+ if [ $rc -eq $OCF_SUCCESS ]
|
|
+ then
|
|
+ rmon_notify "enabled" 300
|
|
+ else
|
|
+ rmon_notify "disabled" 300
|
|
+ fi
|
|
+ exit $rc;;
|
|
|
|
monitor) LVM_status $VOLUME
|
|
- exit $?;;
|
|
+ rc=$?
|
|
+ if [ $rc -eq $OCF_SUCCESS ]
|
|
+ then
|
|
+ rmon_notify "enabled" 300
|
|
+ else
|
|
+ rmon_notify "disabled" 300
|
|
+ fi
|
|
+ exit $rc;;
|
|
|
|
validate-all) LVM_validate_all
|
|
;;
|
|
--
|
|
1.9.1
|
|
|