On Mar 15, 2012, at 8:54 AM, jcbollinger wrote:

> 
> 
> On Mar 14, 4:40 pm, Peter Bukowinski <pmb...@gmail.com> wrote:
>> On Mar 14, 2012, at 5:20 PM, Peter Bukowinski wrote:
>>> On Mar 14, 2012, at 5:00 PM, Eugene Vilensky wrote:
>> 
>>>> If the "creates" property of a Exec points to a symlink, what is the
>>>> effect if the target of the symlink is missing?
>> 
>>> The exec will not run in this case. The 'creates' attribute looks for 
>>> something to exist at the specified path. A symlink, even if broken, is 
>>> still a file.
>> 
>>> These hypotheticals are simple to test out on your own. To test this case 
>>> on any puppet client, first create a class:
>> 
>>> #test.pp:
>>> class test {
>>>     exec { 'touch /opt/test.did.run': creates => '/opt/test.link' }
>>> }
>> 
>>> Then create a symlink to a non-existent file:
>> 
>>>     ln -s /opt/nada /opt/test.link
>> 
>>> Finally:
>> 
>>>     puppet apply test.pp
>> 
>>> /opt/test.did.run won't be created.
>> 
>> Apologies, I was completely wrong. Must be something amiss with the above 
>> manifest. Even when the target is missing it wasn't running the exec. The 
>> following code will run the exec if the target is a broken symlink but will 
>> not run it if the target it a valid symlink:
>> 
>> puppet apply -e 'exec { "/bin/touch /opt/exec.did.run": creates => 
>> "/opt/test.link" }'
>> 
>> So, again, my former conclusion was incorrect. 'creates' appears to be smart 
>> enough to recognize a broken symlink as a missing file.
> 
> 
> I don't call that "smart", I call it "buggy".  The target of a symlink
> is not the symlink itself.  Even a broken symlink named in an Exec's
> 'creates' should be sufficient to prevent that Exec from running.  At
> best, the documentation is inadequate.  I encourage you to file an
> issue report.
> 
> 
> John


Submitted.

http://projects.puppetlabs.com/issues/13126

-- 
Peter M. Bukowinski
Sr. Systems Engineer
Janelia Farm Research Campus, HHMI

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to