On Fri, Apr 11, 2014 at 7:15 PM, Tim Mooney <[email protected]> wrote:
>
> The tl;dr version:
>
> Can anyone point me at an example of an existing provider that selects
> a particular command based not on a facter fact or whether a particular
> path exists, but instead on a variable from a puppet class?
>
> The full version:
>
> We have puppet 3.4.2 on master and all agents, generally from the
> PuppetLabs packages for OpenSource puppet.
>
> Red Hat has begun providing alternate (updated) versions of some packages
> as part of its "Software Collections Library", aka SCL.  If you have
> a RHEL 6.5 system subscribed to the appropriate software collections
> channel, it's entirely possible to have something like this:
>
> $ rpm -q -f /usr/bin/mysql
> mysql-5.1.73-3.el6_5.x86_64
> $ rpm -q -f /opt/rh/mysql55/root/usr/bin/mysql
> mysql55-mysql-5.5.36-1.1.el6.x86_64
>
> For a provider that relies on the mysql command-line tool to accomplish
> certain tasks, it's no longer a great solution to just do
>
>         commands :mysql => 'mysql'
>
> I also don't want to just have it always use the binary from
> /opt/rh/mysql55/root/usr/bin/mysql if it's present, since it's at least
> conceivable that one might need to use a particular version of the client
> when accessing a particular database.
>
> The best idea I've come up with is to have the provider decide which
> specific version of a command to use based on a variable that has already
> been set in the class, but I haven't found any examples of providers that
> do that.  If anyone can point me at some prior art, I would greatly
> appreciate it.
>

An example of pe_gem v.s. package built in ruby gem provider:
https://github.com/puppetlabs/puppetlabs-pe_gem

HTH,

Nan

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CACqVBqD06H9mha4A4TAQXActPau1HGdCzHgfT%2B_BJxP8UhNHag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to