Bratty Redhead

the sarcasm is free!

Weekend Chef and Puppet Projects

I have a few clients that I keep in touch with and take on small projects from time to time.  This has been a strange week.  I’m technically full time on a project at the moment and I haven’t gotten any calls for new work in a couple of months.  It’s been quiet.  Then all of the sudden Wednesday I had 3 different people contact me about work. 

One call was actually for some awesome Chef work at a place I’ve been before that I’d love to go back to.  It really pained me to tell them that I thought they had in-house resources of which they weren’t aware and that these resources would be more than sufficient to Chef their project without my help. Sadface Sascha.

Another call was from someone I do work for from time to time.  Their projects source my “Puppet for Chef” series, if 2 blog posts can be called a series.  In my head I have a 3rd one on templates but haven’t gotten around to it yet. This 3wk run may source some if I’m lucky. I agreed to do some ad hoc sysadmin work for these guys because they’re in a swivet, getting ready for a PCI audit in 3 weeks.

The job: There are about 150 Centos 5 servers. Caveat: some of the servers on the list may be retired already.  Examine all of the configuration files for ConfigServer Firewall, bring them under Puppet control. Individual node config sets are ok (ugh).  All servers are running a puppet client.  I don’t know if it’s the same client.  The master was at 2.7.9 last I checked, I think.

I have a mini Chef project too for the weekend, but I think I’ll save that for another blog post.  I actually wrote post of this post on Saturday morning and am just finishing it up. I haven’t actually started my Puppet stuff except to wonder if they have some command line tools and think I’d better get to writing some tcp testers and comparison scripts if there isn’t such a thing.

I actually spent a chunk of time working on my Chef thing which was an exercise in frustration.  It’s for a Windows Ohai plugin and the actual ruby work was a piece of cake. Testing has made me crazy though.  Windows servers don’t fire up as fast as Linux for one and they are a huge pain in the ass to interact with.  On my todo list is an SSH server for Windows cookbook, unless my ultimate wish of hoping that all Windows servers DIAF happens prior to that.  The ssh cookbook is half done, like so many things.

I also am not sure I understand the testing strategy.  I didn’t write any new code so I shouldn’t need to author any tests (relief).  But it turns out I can’t seen any windows testing happening in the run, or at least, I think that’s what’s not happening.  It ran happily on my Mac and then I thought maybe I should run the test on the Windows box too to see if the output was different.  It was different.  But I think that’s because there’s no Windows plugin tests in there?  Wondering if I missed them?  I was planning to email the chef-dev list tomorrow to see if I can get some love.  Unfortunately the time I have to work on pet projects is the weekends and the IRC channels were like graveyards this weekend.

But I digress.  I also ran manual tests - you know, the kind where you do stuff by hand and watch the output? My Ohai changes tested perfectly sanely on my Windows 7 64bit workstation.  They tested insanely on a 2008r2 VMware VM I had available to me.  And when I went into ec2 to fire up a neutral 2008r2, I discovered Ohai hangs on gathering ec2 metadata when run from the command line.  I have no idea why.  I hand-edited the ec2 plugin and the mixin/ec2_metadata to try and eke out some debug info but I got no joy.  While the problem fascinated me, that was as far down that yak shave as I wanted to go today.  So I put away the Chef and cleaned up the yard for 2 hours.

Now I guess it’s time to play with Puppet!