Thanks Rob.
>
>
As for reclassifying nodes that is a use case outside of what I'm trying to 
accomplish. 

Mostly I was trying to work more a scenario like the following: 

I have a set of restricted accounts for use with ERPM.on Linux. Each DBA is 
assigned a Linux local ERPM user that is the same on all hosts due to how 
ERPM is configured. Each of the ERPM account has specific sudo rules 
assigned to it using the sudoers module from Puppet Forge. Basically each 
erpm01-erpm30 user has the necessary groups, permissions, home and sudo 
rules for that account. Each user is a defined class so we can add 
individual ones on the host where they are required. I can't set the ERPMXX 
class to absent as that will remove it globally, which we don't want. I 
knew ways to work around this, but I'm trying to keep things as clean and 
simple as possible so we don't have to touch the code except to add new 
functionality. Our level on admins are given access in Foreman to add the 
class so they need not touch any code. 

-------------------------------------------------------------------

Based on your explanation, how can I query / access the state Puppet knows 
for a host with regard to classes it doesn't have assigned? 

I would like to write code to check for the absence of a class/classes and 
then tell puppet what I want it to mean when the class is absent. Using the 
example above, it would loop through all of the ERPMXX classes to detect 
those that aren't present. When one is found to not be present it would 
define the state noting for ensure => absent for that user. If the class is 
there it does nothing for that user. 

Do as you noted in your Example for Apache, packages to know to be 
installed solely for Apache dependencies could be defined and set ensure => 
"absent" and any other steps required to handle the absence of the class. 

I know i don't even have a partial grasp of the intricacies of the Puppet 
internals, so being able to check the state of classes being present or 
absent on the host other than from the host's classes.txt file. 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/1dd6e4f0-fff1-41a8-bad3-7d502a8bae7a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to