Tom Purl
2011-Nov-01 21:22 UTC
[Puppet Users] Puppet Loads My Class File But Says It Can''t Find My Class
I''m a new Puppet user, and I''m trying to get the hang of importing modules. Right now however, I seem to be having problems auto-loading the classes in my modules. Here''s my command and error: vagrant@lucid32:~$ cd /tmp/vagrant-puppet/manifests/ vagrant@lucid32:/tmp/vagrant-puppet/manifests$ puppet apply -- verbose --debug --modulepath ''/tmp/vagrant-puppet/modules-0'' lucid32.pp debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ init.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ classes/postfix.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ classes/postfix-mailman.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ classes/postfix-mta.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ classes/postfix-satellite.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ definitions/virtual.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ definitions/transport.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ definitions/config.pp'' in environment production debug: importing ''/tmp/vagrant-puppet/modules-0/postfix/manifests/ definitions/hash.pp'' in environment production Could not find class postfix for lucid32 at /tmp/vagrant-puppet/ manifests/lucid32.pp:1 on node lucid32 To me, it *really* looks like Puppet is able to fing my `postfix.pp` file, but then it tells me that it can''t find my postfix class. I''m using the camptocamp postfix module (which is available here: https://github.com/camptocamp/puppet-postfix). Here''s the contents of the relevant files: postfix/manifests/init.pp: import "classes/*.pp" import "definitions/*.pp" `postfix.pp` contains a non-parameterized postfix class. Here''s the contents of my lucid32.pp file: include postfix Here''s the folder structure: /tmp/vagrant-puppet/ | |__manifests/ | | | |__lucid32.pp | |__modules-0/ | |__postfix | |__files/ | |__manifests/ | | | |__init.pp | | | |__classes/ | | | |__postfix.pp | |__README | |__templates/ Does anyone know what I''m doing wrong? Also, here''s some things I have tried: * The original name of the camptocamp postfix module was puppet- postfix and I was having the same problem. I changed the name of the folder to "postfix" to match the name of the class, but as you can see that didn''t help. * I tried including "postfix::postfix", but I got the same results. Thanks in advance! Tom Purl -- 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.
Chuck
2011-Nov-02 18:50 UTC
[Puppet Users] Re: Puppet Loads My Class File But Says It Can''t Find My Class
You are probably hitting this issue: https://projects.puppetlabs.com/issues/8433 The correct way to do this is to use the Puppet autoloader. To do this. Replace your init.pp with your postfix.pp file. /tmp/vagrant-puppet/ | |__manifests/ | | | |__lucid32.pp | |__modules-0/ | |__postfix | |__files/ | |__manifests/ | | | |__init.pp (was postfix.pp) | |__README | |__templates/ -- 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.