Issue #6907 has been updated by Matthias Pigulla.

There is another manifestation of the same problem (at least I think): You 
might actually have a **default** provider for a given type on the target 
system, but the provider given in the manifest might not yet be functional. 
This will lead to
    Could not run Puppet configuration client: Provider ... is not functional 
on this host at ...
with the same consequences as described above. 

(Background: I am using [vcsrepo](https://github.com/puppetlabs/puppet-vcsrepo) 
and have f. e. Subversion installed, so a default provider is available. But 
installing git through Puppet and checking out a git repo in the same manifest 
is impossible, as "git is not functional" and the agent run fails before 
installing it.)

If I am not mistaken, the [pip 
provider](https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/pip.rb)
 tries to work around this particular situation by not declaring "pip" as a 
command, but has a lazy_pip method that tries to check for the command as late 
as possible. 

I wonder if that is a <del>smart</del> API compliant approach as I haven't seen 
it in the few other providers I have looked at. If it is, shouldn't it be 
implemented in a more fundamental place (provider.rb?) to keep provider 
implementations as straightforward as possible?
----------------------------------------
Feature #6907: Ensure providers can be used in the same puppet run that their 
prerequisites are delivered in
https://projects.puppetlabs.com/issues/6907

Author: Nigel Kersten
Status: Accepted
Priority: Urgent
Assignee: 
Category: 
Target version: 2.7.x
Affected Puppet version: 
Keywords: 
Branch: 


This is possibly more accurately described as a collection of bug fixes, as 
we've aimed to fix this several times, however I'm characterizing this as a 
feature, and we're going to associate related bugs with it.

Essentially we want to be able to use a provider in the same run that it's 
prerequisites (like :commands and paths) are delivered in. 

You should not have to run puppet twice to use a provider.

We're aiming this at 2.6.x initially, but if it turns out that we need 
significant plumbing work to make this happen, we are re-targeting at Statler.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to