FAQ
I'm running into an issue using a custom package provider for PEAR.
Currently I've been using the provider found here<https://raw.github.com/gist/305778/13f46dea6eba07e38778d7159644b4210ebe7bbe/pear.rb>,
which seems to work fine when I manually copy it to a client running the
puppet agent.

The problem I'm having occurs when I rely on Puppet's pluginsync feature to
copy the config out. I've got the custom provider stored on the puppet
master in /etc/puppet/modules/common/lib/provider/package/pear.rb, and the
puppet.conf for the client contains pluginsync=true The custom provider is
being synchronized out to the client fine; that's not the issue. The
problem shows up when I try to use a class requiring the custom provider on
the client PC: despite the presence of the pear.rb file in
/var/lib/puppet/lib/provider/package/ after puppet initially synchronizes
it, Puppet continues to throw an error that it cannot find the package
provider, even after restarting Puppet.
puppet-agent[13581]: Failed to apply catalog: Parameter provider failed:
Invalid package provider 'pear' at
/etc/puppet/manifests/classes/rhel-web.pp:50
Now the weird thing that happens, is that if I modify the pear.rb provider
file on the client running the Puppet agent, then restart Puppet, it
notices the file has been modified, re-synchronizes it from the Puppet
master, and then the class using the custom provider works and install the
packages using the custom provider.

I've verified that the file being transmitted initially is indeed identical
to the file that is re-sent after being modified.

This issue has been reproducible each time I've tried it. Currently the
setup I'm using to test this uses Puppet 2.7.18 with 64-bit RHEL6 on the
Puppet master and 32-bit RHEL6 on the client running the Puppet agent.

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

Search Discussions

  • Matthew at Jul 31, 2012 at 11:00 pm
    I'm running into a weird issue with a custom package provider for PEAR. I'm
    using the provider I found here<https://raw.github.com/gist/305778/13f46dea6eba07e38778d7159644b4210ebe7bbe/pear.rb>and the provider itself works fine. I've got it stored on the Puppet master
    under /etc/puppet/modules/common/lib/provider/package/pear.rb and the
    puppet.conf has pluginsync = true enabled on it, however when I initially
    deploy a class with any packages utilizing the pear provider, Puppet throws
    an error that it can't find the package provider

    Failed to apply catalog: Parameter provider failed: Invalid package
    provider 'pear' at /etc/puppet/manifests/classes/rhel-web.pp:50
    Puppet throws this error even though the file has been synchronized and is
    available on the computer running the puppet agent in
    /var/lib/puppet/lib/provider/package/pear.rb.

    The weird behavior occurs if I modify the pear provider (on the client, or
    on the puppet master) so that puppet recognizes the file has been changed
    and re-sync's it from the Puppet master. After the file has been re-sync'd,
    the class using the custom provider starts working.
    I've done diff comparisons of the file that is initially sent to the client
    and the file that it receives after the client side file is modified, and
    the files are identical, so I'm not sure why Puppet is failing initially
    and then starts working after re-transmitting that file. I've tried
    restarting the Puppet agent on the client and even rebooting the client and
    Puppet still behaves this way each time. So far I've been able to reproduce
    the issue every time.


    Currently I am using Puppet 2.7.18 on both the Puppet master and client,
    with 64-bit RHEL 6 on the master and 32-bit RHEL6 on the client.

    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/Tu9KjOOb9LwJ.
    To post to this group, send email to puppet-users@googlegroups.com.
    To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
  • Adam Venturella at Mar 22, 2013 at 10:21 pm
    I am running into the EXACT same issue.

    If I change my provider code and re-sync, the provider works. If I run the
    configuration immediately after it successfully completes, it fails with:
    Failed to apply catalog: Parameter provider failed: Invalid package
    provider...

    Did you ever solve this issue?

    On Tuesday, July 31, 2012 1:40:09 PM UTC-7, Matthew wrote:

    I'm running into a weird issue with a custom package provider for PEAR.
    I'm using the provider I found here<https://raw.github.com/gist/305778/13f46dea6eba07e38778d7159644b4210ebe7bbe/pear.rb>and the provider itself works fine. I've got it stored on the Puppet master
    under /etc/puppet/modules/common/lib/provider/package/pear.rb and the
    puppet.conf has pluginsync = true enabled on it, however when I initially
    deploy a class with any packages utilizing the pear provider, Puppet throws
    an error that it can't find the package provider

    Failed to apply catalog: Parameter provider failed: Invalid package
    provider 'pear' at /etc/puppet/manifests/classes/rhel-web.pp:50
    Puppet throws this error even though the file has been synchronized and is
    available on the computer running the puppet agent in
    /var/lib/puppet/lib/provider/package/pear.rb.

    The weird behavior occurs if I modify the pear provider (on the client, or
    on the puppet master) so that puppet recognizes the file has been changed
    and re-sync's it from the Puppet master. After the file has been re-sync'd,
    the class using the custom provider starts working.
    I've done diff comparisons of the file that is initially sent to the
    client and the file that it receives after the client side file is
    modified, and the files are identical, so I'm not sure why Puppet is
    failing initially and then starts working after re-transmitting that file.
    I've tried restarting the Puppet agent on the client and even rebooting the
    client and Puppet still behaves this way each time. So far I've been able
    to reproduce the issue every time.


    Currently I am using Puppet 2.7.18 on both the Puppet master and client,
    with 64-bit RHEL 6 on the master and 32-bit RHEL6 on the client.
    --
    You received this message because you are subscribed to the Google Groups "Puppet Users" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
    To post to this group, send email to puppet-users@googlegroups.com.
    Visit this group at http://groups.google.com/group/puppet-users?hl=en.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppuppet-users @
categoriespuppet
postedJul 31, '12 at 10:06p
activeMar 22, '13 at 10:21p
posts3
users2
websitepuppetlabs.com

2 users in discussion

Matthew: 2 posts Adam Venturella: 1 post

People

Translate

site design / logo © 2022 Grokbase