On Thu, Aug 13, 2009 at 10:48 AM, jcbollinger<john.bollin...@stjude.org> wrote: > > > On Aug 12, 9:53 am, Asif Iqbal <vad...@gmail.com> wrote: >> On Wed, Aug 12, 2009 at 9:03 AM, jcbollinger<john.bollin...@stjude.org> >> wrote: >> >> > On Aug 11, 3:13 pm, Asif Iqbal <vad...@gmail.com> wrote: > > [...] > >> >> Is is possible to config a resource where a node will only get a >> >> specific class and nothing else? >> >> > Puppetmasterd matches exactly one node spec to each client, using the >> > default node spec if no others match. The classes specified by the >> > chosen node spec (and only those) are applied to that client. That's >> > how it should be, and that's how it works for me in version 0.24.8. > >> > I can think of several possible explanations for the behavior you see: >> >> > 1) Your "nmc-delete" class includes other classes, which are therefore >> > also applied to any node that gets nmc-delete. >> >> pup...@sys-ubuntu:/etc/puppet/manifests$ cat classes/nmc-delete.pp >> class nmc-delete { >> define mygroup ($gid){ >> group { "$title": >> gid => "$gid", >> ensure => present, >> } >> } >> define deluser { >> exec { "/usr/sbin/userdel $name": } >> exec { "/usr/bin/rm -rf /export/home/$name": } >> } >> >> } > > AHA! These resources do not belong to any class; they are top-level: > >> nmc-delete::deluser { "seagate": } >> nmc-delete::deluser { "abradley": } >> nmc-delete::deluser { "bobrien": } >> >> pup...@sys-ubuntu:/etc/puppet/manifests$ cat classes/nmc.pp >> class nmc { >> define mygroup ($gid){ > > [...] > >> } >> define myuser ($uid,$gid=1,$comment,$shell,$home,$password) { > > [...] > >> } >> >> } > > More top-level resources: > >> nmc::mygroup { "group1": gid => "70006" } >> nmc::mygroup { "group2": gid => "15" } >> nmc::mygroup { "dba": gid => "101" } >> >> nmc::myuser { "seagate": >> uid => "120", >> gid => "10", >> password => ".i0gouaHfLC2", >> comment => "", >> home => "/home/seagate", >> shell => "/bin/sh", >> >> } > > [...] > > As I hinted above, I think I see the problem. If I'm reading your > manifests correctly, your resources are not in classes at all. They > are being applied [only] because you are importing them directly into > site.pp. I think you need to structure your code something like this:
that is exactly what I was doing wrong. it is working now as I expected it to work. Thanks a lot in helping to fix the manifests. > > class nmc-delete { > define mygroup ($gid){ > group { "$title": > gid => "$gid", > ensure => present, > } > } > define deluser { > exec { "/usr/sbin/userdel $name": } > exec { "/usr/bin/rm -rf /export/home/$name": } > } > > deluser { "seagate": } > deluser { "abradley": } > deluser { "bobrien": } > > } > > > (And similarly for your other manifests.) > > > John > > > -- Asif Iqbal PGP Key: 0xE62693C5 KeyServer: pgp.mit.edu A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? --~--~---------~--~----~------------~-------~--~----~ 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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---