On Wed, 08 Sep 2010, Martin Langhoff wrote:
> 1 - With a high number of identical nodes, we are very precious about
> deploying the exact same sw package (rpm in this case) to all nodes.
> Can I declare an exact rpm version/revision in a packages[] section?
> Can I later update it with a later version and will it know to upgrade
> VIA YUM?
Yes, you can put a version number in the "require" parameter of a
package resource. As somebody else said, it would be a good idea to
maintain your own package repository.
> 2 - Can I say "install this shellscript and run it once"? How?
There's no easy way to do exactly that, but you can easily achieve much
the same result if the script has a way of testing whether its work
needs to be done:
$script = "/some/dir/filename"
file { $script:
ensure => file,
owner => ..., group => ..., mode => ...,
source => "puppet:///wherever",
}
exec { "run the script if necessary":
command => "$script --really-do-it",
onlyif => "$script --check-whether-it-needs-to-be-done",
require => File[$script],
}
> 2a - Is there an ISConf-like facility that says "run it until it
> succeeds once"? [ Happy to use Makefiles, but if there's a
> Puppet-supported elegant way of doing it... ]
Again, no, but there are several alternatives. To run the command
several times per puppet run, you can put a while loop in the "command"
parameter of a puppet exec resource, or write a wrapper script that
loops. To run a command once per puppet run as long as it keeps
failing, but stop after it has been successful once, can use the
exec/onlyif technique.
I don't want to add anything to the answers others have given to the
remaining questions.
--apb (Alan Barrett)
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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-users?hl=en.