Re: site.pp referring to other manifests without modules

787 views
Skip to first unread message

Ellison Marks

unread,
Dec 18, 2012, 12:41:54 PM12/18/12
to puppet...@googlegroups.com
You want 'import'. Do note that it is fairly discouraged.
http://docs.puppetlabs.com/puppet/3/reference/lang_import.html


On Tuesday, December 18, 2012 9:09:33 AM UTC-8, rs...@certifydatasystems.com wrote:
Hi all,

I want to do some code reuse, and modules seem overkill. Is it possible to have something like this?

A file called myuser.pp
class myuser {
   user {...}
   file {...}
   ...
}

Then in site.pp have this:
  include myuser
  .. other things ..
}

  include myuser
  .. other things ..
}

When I try this, I get a class not found: myuser (HTTP/400) error. Is there a simpler way to do this?

R,
rahul

rs...@certifydatasystems.com

unread,
Dec 18, 2012, 1:15:55 PM12/18/12
to puppet...@googlegroups.com
Thanks!

Calvin Walton

unread,
Dec 21, 2012, 4:09:58 PM12/21/12
to puppet...@googlegroups.com
On Tue, 2012-12-18 at 09:09 -0800, rs...@certifydatasystems.com wrote:
> Hi all,
>
> I want to do some code reuse, and modules seem overkill. Is it possible to
> have something like this?

Modules really aren't that much overkill, and will help clean things up
a bit. I'd really recommend using them over the 'import' suggestion.

> A file called myuser.pp
> class myuser {
> user {...}
> file {...}
> ...
> }

Just move this file to /etc/puppet/modules/myuser/init.pp

> Then in site.pp have this:
> node 'foo.example.com' {
> include myuser
> .. other things ..
> }
>
> node 'bar.example.com' {
> include myuser
> .. other things ..
> }

Then these 'include's will automatically find the file
modules/myuser/init.pp and load it for you. That's it!

--
Calvin Walton <calvin...@kepstin.ca>

Calvin Walton

unread,
Dec 21, 2012, 4:17:51 PM12/21/12
to puppet...@googlegroups.com
On Fri, 2012-12-21 at 16:09 -0500, Calvin Walton wrote:
> On Tue, 2012-12-18 at 09:09 -0800, rs...@certifydatasystems.com wrote:
> > Hi all,
> >
> > I want to do some code reuse, and modules seem overkill. Is it possible to
> > have something like this?
>
> Modules really aren't that much overkill, and will help clean things up
> a bit. I'd really recommend using them over the 'import' suggestion.
>
> > A file called myuser.pp
> > class myuser {
> > user {...}
> > file {...}
> > ...
> > }
>
> Just move this file to /etc/puppet/modules/myuser/init.pp

I'm sorry, I made a typo here... the correct path
is /etc/puppet/modules/myuser/manifests/init.pp

I know it's a fairly long path, but it's still just one file. Using
modules even for simple stuff is a good idea, in my opinion.
Reply all
Reply to author
Forward
0 new messages