From 8388aca6aa13e4bef7c29261ac35cf3fb747fcb6 Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen 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 | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/heartbeat/exportfs b/heartbeat/exportfs index c10777fa9..2307a9e67 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 @@ -466,7 +469,7 @@ for dir in $OCF_RESKEY_directory; do fi else case "$__OCF_ACTION" in - stop|monitor) + stop|monitor|validate-all) canonicalized_dir="$dir" ocf_log debug "$dir does not exist" ;; From a0b67ba60e5589c17a0ff4c296ec4235edb59bfd Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen 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=$?