Forum: Cfengine Help
Subject: Re: Cfengine Help: Re: Questions about the reference manual
Author: mwlarsen
Link to topic: https://cfengine.com/forum/read.php?3,18218,18228#msg-18228

Daniel V. Klein Wrote:
-------------------------------------------------------

> > There isn't anything with that symbol in my
> example, but the documentation has it everywhere,
> as in:
> > 
> > access:
> > 
> >  "/master/cfengine/inputs" -> { "update_policy",
> "other_promisee" },
> 
> Right.  The -> is used by the knowledge base, and
> it indicates that "/master/cfengine/inputs" is
> being promised to { "update_policy",
> "other_promisee" }

Hmmmm. I don't quite grok that yet, but your explanation points out that I've 
been thinking about it all wrong. I would have said "/master/cfengine/inputs" 
is promising { "update_policy", "other_promisee" }.
 
> > Except that:
> > 
> > body depth_search urecurse(d) {
> >      depth => "${d}";
> >      exclude_dirs => { "\.svn" };
> > }
> > 
> > looks like a block of code, not a value. I think
> the source of my confusion is that I don't
> understand the relationship between the first
> reference to depth_search/urecurse, and the second
> reference to them.
> 
> It is not a block of code, although I agree it
> could look like that.  It is a compound body. 
> What that means is the "depth_search" has many
> facets, and you can specify some or all of them,
> as you wish.  All bodies are named, and you refer
> to them by name, possibly passing in parameters. 
> In THIS case the name is "urecurse", and the
> single parameter is "d", although the body itself
> sets more of the compound collection of attributes
> than are simply passed in as parameters.  The
> "exclude_dirs" attribute is one that is set by the
> body, not the user of the body.

That explains a lot too. The docs say cfengine is "perl-like" and I was 
expecting everything between the braces in a block like that to be executing 
code, not a list of attributes. This is progress!

> >>> What promise is line 1 from? What are the
> >>> "external body parts" you're referring to?
> >> 
> >> From the promise in your own example.
> > 
> > I guess I'll table this one.
> 
> If this is still a problem, contact me directly...

Thanks Daniel. I want to make sure I absorb and understand your previous 
explanations, since they seem to have brought me to the verge of a 
breakthrough. I suspect once I've done that, this one will come through as 
well. But if not, I'll email you. Thanks again for that.
 
> > Let me try again...
> > 
> > "depth_search type"
> > 
> > What does that mean? There are different types
> of depth_search?
> 
> Yes, exactly!  If you look in the COPBL
> (http://www.cfengine.org/manuals/CfengineStdLibrar
> y.html#body-depth_005fsearch-recurse) you will see
> some EXAMPLEs of bodies that are provided with
> Cfengine.  You can write your own, too.

I hadn't even found those examples - I'll have a look, thanks!
 
> > 
> > I don't mean to be a pain. I'm really
> frustrated. I feel like I'm missing some
> pre-requisite knowledge the authors of cfengine
> assume all sysadmins have.
> 
> Heh - as I have often stated, you're seeing
> "Mark", which is a specialized subset of
> "English".  I am working on clarifying this.  Feel
> free to contact me directly if you want... 
> 
> -Dan
> d...@lonewolf.com
> 
> _______________________________________________
> Help-cfengine mailing list
> Help-cfengine@cfengine.org
> https://cfengine.org/mailman/listinfo/help-cfengin
> e

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to