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.