On Wed, Apr 21, 2010 at 05:42:14PM -0400, Lebel, Marco wrote:
>Justin,
>
>You are bringing an interesting point since I struggle with classes in this 
>context.  But I have not done any structured testing but I am under the 
>impression that once a class has been set it never gets unset.

Actually, my last email on this may not have been correct.  In a classes
body, it is possible to define cancel_{kept,repaired,notkept), all of
which take an slist of classes "to be cancelled" if a promise is
kept/repaired/not kept.

So perhaps they can be deasserted...  hmm...  I'll have to go re-ponder
a few things.  (amazing what you can learn if you read the docs...)

>
>Again I want to stress that I never did any exhaustive testing on this but I 
>believe that classes once set they are set globally (i.e. visible in all 
>subsequent bundle) and never get unset even if the condition that initially 
>created it is no longer true... Again the key word is an impression that needs 
>to be confirmed by someone in the know or has done the necessary testing.
>
>Marco
>
>-----Original Message-----
>From: help-cfengine-boun...@cfengine.org 
>[mailto:help-cfengine-boun...@cfengine.org] On Behalf Of Justin Lloyd
>Sent: Wednesday, April 21, 2010 5:31 PM
>To: fo...@cfengine.com; help-cfengine@cfengine.org
>Subject: RE: Cfengine Help: Re: RE: Cfengine Help: cfengine program flow
>
>As I understand it, it will reevalute the class promise, and therefore
>check for the file's existence, on all three iterations. A good way to
>see what is happening is to run cf-agent in verbose mode (cf-agent -vK)
>and write its output to a file then read through it. You'll see lines
>like this (yours will be prefixed with something other than "nova>"):
>
>[r...@rhn ~]# cf-agent -vK > /tmp/out
>[r...@rhn ~]# grep '^nova>.* in bundle .* ([1-3])' /tmp/out
>nova>    vars in bundle def (1)
>nova>    classes in bundle def (1)
>nova>    vars in bundle def (2)
>nova>    classes in bundle def (2)
>nova>    vars in bundle def (3)
>nova>    classes in bundle def (3)
>nova>    vars in bundle update (1)
>nova>    classes in bundle update (1)
>nova>    processes in bundle update (1)
>nova>    commands in bundle update (1)
>nova>    files in bundle update (1)
>nova>    services in bundle update (1)
>nova>    vars in bundle update (2)
>nova>    classes in bundle update (2)
>nova>    processes in bundle update (2)
>nova>    commands in bundle update (2)
>nova>    files in bundle update (2)
>nova>    services in bundle update (2)
>nova>    vars in bundle update (3)
>nova>    classes in bundle update (3)
>nova>    processes in bundle update (3)
>nova>    commands in bundle update (3)
>nova>    files in bundle update (3)
>nova>    services in bundle update (3)
>nova>    vars in bundle dg (1)
>nova>    classes in bundle dg (1)
>nova>    vars in bundle dg (2)
>nova>    classes in bundle dg (2)
>nova>    vars in bundle dg (3)
>nova>    classes in bundle dg (3)
>
>Note how it does 3 iterations of the promise types in bundle "def", then
>3 of bundle "update", etc. ("dg" is a custom bundle of mine).
>
>Justin
>
>-----Original Message-----
>From: help-cfengine-boun...@cfengine.org
>[mailto:help-cfengine-boun...@cfengine.org] On Behalf Of
>fo...@cfengine.com
>Sent: Wednesday, April 21, 2010 3:22 PM
>To: help-cfengine@cfengine.org
>Subject: Cfengine Help: Re: RE: Cfengine Help: cfengine program flow
>
>Forum: Cfengine Help
>Subject: Re: RE: Cfengine Help: cfengine program flow
>Author: nicolas
>Link to topic:
>https://cfengine.com/forum/read.php?3,16959,16960#msg-16960
>
>thanks for the fast response.
>
>it helps, i thought this is a recommendation :-/ (i should read more
>exactly)
>
>but one question i still have: 
>
>if i define a class:
>
>classes:
>
>"xy_installed" expression => fileexists("/usr/example");
>
>does it recheck this value each time i use 
>
>xy_installed::
>
>or only once at the beginning of each of the 3 times?
>
>regards 
>
>nicolas
>
>_______________________________________________
>Help-cfengine mailing list
>Help-cfengine@cfengine.org
>https://cfengine.org/mailman/listinfo/help-cfengine
>
>This electronic communication and any attachments may contain confidential and 
>proprietary 
>information of DigitalGlobe, Inc. If you are not the intended recipient, or an 
>agent or employee 
>responsible for delivering this communication to the intended recipient, or if 
>you have received 
>this communication in error, please do not print, copy, retransmit, 
>disseminate or 
>otherwise use the information. Please indicate to the sender that you have 
>received this 
>communication in error, and delete the copy you received. DigitalGlobe 
>reserves the 
>right to monitor any electronic communication sent or received by its 
>employees, agents 
>or representatives.
>
>_______________________________________________
>Help-cfengine mailing list
>Help-cfengine@cfengine.org
>https://cfengine.org/mailman/listinfo/help-cfengine
>_______________________________________________
>Help-cfengine mailing list
>Help-cfengine@cfengine.org
>https://cfengine.org/mailman/listinfo/help-cfengine

-- 
Jesse Becker
NHGRI Linux support (Digicon Contractor)
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to