On 2013-09-13T17:48:40, Tom Parker <tpar...@cbnco.com> wrote:

> Hi Feri
> 
> I agree that it should be necessary but for some reason it works well 
> the way it is and everything starts in the correct order.  Maybe 
> someone on the dev list can explain a little bit better why this is 
> working.  It may have something to do with the fact that it's a clone 
> instead of a primitive.

And luck. Your behaviour is "undefined", and will work for most of the
common cases.

":" versus "inf:" on the order means that, during a healthy start-up,
A will be scheduled to start before B. It does not mean that B will need
to be stopped before A. Or that B shouldn't start if A can't. Typically,
both are required.

Since you've got ordering, *normally*, B will start on a node where A is
running. However, if A can't run on a node for any given reason, B will
still try to start there without collocation. Typically, you'd want to
avoid that.

The issues with the start sequence tend to be mostly harmless - you'll
just get additional errors for failure cases that might distract you
from the real cause.

The "stop" issue can be more difficult, because it might imply that A
fails to stop because B is still active, and you'll get stop escalation
(fencing). However, it might also mean that "A" enters an escalated stop
procedure itself (like Filesystem, which will kill -9 processes that are
still active), and thus implicitly stop "B" by force. That'll probably
work, you'll see everything stopping, but it might require additional
time from "B" on next start-up to recover from the aborted state.

e.g., you can be lucky, but you also might turn out not to be. In my
experience, this means it'll all work just fine during controlled
testing, and then fail spectacularly under a production load.

Hence the recommendation to fix the constraints ;-)


(And, yes, this *does* suggest that we made a mistake in making this so
easy to misconfigure. "But, hey, ordering and colocation are independent
concepts! The design and abstraction is pure!" And I admit that I guess
I'm to blame for that to a large degree ... If the most common case is
"A, then B + B where A", why isn't there a recommended constraint that
just does both with no way of misconfiguring that? It's pretty high on
my list of things to have fixed.)


Regards,
    Lars

-- 
Architect Storage/HA
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 
21284 (AG Nürnberg)
"Experience is the name everyone gives to their mistakes." -- Oscar Wilde

_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to