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. 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/87lgvymcin.fsf%40lifelogs.com. For more options, visit https://groups.google.com/d/optout.
