On Wednesday, September 26, 2012 2:15:27 PM UTC-5, erkules wrote:
>
> On Wed, Sep 26, 2012 at 12:00:10PM -0700, Jo Rhett wrote: 
> > Realizing doesn't allow overrides. To remove the user: 
> > 
> > @user ahab { ensure => absent } 
> > realize User['ahab'] 
> > 
> > This may mean you need to use inheritence for the class the user is 
> defined in, creating a child class for the nodes you want to remove him on. 
> > 
>
> Oha, 
> that sounds like putting a lot of thinking building the configuration 
> system. 
>
>
Indeed, yes.  It is a complex task, and thinking is required.

Note, by the way, that virtualization really doesn't have much to do with 
this particular issue.  There are basically two ways to remove users with 
Puppet:

   1. The fairly safe way: manage the user, setting ensure => absent.  That 
   'ensure' parameters could be set on the actual resource declaration, 
   perhaps conditionally, or it could be overridden later, such as via a 
   collection.
   2. The simple, but rather dangerous, way: use the 'resources' 
   metaresource to declare that all unmanaged, non-system user accounts should 
   be purged from the system.  This has the potential to bite you -- hard -- 
   but it has the advantage that all you have to do is stop realizing a user 
   or else not declare him at all to have him removed.

Note that even approach (1) I designate only "fairly" safe.  It is that 
because you explicitly specify all user removals, but nothing can change 
the fact that removing users is inherently risky.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/ywnSOVHpDyMJ.
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.

Reply via email to