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.