Issue #3537 has been updated by Paul Hinze.
Hi Eric- no update from you in awhile, what's the status on this issue? I've been watching this issue mostly concerned about the `apt-get update` use case. I definitely don't want to eat an update on every puppet run for my environment, but I'd like to be able to trigger it once Puppet has decided it should be installing a package. It seems like this is something that Puppet should be able to handle nicely for me. Currently we're using an `Exec['apt-get-update']` with an `unless` that causes it to run if the cache is over 24h old [1], but this does not help us in the package upgrade use case. We have to choose between hitting apt servers with update requests tens of thousands of times a day (30m * number of nodes), or manually running around and kicking `apt-get update` when we need to upgrade packages. There must be a better way! [1] Something similar to this: http://stackoverflow.com/a/14754159/105022 ---------------------------------------- Feature #3537: It should be possible to trigger (exec) resources with require https://projects.puppetlabs.com/issues/3537#change-90858 * Author: Kjetil Torgrim Homme * Status: Needs Decision * Priority: Normal * Assignee: eric sorenson * Category: metaparameters * Target version: * Affected Puppet version: 0.25.4 * Keywords: * Branch: ---------------------------------------- When an Exec has conditions associated with it (unless, creates, onlyif), it can be useful to be state prerequisites which are only run when the exec itself is run. Consider this simple example:: <pre> exec { "prereq": command => "/bin/echo prereq", refreshonly => true } exec { "main": command => "/bin/echo main", onlyif => "/bin/grep foobar /etc/issue", require => Exec["prereq"] } </pre> Here, the refreshonly will cause "prereq" to never run, since a require isn't enough to trigger it. Without refreshonly, it will run every time, but the desired behaviour is that "prereq" is run iff the onlyif command succeeds. Obviously the behaviour of "refreshonly => true" can't change, and I can't think of a good name for a tri-state alternative -- "refreshonly => 'requires-too'" ? "allevents" may be more workable. My prefered solution would be a new parameter "requireonly". Perhaps slightly misleading name, since "before" should trigger execution, too, but I think most people will understand that require/before are inherently intertwined. This could later be generalised into a metaparameter to work for more types, e.g. you could have a parent File which is only checked/updated/created when some other File requires 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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
