This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]