On Monday, February 29, 2016 at 1:24:44 PM UTC-6, JS wrote: > > Im going to second this guy. >
Which guy? The OP? > I believe puppet should ALWAYS collect facts after it is done. > That's not what anyone else in this necro'd thread said back in its previous life, so exactly what and who are you agreeing with? > The amount of changes it can make to a server, during a catalog run, can > be massive. > Yes, they can, but normally they are zilch (nada, bumpkus, zero). Moreover, even when massive changes are applied, they rarely change the values of any of the standard facts. Of course, all bets are off with custom facts. > Without reporting those changes, bad things can occur. > What? Why? How? > It really really limits the potential of having a complete and correct > inventory system. > Well that's not what Puppet is, or ever was intended to be. > > As Paul has done, I too make the last thing to run on all my catalogs, > another upload of puppet facts. Now I know what changes have been made. > Communicating what changes have been made is the purpose of Puppet's reports. I suppose, though, that you mean you know nodes' current state, inasmuch as node state is reflected by the node facts recorded in PuppetDB. As I observed in my previous response to this thread, however, node facts only ever give you a snapshot of node state, and Puppet is by no means the only thing that might change that state. Even if you upload fresh facts at the end of each Puppet run, it would be a potentially dangerous mistake to rely on PuppetDB to hold an accurate representation of node state between Puppet runs. Furthermore, it is difficult to determine at the time you query PuppetDB whether the node in question actually is between runs, as for each node there will be from seconds to minutes out of each catalog run interval in which a catalog run is in progress. > There are many other people out there that have requested this, so we > can't be the only ones. > I'm not so sure that yours is a commonly requested feature. It is far more common to hope that Puppet will recognize changes to fact values *during* a run, so as to affect what it will apply later in that run. I don't see that particular behavior being implemented any time in the foreseeable future. Your request is at least more feasible. > > On a most basic level, I dont see any possible way to argue for the > current method. > > Is that a solicitation? > Current method: > Collect facts -> change system config -> Don't collect those changes > > Our method: > Collect facts -> change system config -> recollect change facts > > That characterization seems calculated to support your position, based, moreover, on the faulty premise that node facts as recorded in PuppetDB can or should be useful out-of-band as indicators of current node state. Collecting and recording extra node facts puts a little additional load on every machine, and a moderate amount of additional load on PuppetDB. This is a scalability consideration. In the standard configuration, a node's current facts describe the basis on which its most recent catalog was built. This could, in principle, contribute to evaluating whether cached node catalogs are stale. Uploading facts after a run makes such a determination unreliable, thereby foreclosing an opportunity to reduce the work of the most stressed part of the Puppet system. For similar reasons, it also makes troubleshooting harder. Puppet is a configuration management system, not an inventory system. To the extent that it can also serve incidentally as a poor man's inventory system, that's great, but not of much import to me. As far as I am concerned, Puppet is better suited to working alongside or even under an inventory system than it is to working *as* an inventory system. You are in luck, however: Puppet's source is open, and PuppetLabs (sometimes) accepts community contributions. You are free to make your proposed changes yourself, and to submit them to PL for consideration. You would want to do so in the context of a feature-request ticket <https://tickets.puppetlabs.com/>. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/ef259b74-6a50-40b2-8cf0-a1117911050d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.