On Wed, Apr 21, 2010 at 05:31:01PM -0400, Justin Lloyd wrote:
>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

 From what I've seen, this is correct.  But once a promise has been
fulfilled, it is not executed again.  For example, in this short bundle,
only one report is "executed."

bundle agent foo {
classes:
        'foo' expression => isplain("/etc/hosts");

reports:
     foo::
         "Fubar";
}

I think that even for more complicated class combinations, perhaps
something involving an "or" condition like "foo.(bar|baz)", as soon as
one of the possiblilities is met, say "foo.bar", and the promise
fulfilled, it is not run again, even if "foo.baz" is later true.

>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

-- 
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