[Pacemaker] slapd RA does not start OpenLDAP server after reboot

Igor Zinovik zinovik.igor at gmail.com
Wed Jan 23 17:06:33 UTC 2013


On Wed, 23 Jan 2013 14:18:12 +0100
"Raoul Bhatia [IPAX]" <r.bhatia at ipax.at> wrote:

> On 2013-01-23 13:02, Igor Zinovik wrote:
> > Hello.
> > 
> > I have a pacemaker cluster with 2 nodes (opensuse 12.1 and 12.2).  On
> > both nodes slapd does not get started by pacemaker, but it could be 
> > started by
> > launching `systemctl start ldap.service'.
> > 
> > The problem is that something unlinks `/var/run/slapd' directory after
> > reboot or shutdown, that is why slapd cannot save its pid file and 
> > cannot start.
> > [...]
> 
> The reason might be that /var/run/ is a tmpfs mount [1].
> (please verify using "mount")

You are right:
ldap1:~ # mount |grep var
/dev/mapper/system-var on /var type ext4 (rw,relatime,user_xattr,acl,barrier=1,data=ordered)
tmpfs on /var/lock type tmpfs (rw,nosuid,nodev,relatime,mode=755)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,relatime,mode=755) 

> > I fixed slapd startup problem by changing resource agent script:
> > --- slapd.orig  2013-01-22 17:23:42.266314000 +0400
> > +++ slapd       2013-01-22 17:23:12.094422000 +0400
> > @@ -299,6 +299,7 @@ slapd_start()
> >    local reason
> >    local result
> >    local state
> > +  local pid_dir
> > 
> >    slapd_status `slapd_pid`; state=$?
> > 
> > @@ -324,6 +325,12 @@ slapd_start()
> >      options="$options $parameters"
> >    fi
> > 
> > +  pid_dir="/var/run/slapd"
> > +  if [ ! -d $pid_dir ]; then
> > +         mkdir -p $pid_dir
> > +         chown ldap:ldap $pid_dir
> > +  fi
> > +
> > [...]
> 
> Thanks for the input. Unfortunately, this will only work for *your*
> setup. The pidfile could reside in another directory, for example.
> 
> Also, other distributions (e.g. Debian Squeeze) uses the "openldap" 
> user and group.
> 
> It would be more sane to handle it with something like
> 
> >     local pid_dir
> >     pid_dir=`dirname $OCF_RESKEY_pidfile`
> >     if [ ! -d $pid_dir ] ; then
> >         ocf_log info "Creating PID dir: $pid_dir"
> >         mkdir -p $pid_dir
> >         chown $OCF_RESKEY_user:$OCF_RESKEY_group $pid_dir
> >     fi
> 
> (untested)




More information about the Pacemaker mailing list