Issue #20679 has been updated by eric sorenson. Status changed from Needs Decision to Closed
Sean, Kevin Degraaf, Brice and I talked through this at PuppetConf -- I'm much more certain now that `noop` metaparam on resources ought to bind most tightly and override the command line. The inverse case was what convinced me: if you set `noop => true` on a resource, you did it for a reason, and running from the commandline in enforce/no-noop mode should not override that. So I'm flip-flopping from my position in [Note 4](#note-4) and asserting the current behaviour of the system is correct. IMO adding another option that does almost the same thing as no-op except in a few edge cases complicates more than it helps. This should be made more explicit, per Nick Moriarty in [Note 1](#note-1). Although I don't think the intro guide is really appropriate to go into the weeds on the nuances, we should make sure it's documented somewhere, maybe in the [metaparam reference](http://docs.puppetlabs.com/references/stable/metaparameter.html#noop) if nowhere else. I've filed #22374 to track this. ---------------------------------------- Bug #20679: puppet agent --noop command line option does not guarantee a fully dry run https://projects.puppetlabs.com/issues/20679#change-97059 * Author: Nick Moriarty * Status: Closed * Priority: High * Assignee: eric sorenson * Category: agent * Target version: * Affected Puppet version: 2.7.11 * Keywords: noop simulation dry-run dryrun simulate test backlog * Branch: ---------------------------------------- According to some documentation (including man pages), and common sense, specifying --noop should cause Puppet agent to run in 'dry-run' mode, and make no changes. However, it seems that this actually just changes the global resource default for 'noop' to true. If a resource is defined which determines noop itself (for example, based on a parameter), this will escape what would reasonably be expected to be a simulation run, as it will override the global noop with 'false'. I noticed this while testing a development branch and noting that it actually affected a file mode somewhere. If not implemented via the 'noop' mechanism, a proper simulation mode should be provided which will show exactly what will happen, but with the guarantee that nothing will be done. The current --noop flag certainly doesn't provide that guarantee. This issue may cause us to internally ban the use of 'noop' in manifests, as it leaves us with no way of guaranteeing a proper dry run. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" 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]. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.
