tickets | 16 Jun 2012 09:03

[Puppet - Bug #15074] (Unreviewed) parent providers do not work with pluginsync

Issue #15074 has been reported by Dan Bode.

Bug #15074: parent providers do not work with pluginsync

  • Author: Dan Bode
  • Status: Unreviewed
  • Priority: Normal
  • Assignee:
  • Category:
  • Target version:
  • Affected Puppet version:
  • Keywords:
  • Branch:

Assume a module with the following providers:

/lib/puppet/provider/cs_order/crm.rb /lib/puppet/provider/corosync.rb

Where the first provider specifies a parent provider:

Puppet::Type.type(:cs_order).provide(:crm, :parent => Puppet::Provider::Corosync) do

and the provider requires its parent:

require 'puppet/provider/corosync'

This will fail with pluginsync:

no such file to load -- puppet/provider/corosync

To get around this, manual adding the lib directory to the LOAD_PATH from the provider (which is kind of hacky):

$LOAD_PATH.push(File.join(File.dirname(__FILE__), '..', '..', '..'))

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 puppet-bugs <at> googlegroups.com.
To unsubscribe from this group, send email to puppet-bugs+unsubscribe <at> googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
tickets | 16 Jun 2012 09:31

[Puppet - Bug #15074] parent providers do not work with pluginsync

Issue #15074 has been updated by Ken Barber.

    This smells like a duplicate of #4248 – we’ve been working around this for quite some time in other areas:

    https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/facter/puppet_vardir.rb#L9 https://github.com/puppetlabs/puppetlabs-firewall/blob/master/lib/puppet/type/firewall.rb#L9

    Would you agree Dan?

    Bug #15074: parent providers do not work with pluginsync

    • Author: Dan Bode
    • Status: Unreviewed
    • Priority: Normal
    • Assignee:
    • Category:
    • Target version:
    • Affected Puppet version:
    • Keywords:
    • Branch:

    Assume a module with the following providers:

    /lib/puppet/provider/cs_order/crm.rb /lib/puppet/provider/corosync.rb

    Where the first provider specifies a parent provider:

    Puppet::Type.type(:cs_order).provide(:crm, :parent => Puppet::Provider::Corosync) do

    and the provider requires its parent:

    require 'puppet/provider/corosync'

    This will fail with pluginsync:

    no such file to load -- puppet/provider/corosync

    To get around this, manual adding the lib directory to the LOAD_PATH from the provider (which is kind of hacky):

    $LOAD_PATH.push(File.join(File.dirname(__FILE__), '..', '..', '..'))

    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 puppet-bugs <at> googlegroups.com.
    To unsubscribe from this group, send email to puppet-bugs+unsubscribe <at> googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
    tickets | 16 Jun 2012 19:25

    [Puppet - Bug #15074] (Duplicate) parent providers do not work with pluginsync

    Issue #15074 has been updated by Dan Bode.
    • Status changed from Unreviewed to Duplicate

    dup of #4248

    Bug #15074: parent providers do not work with pluginsync

    • Author: Dan Bode
    • Status: Duplicate
    • Priority: Normal
    • Assignee:
    • Category:
    • Target version:
    • Affected Puppet version:
    • Keywords:
    • Branch:

    Assume a module with the following providers:

    /lib/puppet/provider/cs_order/crm.rb /lib/puppet/provider/corosync.rb

    Where the first provider specifies a parent provider:

    Puppet::Type.type(:cs_order).provide(:crm, :parent => Puppet::Provider::Corosync) do

    and the provider requires its parent:

    require 'puppet/provider/corosync'

    This will fail with pluginsync:

    no such file to load -- puppet/provider/corosync

    To get around this, manual adding the lib directory to the LOAD_PATH from the provider (which is kind of hacky):

    $LOAD_PATH.push(File.join(File.dirname(__FILE__), '..', '..', '..'))

    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 puppet-bugs <at> googlegroups.com.
    To unsubscribe from this group, send email to puppet-bugs+unsubscribe <at> googlegroups.com.
    For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.

    Gmane