[Pacemaker] slapd RA does not start OpenLDAP server after reboot
Igor Zinovik
zinovik.igor at gmail.com
Wed Jan 23 12:02:40 UTC 2013
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.
In log i see:
ldap2:~ # grep '/var/run/slapd' /var/log/messages
Jan 22 17:12:41 ldap2 slapd(slapd_mirrormode:0)[1625]: [1669]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 22 17:12:41 ldap2 slapd(slapd_mirrormode:0)[1680]: [1701]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 22 17:12:47 ldap2 slapd(slapd_mirrormode:0)[2091]: [2110]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 22 17:17:04 ldap2 slapd(slapd_mirrormode:0)[2111]: [2164]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 22 17:17:04 ldap2 slapd(slapd_mirrormode:0)[2165]: [2186]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 23 15:14:13 ldap2 slapd(slapd_mirrormode:0)[2120]: [2173]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 23 15:14:13 ldap2 slapd(slapd_mirrormode:0)[2174]: [2195]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
Jan 23 15:14:18 ldap2 slapd(slapd_mirrormode:0)[2214]: [2233]: INFO:
slapd pid file '/var/run/slapd/slapd.pid' does not exist.
I looked at slapd source code but did not found that it destroys its
/var/run/slapd,
it only unlinks pid file inside that directory.
/etc/init.d/ldap script manually creates /var/run/slapd directory each time
when start slapd:
ldap1:~ # fgrep SLAPD_PID_DIR /etc/init.d/ldap
SLAPD_PID_DIR="/var/run/slapd/"
if [ ! -d $SLAPD_PID_DIR ]; then
mkdir -p $SLAPD_PID_DIR
chown ldap:ldap $SLAPD_PID_DIR
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
+
if [ -n "$services" ]; then
$slapd -h "$services" $options 2>&1; result=$?
else
I would like to ask does somebody in this list suffer from the same problem?
I use following rpm packages:
opensuse 12.1 resource-agents-3.9.2-2.4.1.x86_64
opensuse 12.2 resource-agents-3.9.2-7.1.2.x86_64
More information about the Pacemaker
mailing list