On Wednesday, February 17, 2016 at 7:10:29 PM UTC-6, Warron French wrote: > > Can someone please clearly explain why/when to use: > puppet apply versus Puppet agent? >
Responding to your specific (mis)understandings: > I believe, but I want to be thoroughly corrected, the following: > 1. puppet apply (with --noop) is for 'smoke' testing a specific manifest > .PP-file, but > Not really, unless you ordinarily use 'puppet apply' (*without* --noop) to build and apply catalogs. Your manifests and data need to be present on the host where you build the catalog, but they do not necessarily need to be present on the node to which you apply a catalog. If your nodes ordinarily obtain their catalogs via the agent, then they probably don't have the manifests and data. Moreover, some aspects of catalog building can produce different results depending on where they run. Additionally, the community's conventional choice for testing Puppet modules is Rspec. > 2. puppet apply will apply a single (specified on cli) module in reality; > but, > Not necessarily. 'puppet apply' will build a catalog locally, starting from the manifest file you specify to it, and referencing other manifests and data as necessary. If successful, it will then apply the catalog to the node on which it is running. To the best of my knowledge, the only essential difference between the catalog building process performed by the master and the one performed by 'puppet apply' is how the starting-point manifest(s) are chosen. Note also that the manifest you specify to 'apply' does not have to belong to a module. > 3. a puppet agent -t searches the deltas of files tracked by the Puppet > Master and applies all changes for all modules wherever the modules are > actually appropriate candidates. > No, I think that's a poor characterization. 'puppet agent' requests that the master build a catalog for the local node, and then applies that catalog; together these constitute a "catalog run". Depending on the options you specify, the agent may do this just once, or it may run as a daemon, performing catalog runs on a configurable schedule. The second stage, applying the catalog received from the master, is no different when performed by the agent than when performed by 'puppet apply'. The first stage differs mainly in where it is performed. Where a master is in use, it typically does far more than track files. For its part, the agent has nothing to do with deciding *what* to apply; its job is to determine *how* to apply it. Overall, I suspect that your misunderstandings are based, in part, on an idea that you would routinely have use for both 'puppet agent' and 'puppet apply'. Typically, however, a Puppet shop will use either one or the other, not both. 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/80c5bf43-87bd-4f89-b5a1-8147c4a86a7e%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.