On 12/02/16 10:06, Ted Zlatanov wrote: > On Thu, 1 Dec 2016 22:47:23 -0800 (PST) Mike Weilgart > <[email protected]> wrote: > > MW> I posit that it would be *less* surprising and easier to learn > (and to MW> debug!) if CFEngine simply evaluated promises *in the > sequence they are MW> specified* in a bundle, unless overridden > with "depends_on" attributes. > > Regarding the convergence model, I proposed a simple way to > provide ordered evaluation with today's core: > > https://tracker.mender.io/browse/CFE-2399?focusedCommentId=73474&page= com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment -73474 > > The nice part in that proposal is that if we provide a way to > "rank" promises, then evaluation in the order as written would > simply use `rank=$(current_linenumber"` for every promise. > > MW> And actually, considering the great number of "isvariable()" > calls I have MW> had to add in a single bundle to ensure that > production data didn't get MW> polluted with unresolved variables, > I think that passing unresolved MW> variables as-is is a *serious* > misfeature. This is about the only "magic MW> ordering" I would > personally support: skip any promise that makes reference MW> to an > unresolved variable (just like most CFEngine function calls already > MW> do.) > > If you look back in the cfengine-devel archives, William Orr did > work last year on a patch along those lines. I don't know what > happened with it.
Still listening :-) I have the early progress on it, though it's still very rough. At this point, since I've switched jobs at LinkedIn, I no longer have access to the CFE infrastructure or the time to work on it on hours. I don't realistically have time to get a substantial amount of time done on it near term, but I can show what I had before I had to put it down. > > I personally would prefer all evaluation to be tunable per bundle > definition *and* per bundle call. Different contexts require > different techniques. > > For example, you don't want independent security measures to stop > working because of a shell error somewhere in one of them. But you > do want application deployment to abort if the port number is not > defined. > > Ted > -- You received this message because you are subscribed to the Google Groups "dev-cfengine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dev-cfengine/8d210b1c-d234-a7d3-756d-af363e0641fe%40worrbase.com. For more options, visit https://groups.google.com/d/optout.
