Issue #20679 has been updated by Charlie Sharpsteen.

Status changed from Unreviewed to Needs Decision
Assignee set to eric sorenson

Looks like `--noop` was intentionally changed between 0.24.2 and 0.24.3 in 
[ecb873d](https://github.com/puppetlabs/puppet/commit/ecb873d) to allow local 
overrides from resources. This was done in response to #1118 so that Puppet 
could still execute catalogs for pluginsync in the presence of `--noop`.

I do agree that this breaks noop guarantees for any set of manifests that is 
programmatically setting noop as part of normal operations and leaves users 
with no way to put those manifests into simulation mode.

Eric, this needs a decision as to what the "correct" behavior should be.

----------------------------------------
Bug #20679: puppet agent --noop command line option does not guarantee a fully 
dry run
https://projects.puppetlabs.com/issues/20679#change-90980

* Author: Nick Moriarty
* Status: Needs Decision
* Priority: High
* Assignee: eric sorenson
* Category: agent
* Target version: 
* Affected Puppet version: 2.7.11
* Keywords: noop simulation dry-run dryrun simulate test
* 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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to