Forum: Cfengine Help
Subject: Re: evaluation of variables
Author: Seva Gluschenko
Link to topic: https://cfengine.com/forum/read.php?3,18954,18966#msg-18966

Actually, this discussion pointed me out to thinking about my view of an ideal 
convergency manager workflow. That's how I see it:
1. Promises are precompiled. Compilation happens only upon successful inputs 
change. This way the failsafe path is kept despite possible errors in inputs. 
At the same time methods (usebundle) are connected to the calling points, so 
that the final promises grid is plain, without nesting.
2. The execution flow is like follows:
    2.1. The interfaces promises are executed.
    2.2. External files are downloaded.
    2.3. Packages are installed, updated, or deleted, accordingly. The "white 
list" package management option is available (to remove any packages not listed 
in the "white list").
    2.4. Local files are processed (covering possible packages influence).
    2.5. Interfaces are rechecked (covering possible packages influence).
    2.6. Processes promises are executed.
    2.7. Commands promises are executed.
    2.8. Reports are generated.
3. The promises execution order inside one group (only processes and commands 
need it seriously, I think) is defined by dependencies, if any, or appearance 
in the bundle sequence otherwise.

I don't think I've said something completely new, but still worth mentioning.

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

Reply via email to