c22442cf09
Problem: - Centos 7.5 upgraded resource-agentss. - Porting of resource-agentss patches did not resolve and 'fuzz' in the line numbers of the patches. - If resource-agents is built by rpm 4.11, or default version of rpm until 4.14 is compiled, a fuzzy patch results in the creating of an .orig file. - Packaging of resource-agentss failes due to the unexpected, and unpackaged .orig file Solution: Safest solution is to de-fuzz our resource-agentss patches. Story: 2003389 Task: 26755 Change-Id: I14d975368f5e70eea5bae6ac8dcfed2cfd6711ff Signed-off-by: Sun Austin <austin.sun@intel.com>
205 lines
5.4 KiB
Diff
205 lines
5.4 KiB
Diff
From a4b297ec4b5decaa1752a2f867ba890604804159 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 425a60a..ba6c198 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:
|
|
@@ -699,6 +700,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
|
|
@@ -740,16 +769,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
|
|
;;
|
|
--
|
|
2.7.4
|
|
|