[Debian-ha-maintainers] pacemaker-heartbeat package bug / ommissoin

Chris Moules christopher at gms.lu
Thu Jun 4 12:44:21 UTC 2009


Hello,

I have just installed the pacemaker-heartbeat package from:

deb http://people.debian.org/~madkiss/ha lenny main

on a 2.6.26-2-amd64 Lenny system.

After removing my previous self-build installation from a few months ago, I restored my config files:

/etc/ha.d/ha.cf
/etc/ha.d/authkeys

and issued a:

/etc/init.d/heartbeat start

Shortly after this my first machine rebooted with the message:

EMERG: Rebooting system.  Reason: /usr/lib/heartbeat/cib

Changing "crm yes" to "crm respawn" in the ha.cf allowed me a little time for debugging. I found that the package had not 
created the "/var/run/crm" directory at all.

After creating this and fixing the permissions I was able to have a running heartbeat setup.

I was sure that I did not do this manually when I initially installed myself. I went back to my source that I have built the 
Debian packages from (tip.tar.bz2 => Pacemaker-1-0-47b44d35b52e) and looked in the 'debian' folder to see if "/var/run/crm" was 
mentioned. It was, in the following files:

grep "var/run/crm" *
Makefile:CRM_STATE_DIR = /var/run/crm
pacemaker.dirs:var/run/crm
pacemaker.postinst:             for i in /var/run/crm   /var/lib/pengine; do

I assumed that this is an oversight in the packaging. I extracted the deb that I had downloaded and examined that. In the 
'postinst' script there it lists "/var/run/heartbeat/crm" in place of "/var/run/crm".

After downloading the source from:

http://people.debian.org/~madkiss/ha

I extracted and patched the source. (pacemaker_1.0.4+hg20090604-1~bpo50+1.diff.gz pacemaker_1.0.4+hg20090604.orig.tar.gz) 
Looking at the result did not tell me much...

Pacemaker-1-0-2cac8ba04082/debian# grep "var/run/crm" *
pacemaker.dirs:var/run/crm
pacemaker.postinst:             for i in /var/run/crm   /var/lib/pengine; do

Pacemaker-1-0-2cac8ba04082/debian# grep CRM_STATE_DIR *

Pacemaker-1-0-2cac8ba04082/debian# grep "var/run/heartbeat/crm" *
changelog:  * Make postinst no longer bail out if /var/run/heartbeat/crm and / or
pacemaker-heartbeat.postinst:   for i in /var/run/heartbeat/crm /var/lib/heartbeat/crm \
pacemaker-openais.postinst:     for i in /var/run/heartbeat/crm /var/lib/heartbeat/crm \

I guess that 'CRM_STATE_DIR' is not set and the package is now 'pacemaker-heartbeat' means that the "var/run/heartbeat/crm" 
location is created but not used by the binaries.

Regards

Chris



More information about the Debian-ha-maintainers mailing list