Hey Matt,

I'm not exactly sure how you have things setup now, but the operating
system fact is baked into factor and will be available on the first
run. Rather than having the ENC supply your default classes, you could
do so in your site.pp. Here's how I do it:

stage { 'first': before => Stage['main'] }
class { baselinux: stage => 'first' }

This makes baselinux run for every node, before anything else,
independent of the ENC. It would be easy enough to wrap that in a OS
check.

We have a similar setup (just starting work on Windows primarily for
auditing as well) and decided to use a separate Puppet Master for
Windows to keep things clean and other reasons such as different
operations teams administering the ENC.

hth,

Adam

p.s. If you haven't explored this, you can do some really cool things
with Windows auditing by extending factor and using Ruby's win32/ole
libraries (report on video cards, motherboards, etc.)

On Jul 4, 8:20 am, Matthew Burgess <matthew.2.burg...@googlemail.com>
wrote:
> Hi all,
>
> We have a mixed Linux and Windows environment and have so far just
> been using Puppet on our Linux servers.  Having configured the
> inventory service, we've got an auditing script that uses the data to
> report on things like OS version, RAM, etc.  This is all so nice that
> we'd like to extend it to auditing our Windows infrastructure.
> However, at this point in time, we have no need to apply any manifests
> to those Windows servers, and they're all Linux-centric anyway.
>
> I've installed the puppet agent on a Windows server but when it starts
> it obviously tries to apply all the manifests the ENC tells it to
> (there's a default set of classes that all servers up until now have
> applied).  I think the correct way to tackle this is to have the first
> run of the agent use the 'noop' parameter, that way the cert exchange
> will take place, and the facts will be populated, but no classes will
> be applied.  On subsequent runs, the ENC can use the aforementioned
> inventory service to inspect the 'operatingsystem' fact to determine
> whether or not to apply any classes.
>
> So, I guess, I'm just babbling to the masses here in a request for
> comments as to whether this is the correct/most efficient method of
> achieving my goal of only applying classes to Linux servers, but being
> able to have Windows servers available via the inventory service.
>
> Thanks,
>
> Matt.

-- 
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.

Reply via email to