Hi,

I need the capability have an enable repo in my package type, as
described in

http://projects.reductivelabs.com/issues/2247

However, I don't this this will get implemented soon. As such I have
done the following

I copied the yum.rb and package.rb from the standard location  into a
custom module

module/custom/lib/provider/package_nat.rb
module/custom/lib/type/yum.rb

In the above files I make my edits:

package_nat.rb:
newparam(:enablerepo) do
      desc "enable a repo on a run (yum only)"
end

Change the first line in yum.rb:
Puppet::Type.type(:package_nat).provide :yum, :parent => :rpm, :source
=> :rpm do

swapped the output line in yum.rb:
enabledrepo = @resource[:enablerepo]
if enabledrepo.nil?
    output = yum "-d", "0", "-e", "0", "-y", :install, wanted
else
   output = yum "-d", "0", "-e", "0", "-y", :install, wanted, "--
enablerepo", enabledrepo
end

On clients the new type get put in

/var/lib/puppet/lib/puppet/{type,provider}

Now the issue is this works If the files manually get placed in the
standard ruby paths on my machines
(/usr/lib/ruby/site_ruby/1.8/puppet/)

But when I do a puppet run I get the following error on my clients
(/Stage[main]/Nathan_test/Package_nat[job]) Could not evaluate:
undefined method `properties' for nil:NilClass

I know I am close but I can not figure out this last past, maybe scope
issues of the files?

Any ideas?

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@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.

Reply via email to