On Wed, Oct 5, 2011 at 8:40 AM, Craig White <craig.wh...@ttiltd.com> wrote:
>
> On Oct 5, 2011, at 7:25 AM, Matthias Pigulla 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 like https://github.com/puppetlabs/puppet-vcsrepo to 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/package/pip.rb)
>>  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?
> ----
> I suspect that I must be missing something here but it seems rather obvious 
> to me that in this specific example...
>
> require => Package["git"]
>
> would mean that git is installed first and then it should just work.

You can't use a provider if it depends on a package that has yet to be
installed. At least not in a single puppet run. Here's the issue:

http://projects.puppetlabs.com/issues/6907

Thanks,

Nan

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to