I''m having trouble getting a simple custom type to work.
Clients are giving me the following error:
"Could not retrieve catalog: Could not find resource type zypper_repo
at /etc/puppet/manifests/nodes/mgt.pp:33 on node <host.fqdn>"
The custom type is present in the /var/lib/puppet/lib/puppet/type
directory on both clients and server (via pluginsync), but it''s not
working.
My node.pp, init.pp for the module, and custom type are listed below.
Any ideas?
node ''host.fqdn'' inherits basenode {
include zypper
zypper_repo { "test":
}
}
init.pp for zypper module:
class zypper {
}
zypper_repo.rb:
module Puppet
newtype(:zypper_repo) do
@doc = "Ensure that the given repo is defined on the
system,
and add it if not present."
ensurable
newparam(:name) do
desc "The name of the repository"
isnamevar
end
newparam(:enabled) do
desc "Enabled status of the repository"
newvalues(:yes, :no)
defaultto "yes"
end
newparam(:refresh) do
desc "Refresh status of the repository"
newvalues(:yes, :no)
defaultto "yes"
end
newparam(:type) do
desc "Type of repository"
newvalues(:yum, :yast, :plaindir)
end
newparam(:uri) do
desc "URI that points to the repository"
end
newproperty(:ensure) do
desc "Whether the repository is present or
not."
newvalue :outofsync
newvalue :insync
end
newproperty(:ensure) do
desc "Whether the repository is present or
not."
newvalue :outofsync
newvalue :insync
defaultto :insync
def retrieve
cmdline = ''zypper sl | grep ''
+ resource[:name]
result = `#{cmdline}`
result.split[0] ? :insync : :outofsync
end
end
end
end
--~--~---------~--~----~------------~-------~--~----~
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+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---
On Sep 10, 2009, at 6:48 AM, Justin Kinney wrote:> > I''m having trouble getting a simple custom type to work. > > Clients are giving me the following error: > "Could not retrieve catalog: Could not find resource type zypper_repo > at /etc/puppet/manifests/nodes/mgt.pp:33 on node <host.fqdn>" > > The custom type is present in the /var/lib/puppet/lib/puppet/type > directory on both clients and server (via pluginsync), but it''s not > working. > > My node.pp, init.pp for the module, and custom type are listed below. > Any ideas?Does the type compile? E.g., if you do ''ruby -rpuppet <file>'', do you get an error? If you load that file directly in irb using ''load'', can you retrieve the type with Puppet::Type.type(:...)? -- We cannot really love anybody with whom we never laugh. --Agnes Repplier --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---