Stupid Puppet Trick: Identifying Groups of Hosts

My Ruby skills are practically non-existant, but I’ve managed to put together a relatively readable custom fact for identifying my Torque queues by a node’s hostname. Behold, HostgroupFact! Now I can factor out my hosts.equiv files back to a parent class, rather than duplicating the same file specifications on a per-queue basis. class cluster-host inherits […]

Giving a Presentation at the Tennessee Higher Education IT Symposium

I’m heading to the IT Symposium this morning to give a talk on creating a managed Unix infrastructure from scratch, somewhat of a summary of several things I’ve posted here over the last year or so. Thanks to the folks on #puppet who read over them and gave editing suggestions. Slides for presentation Handouts for […]

Stupid Puppet Trick: Agreeing to the Sun Java License with Debconf Preseeds and Puppet

I had a user ask for Java to be installed on the cluster systems, so I started up by making a simple JRE5 module for puppet, but this first one didn’t quite work: class jre5 { package { “sun-java5-jre”: ensure => latest; } } It doesn’t work because Sun wants you to agree to its […]

Obscure Puppet Error #1

(First in a series of some finite positive number, for the greater edification of Googlers everywhere.) If you get an error of err: Could not retrieve catalog: Could not parse for environment development: Syntax error at ‘Debian’ at /etc/puppet/master/manifests/os/Debian.pp:1 on a Debian.pp that only has one line of class Debian {}, just go ahead and […]

Client Configuration Management

Back at the mothership, client configuration management is described as everything that makes a host unique and/or part of a particular group or domain. And for Unix-like systems, everything pretty much comes down to configuration files, services being enabled/disabled, and cron jobs. Hmm. Configuration files Services Cron jobs Looks like Puppet pretty much handles […]