[Pkg-samba-maint] Bug#838000: ctdb.service names wrong PIDFILE in ctdb_4.4.5+dfsg-3

KoJac kojac at kojac.de
Fri Sep 16 09:29:25 UTC 2016


Package: ctdb
Version: 2:4.4.5+dfsg-3
Severity: important
Tags: newcomer



-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.5.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages ctdb depends on:
ii  init-system-helpers  1.42
ii  iproute2             4.3.0-1+b1
ii  libbsd0              0.8.3-1
ii  libc6                2.23-5
ii  libpopt0             1.16-10
ii  libtalloc2           2.1.7-1
ii  libtdb1              1.3.9-1
ii  libtevent0           0.9.28-1
ii  lsb-base             9.20160629
ii  psmisc               22.21-2.1+b1
ii  samba-libs           2:4.4.5+dfsg-3
ii  sudo                 1.8.17p1-2
ii  tdb-tools            1.3.9-1
ii  time                 1.7-25.1

Versions of packages ctdb recommends:
ii  ethtool  1:4.6-1

Versions of packages ctdb suggests:
ii  logrotate  3.8.7-2
ii  lsof       4.89+dfsg-0.1

-- Configuration Files:
/etc/default/ctdb changed:
CTDB_RECOVERY_LOCK=/mnt/gv_main/samba/ctdb.lock 
CTDB_NODES=/etc/ctdb/nodes
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_MANAGES_SAMBA=yes
CTDB_MANAGES_WINBIND=yes


-- no debconf information

as of ctdb package version 4.4.5+dfsg-3 there seems to be a bug in the ctdb.service script.
With a configuration tested with the previous version "service ctdb start" fails after service start timeout. While starting and waiting for the timeout, ctdb service is usable but the startup scripts kill the processes if no pid file can be found.
journalctl message:
systemd[1]: ctdb.service: PID file /var/run/sambe/ctdb/ctdbd.pid not readable (yet?) after start: No such file or directory

replacing the pidfile inside /lib/systemd/system/ctdb.service fixed the problem for me:

sed -i 's/^PIDFile=\/var\/run\/samba\/ctdb\/ctdbd.pid$/PIDFile=\/run\/ctdb\/ctdbd.pid/' /lib/systemd/system/ctdb.service
systemctl daemon-reload



PS:
offtopic (probably known issue):
the following statement inside /etc/default/ctdb
CTDB_MANAGES_SAMBA=yes

can be made working with:
cd /lib/systemd/system/
rm samba.service ; ln -s smbd.service samba.service



More information about the Pkg-samba-maint mailing list