Le 12 mars 2013 à 17:46, jcbollinger <[email protected]> a écrit :
>
> This works too :
>
> package{'needed for exec':
> name => $packages,
> ensure => present,
> }
>
> exec { "foo": require => Package['needed for exec'] }
>
> Less object, so a smaller catalog, and faster because your package tool is
> run once, not one time for each package.
>
>
> I have trouble believing that that works completely, and if it does, I would
> be amazed to find that it avoids running the package tool separately for each
> package.
>
> Ways I imagine it might fail include:
> Puppet attempts to manage a single package whose name is a concatenation of
> the names in $packages ("firstsecondthird...")
> Puppet manages only the first package listed in $packages, ignoring the others
> Puppet does not correctly detect when the packages are already installed, and
> therefore attempts to install them on every run
> If it does none of those things then I have great difficulty believing that
> it does not create a separate Package resource for each element of $packages,
> and therefore indeed run the package manager once for each.
It does nothing of that, I use it a lot in my modules and it solves many
problems. I didn't test it on many platform, but it works quite well on
rpm-based providers.
>
> And if it in fact behaves exactly as promised, then that constitutes
> undocumented behavior, and it is therefore unsafe to rely upon.
It not so undocumented. You don't just convert a array to a string, you get an
empty separator ['a', 'b'] is converted to 'ab', for what I saw in many of my
mistakes. So someone was thinking about my use case and add the code to have a
' ' separator for the rpm command.
>
> So don't do that.
>
>
> John
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.