On 22/04/2009, at 5:50 PM, Graham Stratton wrote:
> On 22/04/2009, at 5:26 PM, Graham Stratton wrote:
>
>> I'm clearly missing something here. I thought that if I had a
>> subscribe attribute on an exec resource, then that resource would run
>> regardless on any creates/unless, but that is not what I'm seeing.
>>
>> I created a minimal test, shown below. As you can see:
>>
>> - The file 'trigger' was changed, and Puppet noticed.
>> - The exec was 'refreshed' due to the dependency, but it didn't
>> actually run.
>> - Without the 'creates' file, the exec runs correctly.
>
> After a discussion on IRC this makes more sense. Since subscribe/
> notify are metaparameters they control when resources are run, but the
> exec parameter 'creates' will still override that.
>
> That's rather unfortunate for my use-case, though. I want an exec to
> run until a file has been created or whenever a config file is
> updated. But that's not quite perfect, so maybe this will force me to
> fix things more!

Replying to myself once more, my final solution was to use the bash - 
nt (newer than) comparator. I replaced the subscribe and the creates  
with:

onlyif => "[ $path/buildout.cfg -nt $path/.installed.cfg ]"

and now it runs if the .installed.cfg doesn't exist or the config file  
is newer. It's not perfectly clean, but I can't see where it's likely  
to go wrong.

Regards,

Graham

--~--~---------~--~----~------------~-------~--~----~
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