I’m sure this has been discussed, but it’s one of those things that’s
impossible to search for because there are a million ways to ask the question,
so forgive me if this is repetitive.
My nodes are all defined externally (in LDAP).
The LDAP entry for each system can have multiple “classification” attributes.
In my mind, these are “groups” or “tags” for the system. In Puppet’s mind, they
are “classes” that it should include in the manifests.
This works out great most of the time. I can have Puppet do all sorts of things
to systems based on classification(s). But what if I *don’t* want it to do
something?
For instance, what if I want to push puppet.conf to every system as a rule, but
not push it to a system with ‘classification: puppetmaster’? In the case of
Puppet, with the different executables getting their own sections of the file,
I could of course just push the server’s config file to all the clients without
hurting anything, but that isn’t always an option.
Specifically, I don’t want the bp.conf file to be managed on our new NetBackup
server, but it’s managed by default on every system. There doesn’t seem to be a
way to test multi-valued things like
if (!classes contains ‘backupserver’) {}
I could of course assign a “backupclient” class to the clients and not the
server, but that means giving the same class to 899 out of 900 systems, which
is stupid.
Maybe I could set a puppetVar in LDAP for the backup server? But since the
class already identifies it as a backup server, this would be repeating info in
two places, which I can rarely bring myself to do (and we’d have to remember to
add it both places for a variety of things).
Any ideas? Thanks in advance.
--
Rob McBroom
<http://www.skurfer.com/>
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.