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