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.