This is the mail archive of the
cluster-cvs@sourceware.org
mailing list for the cluster.
STABLE2 - [RGMANAGER] - Fix #462910 postgres-8.sh and metadata fixes
- From: Marek GrÃc <marx at fedoraproject dot org>
- To: cluster-cvs-relay at redhat dot com
- Date: Thu, 9 Oct 2008 13:00:22 +0000 (UTC)
- Subject: STABLE2 - [RGMANAGER] - Fix #462910 postgres-8.sh and metadata fixes
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=7d5a4d0247c2d874d04be4ee4e74b8bf48ec09a3
Commit: 7d5a4d0247c2d874d04be4ee4e74b8bf48ec09a3
Parent: 38a6ca8a2f2b016bded882c2aaaa24dd30f96a68
Author: Marek 'marx' Grac <mgrac@redhat.com>
AuthorDate: Wed Oct 8 16:50:08 2008 +0200
Committer: Marek 'marx' Grac <mgrac@redhat.com>
CommitterDate: Thu Oct 9 14:46:36 2008 +0200
[RGMANAGER] - Fix #462910 postgres-8.sh and metadata fixes
---
rgmanager/src/resources/postgres-8.metadata | 2 +-
rgmanager/src/resources/postgres-8.sh | 16 +++++++++++++---
rgmanager/src/resources/utils/ra-skelet.sh | 5 +++++
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/rgmanager/src/resources/postgres-8.metadata b/rgmanager/src/resources/postgres-8.metadata
index e243dd9..ad3f84e 100644
--- a/rgmanager/src/resources/postgres-8.metadata
+++ b/rgmanager/src/resources/postgres-8.metadata
@@ -48,7 +48,7 @@
<shortdesc lang="en">
Other command-line options for postmaster
</shortdesc>
- <content type="string" />
+ <content type="string" default="-D /var/lib/pgsql/data"/>
</parameter>
<parameter name="shutdown_wait">
diff --git a/rgmanager/src/resources/postgres-8.sh b/rgmanager/src/resources/postgres-8.sh
index 3716be6..31302a7 100644
--- a/rgmanager/src/resources/postgres-8.sh
+++ b/rgmanager/src/resources/postgres-8.sh
@@ -80,10 +80,10 @@ generate_config_file()
generate_configTemplate "$generated_file" "$1"
echo "external_pid_file = '$PSQL_pid_file'" >> "$generated_file"
- echo "listen_address = '$ip_comma'" >> "$generated_file"
+ echo "listen_addresses = '$ip_comma'" >> "$generated_file"
echo >> "$generated_file"
- sed 's/^[[:space:]]*external_pid_file/### external_pid_file/i;s/^[[:space:]]*listen_address/### listen_address/i' < "$original_file" >> "$generated_file"
+ sed 's/^[[:space:]]*external_pid_file/### external_pid_file/i;s/^[[:space:]]*listen_addresses/### listen_addresses/i' < "$original_file" >> "$generated_file"
sha1_addToFile "$generated_file"
clog_generate_config $CLOG_SUCCEED "$original_file" "$generated_file"
@@ -94,6 +94,7 @@ generate_config_file()
start()
{
declare ccs_fd;
+ declare pguser_group
clog_service_start $CLOG_INIT
@@ -107,6 +108,15 @@ start()
return $OCF_ERR_GENERIC
fi
+ #
+ # Create an empty PID file for the postgres user and
+ # change it to be owned by the postgres user so that
+ # postmaster doesn't complain.
+ #
+ pguser_group=`groups $OCF_RESKEY_postmaster_user | cut -f1 -d ' '`
+ touch $PSQL_pid_file
+ chown $OCF_RESKEY_postmaster_user.$pguser_group $PSQL_pid_file
+
clog_looking_for $CLOG_INIT "IP Addresses"
ccs_fd=$(ccs_connect);
@@ -128,7 +138,7 @@ start()
generate_config_file "$OCF_RESKEY_config_file" "$PSQL_gen_config_file" "$ip_addresses"
sudo -u "$OCF_RESKEY_postmaster_user" $PSQL_POSTMASTER -c config_file="$PSQL_gen_config_file" \
- $OCF_RESKEY_postmaster_options
+ $OCF_RESKEY_postmaster_options &> /dev/null &
if [ $? -ne 0 ]; then
clog_service_start $CLOG_FAILED
diff --git a/rgmanager/src/resources/utils/ra-skelet.sh b/rgmanager/src/resources/utils/ra-skelet.sh
index 1b9f471..982bbc6 100644
--- a/rgmanager/src/resources/utils/ra-skelet.sh
+++ b/rgmanager/src/resources/utils/ra-skelet.sh
@@ -39,6 +39,11 @@ stop_generic()
read pid < "$pid_file"
+ # @todo: PID file empty -> error?
+ if [ -z "$pid" ]; then
+ return 0;
+ fi
+
# @todo: PID is not running -> error?
if [ ! -d "/proc/$pid" ]; then
return 0;