Issue #12418 has been updated by Daniel Pittman. Category set to file Status changed from Unreviewed to Needs Decision Assignee set to Randall Hansen
Nick Fagerlund wrote: > Tested in puppet 2.7.6. Of course, it only now occurs to me that probably no > one is actually using this feature, since putting symlinks inside a module is > kind of brittle and deranged. Randall, I agree that this is a problem: if we support this feature, we kind of need to fix the bug, because it *should* behave appropriately to transition back and forth between the options. However, I would love to just drop the ability to ship a symlink as a symlink from a module on the server. That is just ... odd. Symlinking things in for the convenience of the master? Sure. Sending a symlink to the client because it was a symlink on the master? That is just an invitation to pain. Can we drop this in Telly? Should we let the bug go on in 2.7.x, or should we try to fix it there regardless of our intention to fix this long term? As far as I can tell, nobody out in the wild does this, and expects that behaviour to happen, but we can't know how many people expect a symlink in a module to be a symlink on the agent too. ---------------------------------------- Bug #12418: links => follow can't replace existing symlinks in the destination directory https://projects.puppetlabs.com/issues/12418 Author: Nick Fagerlund Status: Needs Decision Priority: Normal Assignee: Randall Hansen Category: file Target version: Affected Puppet version: Keywords: Branch: When serving a directory recursively, setting the `links` attribute to `follow` is supposed to dereference symlinks in the source and serve their targets to the destination as normal files. However, it can't replace existing symlinks in the destination directory, so it's not idempotent. Assume that `$modulepath/fistfuloflinks/files/links` is a directory containing directories that contain symlinks. ### Step 1 Apply the following resource: file {'/tmp/fistfuloflinks': ensure => directory, source => "puppet:///modules/fistfuloflinks/links", recurse => true, links => follow, force => true, } As expected, the directories it creates contain normal files. ### Step 2: Change the value of "links" to "manage," then apply the modified resource. As expected, the directories now mimic the source directories -- instead of normal files, they have symlinks. ### Step 3: Change "links" back to "follow" and apply again. Whoops: they stay symlinks instead of turning back to normal files. You can only get back to the results of step 1 if you delete the files out of band before applying the resource. Tested in puppet 2.7.6. Of course, it only now occurs to me that probably no one is actually using this feature, since putting symlinks inside a module is kind of brittle and deranged. -- 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.
