[Pacemaker] Pure-FTPd resource script is wrong (at least on ubuntu and probably debian)

Dejan Muhamedagic dejanmm at fastmail.fm
Tue Nov 8 10:30:47 EST 2011


On Mon, Nov 07, 2011 at 06:48:22PM +0100, Mailing List SVR wrote:
> Hi,
> thanks for your answer
> Il 07/11/2011 18:27, Dejan Muhamedagic ha scritto:
>> Hi,
>> On Sat, Nov 05, 2011 at 10:26:12PM +0100, Mailing List SVR wrote:
>>> Hi,
>>> the script doesn't create the pid file directory if missing and so
>> None of the resource agents does that. Anyway, it needs to be
>> created just once per node and arguably it should be part of
>> deployment.
> /var/run is a tmpfs so is cleaned every time you reboot the server, are  
> you suggesting to do that in rc.local?

So directories are also removed on reboot. That wasn't the case
before, but I can now vaguelly recall that there was sometimes a
switch to tmpfs in some distributions. At any rate,
/etc/init.d/{corosync,heartbeat} should create the HA_RSCTMP
directory on start.

>>   Note that the default pidfile directory (shared by
>> all agents) should be created by the init script (IIRC).
> please note that pure-ftpd on debian/ubuntu has the pid hardcoded to
> /var/run/pure-ftpd/pure-ftpd.pid

Hardcoded in the RA? Then it differs from upstream (which is a

: ${OCF_RESKEY_pidfile="${HA_RSCTMP}/pure-ftpd-${OCF_RESOURCE_INSTANCE}.pid"}

Note that this default also supports multiple ftpd resources.
It's also a very common pidfile business (many RAs use the same
naming scheme).

> and in general if a resource script accept a pidfile as configuration  
> parameters should try to create the directory if missing.
> Anyway is a fact that this resource script doesn't work on debian/ubuntu  
> and the modify I sent solve the problem, please suggest a better  
> approach if it is wrong (this is the first time I'm using resource  
> scripts so maybe I'm missing something)

All RA should work out of the box if properly configured. But I
wonder why it didn't work for you. It would be best to involve
your distribution maintainer.



> thanks
> Nicola
>> Thanks,
>> Dejan
>>> pure-ftpd starts but no pidfile is created and the motion function fails
>>> and try top start pure-ftpd again but this time the address is already
>>> in use and so on,
>>> must be added something like this before start pure-ftpd:
>>> if [ ! -e `dirname $PIDFILE` ];then
>>>         mkdir `dirname $PIDFILE`
>>> fi
>>> please apply,
>>> thanks
>>> Nicola
>>> P.S. I'm testing on ubuntu 11.10, note also that on ubuntu 11.10 seems
>>> the pid is hardcoded to /var/run/pure-ftpd/pure-ftpd.pid
>>> _______________________________________________
>>> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
>>> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
>>> Project Home: http://www.clusterlabs.org
>>> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
>>> Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker

More information about the Pacemaker mailing list