Without waving my ignorance around too much... does Matthias' issue fit run stages? This sounds like exactly what they were designed to solve: ensure certain things definitely happen before certain other things.
On Wed, Oct 05, 2011 at 07:33:29AM -0700, Luke Bigum wrote: > 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 <m...@webfactory.de> 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 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. > > -- 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.