Issue #13126 has been updated by Chris Price.

+1 to not risking behavior changes in 2.7.

+1 to the general principle of being explicit vs. implicit

+1 for (any change that is introduced for the sake of being more explicit) 
resulting in the current behavior by default.

I don't have strong feelings about this issue but my gut would be not to target 
any changes at 2.7.  This seems like somewhat of an edge case and there is 
always the "onlyif" parameter if someone needs a workaround for the current 
behavior.

I think I like the proposal for the explicit parameter, but I'd personally lean 
towards targeting it at Telly... and giving some thought to the parameter name. 
 Exec has *a lot* of available parameters, and in my mind there is nothing that 
would obviously associate a new parameter named "links" with the existing 
"creates" parameter.  In other words--it's not obvious that the value of a 
"links" parameter wouldn't be meant to be applied to, say, the "path" parameter 
or even to the value of the "command" parameter itself... so I might be 
inclined to try to come up with a more explicit name.

That said, the naming issue could be mitigated by good documentation and I 
don't necessarily have a better name off of the top of my head... :)
----------------------------------------
Bug #13126: Exec's 'creates' attribute follows symlinks and treats broken links 
as missing files
https://projects.puppetlabs.com/issues/13126#change-57872

Author: Peter Bukowinski
Status: In Topic Branch Pending Review
Priority: Normal
Assignee: Kelsey Hightower
Category: exec
Target version: 2.7.x
Affected Puppet version: 
Keywords: 
Branch: https://github.com/puppetlabs/puppet/pull/588


When an `exec` resource's `creates` attribute points to a broken symlink, the 
target is treated as missing and does not prevent the exec block from running. 
The following code will succeed on the first run, then fail on subsequent runs 
because it's trying to recreate an existing symlink.

<pre>
puppet apply -e 'exec { "/bin/ln -s /tmp/no.file.here /tmp/test.link": creates 
=> "/tmp/test.link" }'
</pre>

If this is the intended behavior, I'd like to understand the reasoning behind 
it.


-- 
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to