[Puppet Users] Could not find a default provider for ... should not fail the agent run?
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? -mp. -- 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.
Re: [Puppet Users] Could not find a default provider for ... should not fail the agent run?
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. As for 'fail' and continue on, that's clearly not the puppet way and any tolerance of failures seems inappropriate on just about any level. Craig -- 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.
Re: [Puppet Users] Could not find a default provider for ... should not fail the agent run?
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.