110 lines
2.8 KiB
Diff
110 lines
2.8 KiB
Diff
From 8b78251b24446c0a603a533ecc0b632dd14c752b Mon Sep 17 00:00:00 2001
|
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
|
Date: Wed, 11 Jan 2023 13:22:24 +0100
|
|
Subject: [PATCH 1/2] exportfs: move testdir() to start-action to avoid failing
|
|
during resource creation (validate-all) and make it create the directory if
|
|
it doesnt exist
|
|
|
|
---
|
|
heartbeat/exportfs | 25 ++++++++++++++-----------
|
|
1 file changed, 14 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/heartbeat/exportfs b/heartbeat/exportfs
|
|
index c10777fa9..e0b66b9ee 100755
|
|
--- a/heartbeat/exportfs
|
|
+++ b/heartbeat/exportfs
|
|
@@ -301,6 +301,16 @@ exportfs_monitor ()
|
|
fi
|
|
}
|
|
|
|
+testdir() {
|
|
+ if [ ! -d $1 ]; then
|
|
+ mkdir -p "$1"
|
|
+ if [ $? -ne 0 ]; then
|
|
+ ocf_exit_reason "Unable to create directory $1"
|
|
+ return 1
|
|
+ fi
|
|
+ fi
|
|
+ return 0
|
|
+}
|
|
export_one() {
|
|
local dir=$1
|
|
local opts sep
|
|
@@ -331,6 +341,10 @@ export_one() {
|
|
}
|
|
exportfs_start ()
|
|
{
|
|
+ if ! forall testdir; then
|
|
+ return $OCF_ERR_INSTALLED
|
|
+ fi
|
|
+
|
|
if exportfs_monitor; then
|
|
ocf_log debug "already exported"
|
|
return $OCF_SUCCESS
|
|
@@ -428,14 +442,6 @@ exportfs_stop ()
|
|
fi
|
|
}
|
|
|
|
-testdir() {
|
|
- if [ ! -d $1 ]; then
|
|
- ocf_is_probe ||
|
|
- ocf_log err "$1 does not exist or is not a directory"
|
|
- return 1
|
|
- fi
|
|
- return 0
|
|
-}
|
|
exportfs_validate_all ()
|
|
{
|
|
if echo "$OCF_RESKEY_fsid" | grep -q -F ','; then
|
|
@@ -447,9 +453,6 @@ exportfs_validate_all ()
|
|
ocf_exit_reason "use integer fsid when exporting multiple directories"
|
|
return $OCF_ERR_CONFIGURED
|
|
fi
|
|
- if ! forall testdir; then
|
|
- return $OCF_ERR_INSTALLED
|
|
- fi
|
|
}
|
|
|
|
for dir in $OCF_RESKEY_directory; do
|
|
|
|
From 8acbd8ea5a87a8adc33f47a06f8b0fb4a006cbe8 Mon Sep 17 00:00:00 2001
|
|
From: Oyvind Albrigtsen <oalbrigt@redhat.com>
|
|
Date: Wed, 11 Jan 2023 13:25:57 +0100
|
|
Subject: [PATCH 2/2] pgsql: dont run promotable checks during validate-all
|
|
action
|
|
|
|
---
|
|
heartbeat/pgsql | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/heartbeat/pgsql b/heartbeat/pgsql
|
|
index aa8a13a84..a99946af5 100755
|
|
--- a/heartbeat/pgsql
|
|
+++ b/heartbeat/pgsql
|
|
@@ -1937,7 +1937,7 @@ pgsql_validate_all() {
|
|
fi
|
|
fi
|
|
|
|
- if is_replication; then
|
|
+ if [ "$OCF_CHECK_LEVEL" -eq 10 ] && is_replication; then
|
|
REP_MODE_CONF=${OCF_RESKEY_tmpdir}/rep_mode.conf
|
|
PGSQL_LOCK=${OCF_RESKEY_tmpdir}/PGSQL.lock
|
|
XLOG_NOTE_FILE=${OCF_RESKEY_tmpdir}/xlog_note
|
|
@@ -2002,7 +2002,7 @@ pgsql_validate_all() {
|
|
fi
|
|
fi
|
|
|
|
- if [ "$OCF_RESKEY_rep_mode" = "slave" ]; then
|
|
+ if [ "$OCF_CHECK_LEVEL" -eq 10 ] && [ "$OCF_RESKEY_rep_mode" = "slave" ]; then
|
|
if ocf_is_ms; then
|
|
ocf_exit_reason "Replication(rep_mode=slave) does not support Master/Slave configuration."
|
|
return $OCF_ERR_CONFIGURED
|
|
@@ -2163,6 +2163,7 @@ case "$1" in
|
|
exit $OCF_SUCCESS;;
|
|
esac
|
|
|
|
+[ "$__OCF_ACTION" != "validate-all" ] && OCF_CHECK_LEVEL=10
|
|
pgsql_validate_all
|
|
rc=$?
|
|
|