Skip to content

Commit

Permalink
Merge pull request ClusterLabs#1834 from oalbrigt/exportfs-pgsql-fixes
Browse files Browse the repository at this point in the history
exportfs/pgsql: validate-all fixes
  • Loading branch information
oalbrigt committed Jan 30, 2023
2 parents 5c81805 + 8ee41af commit 9bcb9d5
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 33 deletions.
27 changes: 15 additions & 12 deletions heartbeat/exportfs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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"
;;
Expand Down
53 changes: 32 additions & 21 deletions heartbeat/pgsql
Original file line number Diff line number Diff line change
Expand Up @@ -1835,7 +1835,7 @@ check_config() {

if [ ! -f "$1" ]; then
if ocf_is_probe; then
ocf_log info "Configuration file is $1 not readable during probe."
ocf_log info "Unable to read $1 during probe."
rc=1
else
ocf_exit_reason "Configuration file $1 doesn't exist"
Expand All @@ -1846,8 +1846,7 @@ check_config() {
return $rc
}

# Validate most critical parameters
pgsql_validate_all() {
validate_ocf_check_level_10() {
local version
local check_config_rc
local rep_mode_string
Expand Down Expand Up @@ -1883,12 +1882,6 @@ pgsql_validate_all() {
fi
fi

getent passwd $OCF_RESKEY_pgdba >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
ocf_exit_reason "User $OCF_RESKEY_pgdba doesn't exist";
return $OCF_ERR_INSTALLED;
fi

if ocf_is_probe; then
ocf_log info "Don't check $OCF_RESKEY_pgdata during probe"
else
Expand All @@ -1898,18 +1891,6 @@ pgsql_validate_all() {
fi
fi

if [ -n "$OCF_RESKEY_monitor_user" -a ! -n "$OCF_RESKEY_monitor_password" ]
then
ocf_exit_reason "monitor password can't be empty"
return $OCF_ERR_CONFIGURED
fi

if [ ! -n "$OCF_RESKEY_monitor_user" -a -n "$OCF_RESKEY_monitor_password" ]
then
ocf_exit_reason "monitor_user has to be set if monitor_password is set"
return $OCF_ERR_CONFIGURED
fi

if is_replication || [ "$OCF_RESKEY_rep_mode" = "slave" ]; then
if [ `printf "$version\n9.1" | sort -n | head -1` != "9.1" ]; then
ocf_exit_reason "Replication mode needs PostgreSQL 9.1 or higher."
Expand Down Expand Up @@ -2027,6 +2008,35 @@ pgsql_validate_all() {
return $OCF_SUCCESS
}

# Validate most critical parameters
pgsql_validate_all() {
local rc

getent passwd $OCF_RESKEY_pgdba >/dev/null 2>&1
if [ ! $? -eq 0 ]; then
ocf_exit_reason "User $OCF_RESKEY_pgdba doesn't exist";
return $OCF_ERR_INSTALLED;
fi

if [ -n "$OCF_RESKEY_monitor_user" ] && [ -z "$OCF_RESKEY_monitor_password" ]; then
ocf_exit_reason "monitor password can't be empty"
return $OCF_ERR_CONFIGURED
fi

if [ -z "$OCF_RESKEY_monitor_user" ] && [ -n "$OCF_RESKEY_monitor_password" ]; then
ocf_exit_reason "monitor_user has to be set if monitor_password is set"
return $OCF_ERR_CONFIGURED
fi

if [ "$OCF_CHECK_LEVEL" -eq 10 ]; then
validate_ocf_check_level_10
rc=$?
[ $rc -ne "$OCF_SUCCESS" ] && exit $rc
fi

return $OCF_SUCCESS
}


#
# Check if we need to create a log file
Expand Down Expand Up @@ -2163,6 +2173,7 @@ case "$1" in
exit $OCF_SUCCESS;;
esac

[ "$__OCF_ACTION" != "validate-all" ] && OCF_CHECK_LEVEL=10
pgsql_validate_all
rc=$?

Expand Down

0 comments on commit 9bcb9d5

Please sign in to comment.