On Tue, Jun 22, 2010 at 01:16:35PM +0200, Dejan Muhamedagic wrote:
> Hi Serge,
>
> On Mon, Jun 21, 2010 at 10:19:13AM -0600, Serge Dubrouski wrote:
> > Hello -
> >
> > Some users reported a need for this patch to cover the situation with
> > non-default unix socket directory in PostgreSQL configuration.
>
> Why not set OCF_RESKEY_socketdir_default=/var/run/postgresql (or
> whatever is its standard location)? I don't see how things could
> go wrong with that.
>
> BTW, how comes that nobody complained about this before? I
> understand that cleaning up all directories under /var/run is in
> LSB.
>
> Cheers,
>
> Dejan
>
> > --
> > Serge Dubrouski.
>
> > --- a/heartbeat/pgsql 2010-06-21 09:41:06.000000000 -0600
> > +++ b/heartbeat/pgsql 2010-06-21 10:03:04.000000000 -0600
> > @@ -27,6 +27,7 @@
> > OCF_RESKEY_start_opt_default=""
> > OCF_RESKEY_pgdb_default=template1
> > OCF_RESKEY_logfile_default=/dev/null
> > +OCF_RESKEY_socketdir_default=""
could it be parsed from the postgres config file instead?
> > OCF_RESKEY_stop_escalate_default=30
> >
> > : ${OCF_RESKEY_pgctl=${OCF_RESKEY_pgctl_default}}
> > @@ -39,6 +40,7 @@
> > : ${OCF_RESKEY_start_opt=${OCF_RESKEY_start_opt_default}}
> > : ${OCF_RESKEY_pgdb=${OCF_RESKEY_pgdb_default}}
> > : ${OCF_RESKEY_logfile=${OCF_RESKEY_logfile_default}}
> > +: ${OCF_RESKEY_socketdir=${OCF_RESKEY_socketdir_default}}
> > : ${OCF_RESKEY_stop_escalate=${OCF_RESKEY_stop_escalate_default}}
> >
> > usage() {
> > @@ -166,6 +168,14 @@
> > <content type="string" default="${OCF_RESKEY_logfile_default}" />
> > </parameter>
> >
> > +<parameter name="socketdir" unique="0" required="0">
> > +<longdesc lang="en">
> > +Unix socket directory for PostgeSQL
> > +</longdesc>
> > +<shortdesc lang="en">socketdir</shortdesc>
> > +<content type="string" default="${OCF_RESKEY_socketdir_default}" />
> > +</parameter>
> > +
> > <parameter name="stop_escalate" unique="0" required="0">
> > <longdesc lang="en">
> > Number of shutdown retries (using -m fast) before resorting to -m immediate
> > @@ -238,6 +248,11 @@
> > ocf_log err "PostgreSQL can't write to the log file:
> > $OCF_RESKEY_logfile"
> > return $OCF_ERR_GENERIC
> > fi
> > + # Check if we need to create a socket directory
> > + if [ -n "$OCF_RESKEY_socketdir" ]
> > + then
> > + check_socket_dir $OCF_RESKEY_socketdir
> > + fi
> >
> > # Set options passed to pg_ctl
> > pgctl_options="$OCF_RESKEY_ctl_opt -D $OCF_RESKEY_pgdata -l
> > $OCF_RESKEY_logfile"
> > @@ -419,6 +434,17 @@
> > return 0
> > }
> >
> > +# Check socket directory
> > +check_socket_dir() {
> > + if [ ! -d "$1" ]
> > + then
> > + mkdir $1
please mkdir "$1"
and if mkdir fails, fail the script.
> > + fi
> > +
> > + chmod 2775 $1
"$1", add error check
> > + chown $OCF_RESKEY_pgdba:$(getent passwd $OCF_RESKEY_pgdba | cut -d ":"
> > -f 4) $1
"$1", add error check
btw, I'd first chown, then chmod.
--
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com
DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/