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