help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Executing a file only on later passes


From: Wipf, Stefan
Subject: Re: Executing a file only on later passes
Date: Mon, 03 Nov 2003 14:58:58 -0600

They can be quite different

Example: Consider actionsequence = ( copy links ). A global double
pass will results in an effective 
actionsequence = ( copy links copy links ) which can be quite different
from the single pass:
actionsequence = ( copy copy links links )

But you are right a second pass shouldn't hurt. Still, a second pass
seems unnecessary, I prefer to set the actionsequence explicitly


Mark.Burgess@iu.hio.no wrote:
> 
> The double pass removes the responsibilty from the user to
> remember to force multple passes. Nothing else is different.
> 
> M
> 
> On  3 Nov, Wipf, Stefan wrote:
> > We've disabled the second pass. I can't think of all the reasons
> > just now, but the ones that immediately come to mind are:
> >
> >
> > - Relying on the second pass to resolve hidden dependencies is
> >   not reliable and just seems wrong.
> > - it obscures dependencies and can make an already complex
> >   configuration very convoluted.
> > - Often order does matter.  Sometimes things do not get done
> >   unless the order is right
> > - Most importantly, there does not seem to be a real need for it.
> >   There is nothing stopping us from explicitly forcing as many
> >   passes as needed on a per action basis in in the action sequence.
> >   This gives more refined control than to brute force a global
> >   second pass.
> >
> >
> >
> > Mark.Burgess@iu.hio.no wrote:
> >>
> >> Chip, John,
> >>
> >> The second pass is just like the next invocation of cfagent.
> >> Nothing will change by eliminating it except that the system will
> >> not be completely configured in a single iteration. The ordering
> >> of events is nothing to do with this. It just speeds up convergence
> >> for 90% of cases with hidden dependencies.
> >>
> >> > OK.  It does cause things to sometimes (rarely) be executed in an
> >> > unexpected order, however.  Life might be made easier if we made this a
> >> > bit more user-accessible; for example, define a 'laterpass' class (or
> >> > something similar) after the first pass is done.  This would aid in
> >> > debugging (add a !laterpass condition and see if the problem persists
> >> > and the like) and allow for some clever hacks.
> >>
> >> The second pass is only used if there are classes defined that have
> >> restricted the first pass, leaving some potentially unexecuted actions
> >> that would not be possible to evaluate.
> >>
> >> If you want to control the order of things (which should not be
> >> necessary if you just trust the agent) then reorganize the
> >> input files. But who cares what the order is if it gets done?
> >>
> >> > This isn't a major problem, but it can be frustrating.  No doubt this
> >> > frustration is exacerbated by a lack of grokking on my own part.
> >> >
> >>
> >> Yup. Whern things get complex they are hard to understand.
> >> M
> >>
> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> Work: +47 22453272            Email:  Mark.Burgess@iu.hio.no
> >> Fax : +47 22453205            WWW  :  http://www.iu.hio.no/~mark
> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>
> >> _______________________________________________
> >> Help-cfengine mailing list
> >> Help-cfengine@gnu.org
> >> http://mail.gnu.org/mailman/listinfo/help-cfengine
> 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Work: +47 22453272            Email:  Mark.Burgess@iu.hio.no
> Fax : +47 22453205            WWW  :  http://www.iu.hio.no/~mark
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-- 
Stefan Wipf
swipf@htc.com




reply via email to

[Prev in Thread] Current Thread [Next in Thread]