CFEngine Help: Re: CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: CFEngine Help: Re: Variable convergence mystery Author: neilhwatson Link to topic: https://cfengine.com/forum/read.php?3,26796,26824#msg-26824 Mark Burgess Wrote: --- > The algorithm is simple: every attempt

Re: CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread Mark Burgess
Knowing the algorithm is not going to help anyone to understand it as there are too many "variable issues". The algorithm is simple: every attempt is made to converge variables based on knowledge of defined classes, whenever they are encountered in a scheduled promise, going around up to three

Re: CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread Diego Zamboni
Hi Neil, > I've learned something new today. Now I had a question. If agent re-evaluates > vars and classes more than in the normal ordering of other promise types then > what is the algorithm? How can we mortals similate in our minds what the > agent will do? I honestly don't know the details

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: neilhwatson Link to topic: https://cfengine.com/forum/read.php?3,26796,26819#msg-26819 Thanks Diego, I've learned something new today. Now I had a question. If agent re-evaluates vars and classes more than in the n

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: zzamboni Link to topic: https://cfengine.com/forum/read.php?3,26796,26818#msg-26818 Nick, This is because promises within a section are evaluted in the order in which they appear. So when the "debug" class is s

Re: Variable convergence mystery

2012-07-31 Thread Nick Anderson
On 07/31/2012 12:14 PM, Diego Zamboni wrote: > Nick, > > There is a bit of magic to properly resolve class-variable dependencies. > This is mentioned in the reference guide: > https://cfengine.com/manuals/cf3-Reference#Agent-normal-ordering > > CFEngine tries to keep variable and class promises

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: neilhwatson Link to topic: https://cfengine.com/forum/read.php?3,26796,26815#msg-26815 That's a bit too black box/magic for me to be comfortable with. If the verbose output showed the classes and vars promises being eval

Re: Variable convergence mystery

2012-07-31 Thread Diego Zamboni
Nick, There is a bit of magic to properly resolve class-variable dependencies. This is mentioned in the reference guide: https://cfengine.com/manuals/cf3-Reference#Agent-normal-ordering CFEngine tries to keep variable and class promises before starting to consider any other kind of promise. In

Re: Variable convergence mystery

2012-07-31 Thread Nick Anderson
On 07/31/2012 10:18 AM, Tokarski Boleslaw wrote: > Normal ordering specifies that vars are run before classes. So before > anything else happens below this, debug is not declared, so "filename" > is set to "/tmp/nodebug". > > Then, the class debug is declared, on the second CFEngine iteration this

Re: Variable convergence mystery

2012-07-31 Thread Tokarski Boleslaw
Hello, Funny thing, as I bumped into that today, using 3.1.4. With my own policy, but here are my discoveries. > bundle agent test(param){ > vars: > debug:: > "filename" string => "/tmp/debug"; > > !debug:: > "filename" string => "/tmp/nodebug"; > > classes: > "debug" expr

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: nickanderson Link to topic: https://cfengine.com/forum/read.php?3,26796,26809#msg-26809 neilhwatson Wrote: --- > An exception to normal ordering? That sir, is > bla

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: neilhwatson Link to topic: https://cfengine.com/forum/read.php?3,26796,26808#msg-26808 Nick Anderson Wrote: --- > I guess that's where the order kicks in. So if yo

Re: Variable convergence mystery

2012-07-31 Thread Nick Anderson
On 07/31/2012 09:32 AM, Ted Zlatanov wrote: > Thinking about it, I think the key is that !debug requires knowledge of > the debug context, so it needs the context expression to converge. At > least that was my instinctive thinking when I wrote the above. But I > don't know the specific algorithm

Re: Variable convergence mystery

2012-07-31 Thread Ted Zlatanov
On Tue, 31 Jul 2012 08:59:08 -0500 Nick Anderson wrote: NA> The file making the promise $(filename) gets set to different values NA> based on a class. I thought due to normal ordering, on the first pass NA> filename should get set to "/tmp/nodebug" since the debug class has not NA> been raise

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: nickanderson Link to topic: https://cfengine.com/forum/read.php?3,26796,26804#msg-26804 Ok this is interesting. If I change the vars order and have no class set on filename, or if I have specified the any class vars

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: nickanderson Link to topic: https://cfengine.com/forum/read.php?3,26796,26800#msg-26800 Yeah I know about suppressing the warnings with policy free. This was just unexpected behavior. I can't tell if its intended or

CFEngine Help: Re: Variable convergence mystery

2012-07-31 Thread no-reply
Forum: CFEngine Help Subject: Re: Variable convergence mystery Author: neilhwatson Link to topic: https://cfengine.com/forum/read.php?3,26796,26798#msg-26798 Setting a policy of free would remove the duplicate warnings. Still, I would expect /tmp/nodebug to be created during the first pass

Variable convergence mystery

2012-07-31 Thread Nick Anderson
I saw something I didn't expect last night. Ted cleaned up a sketch for managing /etc/security/limits.conf that worked like this example. The file making the promise $(filename) gets set to different values based on a class. I thought due to normal ordering, on the first pass filename should ge