- openstack-cinder-volume: wait for volume to be available

- All agents: use grep -E/-F
- Filesystem: dont report warnings when creating resource
- storage-mon: fix daemon mode bug that caused delayed initial score

  Resolves: RHEL-72954, RHEL-75574, RHEL-76007, RHEL-76037
This commit is contained in:
Oyvind Albrigtsen 2025-01-23 16:10:19 +01:00
parent 8765ef2c32
commit 82f22cc405
6 changed files with 179 additions and 6 deletions

View File

@ -0,0 +1,21 @@
From 990d37a7209774f91b73ec9cc06e936a96db0f70 Mon Sep 17 00:00:00 2001
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
Date: Thu, 23 Jan 2025 16:04:39 +0100
Subject: [PATCH] ocf-binaries: add FGREP
---
heartbeat/ocf-binaries.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/heartbeat/ocf-binaries.in b/heartbeat/ocf-binaries.in
index e9bf95fc28..e11ae1d6fb 100644
--- a/heartbeat/ocf-binaries.in
+++ b/heartbeat/ocf-binaries.in
@@ -9,6 +9,7 @@ export PATH
# Binaries and binary options for use in Resource Agents
: ${AWK:=@AWK@}
: ${EGREP:="@EGREP@"}
+: ${FGREP:="@FGREP@"}
: ${IFCONFIG_A_OPT:="@IFCONFIG_A_OPT@"}
: ${MAILCMD:=@MAILCMD@}
: ${PING:=@PING@}

View File

@ -0,0 +1,148 @@
From b72b329a45c058fda720c6739f881b9597fc8b30 Mon Sep 17 00:00:00 2001
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
Date: Thu, 23 Jan 2025 16:18:20 +0100
Subject: [PATCH] storage-mon: replace dashes with underscores in functions
Dashes in function names produce "`storage-mon_usage': not a valid identifier"
error when run with sh -x.
---
heartbeat/storage-mon.in | 44 ++++++++++++++++++++--------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/heartbeat/storage-mon.in b/heartbeat/storage-mon.in
index 7c9943d4f..5edb96979 100644
--- a/heartbeat/storage-mon.in
+++ b/heartbeat/storage-mon.in
@@ -152,7 +152,7 @@ END
#######################################################################
-storage-mon_usage() {
+storage_mon_usage() {
cat <<END
usage: $0 {start|stop|monitor|validate-all|meta-data}
@@ -161,7 +161,7 @@ END
return $1
}
-storage-mon_init() {
+storage_mon_init() {
#Test for presence of storage_mon helper
if [ ! -x "$STORAGEMON" ] ; then
ocf_log err "${STORAGEMON} not installed."
@@ -205,7 +205,7 @@ storage-mon_init() {
fi
}
-storage-mon_update_attribute() {
+storage_mon_update_attribute() {
while :
do
@@ -224,9 +224,9 @@ storage-mon_update_attribute() {
return $OCF_SUCCESS
}
-storage-mon_monitor() {
+storage_mon_monitor() {
if ! ocf_is_true "$OCF_RESKEY_daemonize"; then
- storage-mon_init
+ storage_mon_init
# Monitor _MUST!_ differentiate correctly between running
# (SUCCESS), failed (ERROR) or _cleanly_ stopped (NOT RUNNING).
@@ -252,7 +252,7 @@ storage-mon_monitor() {
status="green"
fi
- storage-mon_update_attribute $status
+ storage_mon_update_attribute $status
return "$?"
else
ocf_pidfile_status "${PIDFILE}" > /dev/null 2>&1
@@ -298,20 +298,20 @@ storage-mon_monitor() {
esac
done
- storage-mon_update_attribute $status
+ storage_mon_update_attribute $status
return "$?"
fi
}
-storage-mon_start() {
+storage_mon_start() {
if ! ocf_is_true "$OCF_RESKEY_daemonize"; then
- storage-mon_monitor
+ storage_mon_monitor
if [ $? -eq $OCF_SUCCESS ]; then
return $OCF_SUCCESS
fi
touch "${OCF_RESKEY_state_file}"
else
- storage-mon_init
+ storage_mon_init
# generate command line
cmdline=""
for DRIVE in ${OCF_RESKEY_drives}; do
@@ -328,7 +328,7 @@ storage-mon_start() {
#Wait until monitor confirms the startup pid according to the ocf resource specification.
while true; do
- storage-mon_monitor pid_check_only
+ storage_mon_monitor pid_check_only
rc="$?"
if [ $rc -eq $OCF_SUCCESS ]; then
break
@@ -339,8 +339,8 @@ storage-mon_start() {
fi
}
-storage-mon_stop() {
- storage-mon_monitor
+storage_mon_stop() {
+ storage_mon_monitor
rc=$?
if ! ocf_is_true "$OCF_RESKEY_daemonize"; then
@@ -363,7 +363,7 @@ storage-mon_stop() {
fi
while true; do
- storage-mon_monitor pid_check_only
+ storage_mon_monitor pid_check_only
rc="$?"
case "$rc" in
$OCF_SUCCESS)
@@ -379,8 +379,8 @@ storage-mon_stop() {
return $OCF_SUCCESS
}
-storage-mon_validate() {
- storage-mon_init
+storage_mon_validate() {
+ storage_mon_init
if ! ocf_is_true "$OCF_RESKEY_daemonize"; then
# Is the state directory writable?
@@ -396,13 +396,13 @@ storage-mon_validate() {
}
case "$__OCF_ACTION" in
- start) storage-mon_start;;
- stop) storage-mon_stop;;
- monitor) storage-mon_monitor;;
- validate-all) storage-mon_validate;;
+ start) storage_mon_start;;
+ stop) storage_mon_stop;;
+ monitor) storage_mon_monitor;;
+ validate-all) storage_mon_validate;;
meta-data) meta_data;;
- usage|help) storage-mon_usage $OCF_SUCCESS;;
- *) storage-mon_usage $OCF_ERR_UNIMPLEMENTED;;
+ usage|help) storage_mon_usage $OCF_SUCCESS;;
+ *) storage_mon_usage $OCF_ERR_UNIMPLEMENTED;;
esac
rc=$?
ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"

View File

@ -45,7 +45,7 @@
Name: resource-agents Name: resource-agents
Summary: Open Source HA Reusable Cluster Resource Scripts Summary: Open Source HA Reusable Cluster Resource Scripts
Version: 4.16.0 Version: 4.16.0
Release: 2%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} Release: 3%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist}
License: GPL-2.0-or-later AND LGPL-2.1-or-later License: GPL-2.0-or-later AND LGPL-2.1-or-later
URL: https://github.com/ClusterLabs/resource-agents URL: https://github.com/ClusterLabs/resource-agents
Source0: %{upstream_prefix}-%{upstream_version}.tar.gz Source0: %{upstream_prefix}-%{upstream_version}.tar.gz
@ -55,10 +55,12 @@ Patch2: RHEL-66293-2-aws-agents-reuse-imds-token-improvements.patch
Patch3: RHEL-68740-awsvip-add-interface-parameter.patch Patch3: RHEL-68740-awsvip-add-interface-parameter.patch
Patch4: RHEL-72954-1-openstack-cinder-volume-wait-for-volume-to-be-available.patch Patch4: RHEL-72954-1-openstack-cinder-volume-wait-for-volume-to-be-available.patch
Patch5: RHEL-72954-2-openstack-cinder-volume-fix-detach-not-working-during-start-action.patch Patch5: RHEL-72954-2-openstack-cinder-volume-fix-detach-not-working-during-start-action.patch
Patch6: RHEL-75574-all-agents-use-grep-E-F.patch Patch6: RHEL-75574-1-all-agents-use-grep-E-F.patch
Patch7: RHEL-76007-Filesystem-dont-report-warnings-when-creating-resource.patch Patch7: RHEL-75574-2-ocf-binaries-add-FGREP.patch
Patch8: RHEL-76037-1-storage_mon-remove-unused-variables.patch Patch8: RHEL-76007-Filesystem-dont-report-warnings-when-creating-resource.patch
Patch9: RHEL-76037-2-fix-daemon-mode-bug-that-caused-delayed-initial-score.patch Patch9: RHEL-76037-1-storage-mon-remove-unused-variables.patch
Patch10: RHEL-76037-2-storage-mon-fix-daemon-mode-bug-that-caused-delayed-initial-score.patch
Patch11: RHEL-76037-3-storage-mon-only-use-underscores-in-functions.patch
# bundled ha-cloud-support libs # bundled ha-cloud-support libs
Patch500: ha-cloud-support-aliyun.patch Patch500: ha-cloud-support-aliyun.patch
@ -225,6 +227,8 @@ exit 1
%patch -p1 -P 7 %patch -p1 -P 7
%patch -p1 -P 8 %patch -p1 -P 8
%patch -p1 -P 9 %patch -p1 -P 9
%patch -p1 -P 10
%patch -p1 -P 11
# bundled ha-cloud-support libs # bundled ha-cloud-support libs
%patch -p1 -P 500 %patch -p1 -P 500
@ -543,7 +547,7 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents
%{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm %{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm
%changelog %changelog
* Thu Jan 23 2025 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.16.0-2 * Thu Jan 23 2025 Oyvind Albrigtsen <oalbrigt@redhat.com> - 4.16.0-3
- openstack-cinder-volume: wait for volume to be available - openstack-cinder-volume: wait for volume to be available
- All agents: use grep -E/-F - All agents: use grep -E/-F
- Filesystem: dont report warnings when creating resource - Filesystem: dont report warnings when creating resource