--- On Sat, 4/10/10, Andrew Beekhof <and...@beekhof.net> wrote:

> From: Andrew Beekhof <and...@beekhof.net>
> Subject: Re: [Openais] Corosync Patch: Fix the default for COROSYNC_RUN_DIR
> To: "Fabio M. Di Nitto" <fdini...@redhat.com>
> Cc: "openais" <openais@lists.linux-foundation.org>
> Date: Saturday, April 10, 2010, 7:35 AM
> On Sat, Apr 10, 2010 at 6:18 AM,
> Fabio M. Di Nitto <fdini...@redhat.com>
> wrote:
> > On 4/9/2010 8:17 PM, Steven Dake wrote:
> >> On Fri, 2010-04-09 at 15:05 +0200, Andrew Beekhof
> wrote:
> >>> This looks like a copy/paste error to me...
> >>>
> >>> The "RUN" in COROSYNC_RUN_DIR would seem to
> imply /var/run
> >>> Also /var/lib is persistent and doesn't need
> to be created at startup.
> >>> On the other-hand, LSB states that the
> contents of /var/run is blow
> >>> away at boot time.
> >>>
> >>> So I'm reasonably sure the following patch is
> correct.
> >>> Please ACK.
> >>
> >> In general "rundir" should probably be renamed to
> "libdir" since the
> >> idea is that data stored there is persistent.
> >>
> >> Totem requires persistence between node boots of
> data stored with the
> >> rundir path.
> >
> > /var/lib/corosync should be created at "make install"
> time and it愀
> > guaranteed to be there by packaging and after each
> reboot.
> >
> > /var/run/corosync is more complicated. As Andrew
> already mentioned LSB,
> > we need to make sure that it愀 created at startup
> time. Most daemons can
> > do that in the init script and be done with it.
> Corosync doesn愒 have
> > that luxury because it can be invoked in several
> different ways (cman
> > for example), therefor it needs to do the dir
> creation/check within the
> > code as the init script is not always used.
> >
> > This is the problem we need to address basically.
> 
> And what the patch does :-)
> 
> There is no need, at runtime, to create /var/lib/corosync.
> Particularly if its required to be persistent.
> /var/run/corosync is a different story as Fabbio reiterated
> above.
> 
> So given all that, the original patch makes the most
> sense.

There is a code in RedHat rc.sysinit which tries to remove everything from 
/var/run. It causes hiccups during OS start:

rm: cannot remove `/var/run/heartbeat/ccm': Is a directory
rm: cannot remove `/var/run/heartbeat/dopd': Is a directory
rm: cannot remove `/var/run/heartbeat/rsctmp': Is a directory

There is a matter of SELinux that needs to be considered as well. At the moment 
both corosync and pengine run in unconfined initrc_t domain, but it will change 
eventually and SELinux maintainers would insist on having a permanent directory 
with a specific labels, corosync_var_run_t, for example, which would need to be 
applied during rpm installation.

Vadym

_______________________________________________
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to