[Cluster-devel] cman init rework

Fabio M. Di Nitto fdinitto at redhat.com
Tue Mar 31 07:21:02 UTC 2009


On Mon, 2009-03-30 at 16:42 -0500, David Teigland wrote:
> On Thu, Mar 26, 2009 at 02:50:31PM +0100, Fabio M. Di Nitto wrote:
> > In our current startup sequence, we do start a daemon, we make sure it
> > starts, but we never check if it's actually working properly.
> 
> If there's no groupd_compat setting in cluster.conf, or if it's set to 2, then
> groupd does compat "detection" when it starts up, looking for old cluster2
> nodes that require compat mode.  This detection phase can sometimes take a
> while.  Other daemons have to ask groupd about the mode it chose after the
> detection phase, and retry for a while if it's still pending.  It might be
> nice for the init script to wait for this detection phase to complete after
> starting groupd.  To do this we can run 'group_tool compat' and loop until
> "pending" doesn't show up in a grep.  We should probably loop for somewhere
> around 10 seconds, there's no good predictable number.  If groupd is still
> pending after that time, the init script should just continue since it's most
> likely taking longer than expected.  Other daemons are already prepared to
> wait for groupd to pick a mode during their startup.
> 

I committed: c685efb1ca60e907f1a1d36ba371ed8241c1586e

that should implement what you have asked for...

on a 2 nodes cluster I see:

node1:

   Starting groupd...                                      [  OK  ]
   Waiting groupd protocol negotiation:                    [  OK  ]

(there is no waiting time, first node, goes up quickly)

node2 (starts a bit after node1)

   Starting groupd...                                      [  OK  ]
   Waiting groupd protocol negotiation: 0 1                [  OK  ]

it takes approx 2/3 seconds to negotiate.

The output is shown only when running in full verbose mode.

Fabio




More information about the Cluster-devel mailing list