Matthias,

I had a similar problem recently with libvirt Ruby bindings being
required for a provider. Due to a few other requirements I opted for
creating a "second pass" approach by using a custom fact to describe
whether my provider was "ready to be used" on a node and wrap my
resources in a conditional based on this fact. The fact tests certain
files exist which are installed by packages managed in other Puppet
modules. It's pretty hacky but I didn't have time to invest in a nicer
solution such as handling the error inside the provider.

-Luke

On Oct 5, 3:25 pm, Matthias Pigulla <[email protected]> wrote:
> Hi all,
>
> I have repeatedly encountered the problem that I would like Puppet to install 
> a particular piece of software, for example git, and then use a provider 
> likehttps://github.com/puppetlabs/puppet-vcsrepoto check out a repository.
>
> This fails with a message like "Could not run Puppet configuration client: 
> Could not find a default provider for ..." unless the tool (git, to stick 
> with my example) is already installed. This chicken and egg problem applies 
> to some other install-stuff-and-do-more-stuff-with-it situations as well.
>
> I understand that it would be way too complicated for puppet to be able to 
> handle all this in a single run. But isn't failing due to the lack of a 
> particular (default) provider too hard?
>
> If Puppet would carry on and just fail on the vcsrepo {} (or whatever type of 
> resource), things would probably sort out after two or three agent runs.
>
> In IRC they pointed me to either using environments, which I think is too 
> complicated (having to maintain "bootstrap" and "production" manifests).
>
> Another tip was to have a look at the way the pip package provider 
> (https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/...) 
> works, see lazy_pip at the end. But to me it seems as if that would be out of 
> line with the rest of providers and working against the API provided by 
> Puppet.
>
> Suggestions?
>
> -mp.

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

Reply via email to