This will work, but I'd use a selector. Search for selector in
this document: http://docs.puppetlabs.com/guides/more_language.html
The reason being, is you could supply a default if no match was found,
rather than it just generating an error.
I would use one to assign a variable to the template name, and just do
template($template_name) as normal, that way you don't evaluate
template() more than once.
A node can belong to more than one class, so I wouldn't rely on the
idea of using $CLASSNAME.(For instance, the external nodes system
could say I'm a webserver, and I'm also an appserver later.
Since you're using cobbler, you any --ksmeta variables you set are
available as variables in Puppet.
(Others can see docs on this here:
https://fedorahosted.org/cobbler/wiki/UsingCobblerWithConfigManagementSystem
)
Parameterized classes, coming in the next release, will make this a
lot easier -- though it's something Cobbler's going to have to adapt
to.
--Michael
On Fri, Apr 30, 2010 at 6:10 AM, Peter Meier peter.me...@immerda.ch wrote:
but I'm not too sure how to set the value of $CLASSNAME.
we do something similar:
file{'/etc/exim/exim.conf':
source = [ puppet://$server/modules/site-exim/${fqdn}/exim.conf,
puppet://$server/modules/site-exim/${exim_type}/exim.conf,
puppet://$server/modules/site-exim/exim.conf,
puppet://$server/modules/exim/exim.conf ],
require = Package['exim'],
notify = Service['exim'],
owner = root, group = mail, mode = 0640;
}
http://git.puppet.immerda.ch/?p=module-exim.git;a=blob;f=manifests/base.pp;h=a0b2d02ca3e1a95b0ddc0b48fa54efb5d2981774;hb=76f594abd5dabffe86bdaeecb99b15bda4b968fc#l13
what we do then is to set per node the variable (or in an external node tool
called parameter) $exim_type to set it to something like 'antivirus',
'webhosting' or whatever. and then have in site-exim/files/antivirus/ the
appropriate config file.
btw: we nearly got rid off that, as we started to split the exim
configuration into different subfiles and including them. We then deploy
only these include files based on exim_type. This has the advantage, that we
have only one identical main-exim config and do all the tweaks in little
files we just include.
cheers pete
--
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.
--
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.