159 lines
5.2 KiB
Diff
159 lines
5.2 KiB
Diff
|
|
From 0a5fb8acb9eca15d4ea237b21da533f45821c099 Mon Sep 17 00:00:00 2001
|
||
|
|
From: rpm-build <rpm-build>
|
||
|
|
Date: Thu, 7 Dec 2023 06:54:56 +0800
|
||
|
|
Subject: [PATCH] Modify HealthCPU HealthIOWait HealthSmart about dampen,
|
||
|
|
reload, and validate simultaneously
|
||
|
|
|
||
|
|
---
|
||
|
|
agents/ocf/HealthCPU.in | 13 +++++--------
|
||
|
|
agents/ocf/HealthIOWait.in | 19 +++++++++++--------
|
||
|
|
agents/ocf/HealthSMART.in | 2 +-
|
||
|
|
3 files changed, 17 insertions(+), 17 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/agents/ocf/HealthCPU.in b/agents/ocf/HealthCPU.in
|
||
|
|
index 4bd6e36..6e9745d 100755
|
||
|
|
--- a/agents/ocf/HealthCPU.in
|
||
|
|
+++ b/agents/ocf/HealthCPU.in
|
||
|
|
@@ -26,6 +26,7 @@
|
||
|
|
: ${OCF_FUNCTIONS:="${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs"}
|
||
|
|
. "${OCF_FUNCTIONS}"
|
||
|
|
: ${__OCF_ACTION:="$1"}
|
||
|
|
+: ${OCF_RESKEY_dampen:="30s"}
|
||
|
|
|
||
|
|
#######################################################################
|
||
|
|
|
||
|
|
@@ -126,16 +127,16 @@ healthcpu_monitor() {
|
||
|
|
|
||
|
|
if [ $IDLE -lt ${OCF_RESKEY_red_limit} ] ; then
|
||
|
|
# echo "System state RED!"
|
||
|
|
- attrd_updater -n "#health-cpu" -B "red" -d ${OCF_RESKEY_dampening}
|
||
|
|
+ attrd_updater -n "#health-cpu" -B "red" -d "${OCF_RESKEY_dampening}"
|
||
|
|
return $OCF_SUCCESS
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ $IDLE -lt ${OCF_RESKEY_yellow_limit} ] ; then
|
||
|
|
# echo "System state yellow."
|
||
|
|
- attrd_updater -n "#health-cpu" -B "yellow" -d ${OCF_RESKEY_dampening}
|
||
|
|
+ attrd_updater -n "#health-cpu" -B "yellow" -d "${OCF_RESKEY_dampening}"
|
||
|
|
else
|
||
|
|
# echo "System state green."
|
||
|
|
- attrd_updater -n "#health-cpu" -B "green" -d ${OCF_RESKEY_dampening}
|
||
|
|
+ attrd_updater -n "#health-cpu" -B "green" -d "${OCF_RESKEY_dampening}"
|
||
|
|
fi
|
||
|
|
|
||
|
|
return $OCF_SUCCESS
|
||
|
|
@@ -145,8 +146,7 @@ healthcpu_monitor() {
|
||
|
|
}
|
||
|
|
|
||
|
|
healthcpu_reload_agent() {
|
||
|
|
- # No action required
|
||
|
|
- :;
|
||
|
|
+ return $OCF_SUCCESS
|
||
|
|
}
|
||
|
|
|
||
|
|
healthcpu_validate() {
|
||
|
|
@@ -197,9 +197,6 @@ fi
|
||
|
|
if [ -z "${OCF_RESKEY_yellow_limit}" ] ; then
|
||
|
|
OCF_RESKEY_yellow_limit=50
|
||
|
|
fi
|
||
|
|
-if [ -z "${OCF_RESKEY_dampening}" ]; then
|
||
|
|
- OCF_RESKEY_dampening="30s"
|
||
|
|
-fi
|
||
|
|
|
||
|
|
case "$__OCF_ACTION" in
|
||
|
|
meta-data) meta_data
|
||
|
|
diff --git a/agents/ocf/HealthIOWait.in b/agents/ocf/HealthIOWait.in
|
||
|
|
index 61b6de3..65ce901 100755
|
||
|
|
--- a/agents/ocf/HealthIOWait.in
|
||
|
|
+++ b/agents/ocf/HealthIOWait.in
|
||
|
|
@@ -19,6 +19,7 @@
|
||
|
|
: ${OCF_FUNCTIONS:="${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs"}
|
||
|
|
. "${OCF_FUNCTIONS}"
|
||
|
|
: ${__OCF_ACTION:="$1"}
|
||
|
|
+: ${OCF_RESKEY_dampening:="5s"}
|
||
|
|
|
||
|
|
#######################################################################
|
||
|
|
|
||
|
|
@@ -75,6 +76,7 @@ before writing</shortdesc>
|
||
|
|
<action name="start" timeout="10s" />
|
||
|
|
<action name="stop" timeout="10s" />
|
||
|
|
<action name="monitor" timeout="10s" interval="10s" start-delay="0s" />
|
||
|
|
+<action name="reload-agent" timeout="20s" />
|
||
|
|
<action name="meta-data" timeout="5s" />
|
||
|
|
<action name="validate-all" timeout="10s" depth="0" />
|
||
|
|
</actions>
|
||
|
|
@@ -86,7 +88,7 @@ END
|
||
|
|
|
||
|
|
agent_usage() {
|
||
|
|
cat <<END
|
||
|
|
-usage: $0 {start|stop|monitor|validate-all|meta-data}
|
||
|
|
+usage: $0 {start|stop|monitor|reload-agent|validate-all|meta-data}
|
||
|
|
|
||
|
|
Expects to have a fully populated OCF RA-compliant environment set.
|
||
|
|
END
|
||
|
|
@@ -118,22 +120,26 @@ agent_monitor() {
|
||
|
|
# echo $OCF_RESKEY_yellow_limit
|
||
|
|
if [ $WAIT -gt ${OCF_RESKEY_red_limit} ] ; then
|
||
|
|
# echo "System state RED!"
|
||
|
|
- attrd_updater -n "#health-iowait" -B "red" -d ${OCF_RESKEY_dampening}
|
||
|
|
+ attrd_updater -n "#health-iowait" -B "red" -d "${OCF_RESKEY_dampening}"
|
||
|
|
return $OCF_SUCCESS
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ $WAIT -gt ${OCF_RESKEY_yellow_limit} ] ; then
|
||
|
|
# echo "System state yellow."
|
||
|
|
- attrd_updater -n "#health-iowait" -B "yellow" -d ${OCF_RESKEY_dampening}
|
||
|
|
+ attrd_updater -n "#health-iowait" -B "yellow" -d "${OCF_RESKEY_dampening}"
|
||
|
|
else
|
||
|
|
# echo "System state green."
|
||
|
|
- attrd_updater -n "#health-iowait" -B "green" -d ${OCF_RESKEY_dampening}
|
||
|
|
+ attrd_updater -n "#health-iowait" -B "green" -d "${OCF_RESKEY_dampening}"
|
||
|
|
fi
|
||
|
|
return $OCF_SUCCESS
|
||
|
|
fi
|
||
|
|
return $OCF_NOT_RUNNING
|
||
|
|
}
|
||
|
|
|
||
|
|
+agent_reload_agent() {
|
||
|
|
+ return $OCF_SUCCESS
|
||
|
|
+}
|
||
|
|
+
|
||
|
|
is_integer() {
|
||
|
|
case "$1" in
|
||
|
|
""|*[0-9]*) return 0 ;;
|
||
|
|
@@ -184,10 +190,6 @@ if [ -z "${OCF_RESKEY_yellow_limit}" ] ; then
|
||
|
|
OCF_RESKEY_yellow_limit=10
|
||
|
|
fi
|
||
|
|
|
||
|
|
-if [ -z "${OCF_RESKEY_dampening}" ]; then
|
||
|
|
- OCF_RESKEY_dampening="5s"
|
||
|
|
-fi
|
||
|
|
-
|
||
|
|
case $__OCF_ACTION in
|
||
|
|
meta-data) meta_data
|
||
|
|
exit $OCF_SUCCESS
|
||
|
|
@@ -195,6 +197,7 @@ meta-data) meta_data
|
||
|
|
start) agent_start;;
|
||
|
|
stop) agent_stop;;
|
||
|
|
monitor) agent_validate && agent_monitor;;
|
||
|
|
+reload-agent) agent_reload_agent;;
|
||
|
|
validate-all) agent_validate;;
|
||
|
|
usage|help) agent_usage
|
||
|
|
exit $OCF_SUCCESS
|
||
|
|
diff --git a/agents/ocf/HealthSMART.in b/agents/ocf/HealthSMART.in
|
||
|
|
index 3b15339..0cafa46 100755
|
||
|
|
--- a/agents/ocf/HealthSMART.in
|
||
|
|
+++ b/agents/ocf/HealthSMART.in
|
||
|
|
@@ -351,7 +351,7 @@ fi
|
||
|
|
case "$__OCF_ACTION" in
|
||
|
|
start) HealthSMART_start;;
|
||
|
|
stop) HealthSMART_stop;;
|
||
|
|
- monitor) HealthSMART_monitor;;
|
||
|
|
+ monitor) HealthSMART_validate && HealthSMART_monitor;;
|
||
|
|
validate-all) HealthSMART_validate;;
|
||
|
|
reload-agent) HealthSMART_reload_agent;;
|
||
|
|
meta-data)
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|