Writings on various topics (mostly technical) from Oliver Hookins and Angela Collins. We currently reside in Sydney after almost a decade in Berlin, have three kids, and have far too little time to really justify having a blog.
A couple of things of note have happened recently. Firstly, I managed to conquer the #10-level Currywurst at Curry & Chili, rated at a (literally) eye-watering 7.7 million Scovilles - not a performance I care to repeat. Secondly, I recently changed employer from Nokia to SoundCloud. This is a big change for me, and in some ways hard since it was working with Nokia that allowed me to anchor here in…
I've previously made presentations and blog posts about Puppet and module testing - my position is that you should treat Puppet code as just that: code. Just like mainstream programming languages, it is possible (and good practice) to test your Puppet manifests so that you have higher confidence in them working when it comes time to actually run them.
There are some other factors which play a part…
It has been quite a while since I've had anything sufficiently detailed or interesting to post on a technical theme so it was quite a welcome divergence from the usual sprint work recently when we started having some Puppet performance issues. First up, like most people working at big corporations I can't give you any figures that might give away numbers of servers or anything else sensitive but…
As I mentioned in my presentation at PuppetCamp, one of the goals of our Puppet code testing was to run Puppet Faces-style compile tests on all of our modules. Since this requires a somewhat realistic deployment environment, a clean system, and our modules to be installed as packages (since that's how we are distributing our own modules) it makes sense to run this stage in a throwaway virtual…
Enjoy.
I got a question recently by email in followup to my presentation at Puppet Camp in Amsterdam about how we use cucumber-puppet. I touched on the subject only briefly in my talk but what I did say is that it revolutionised my approach to Puppet in general. Don't get too high an opinion of the tool from that statement! Behaviour-driven development in general was a new thing to me and did change my…
http://www.puppetlabs.com/blog/modeling-class-composition-with-parameterized-classes/
I'd like to point out a fine blog post by Dan Bode on parametrised class theory and application. No surprises, I've done a lot of work with Dan and our new Puppet implementations reflect this, but I find it to be a very logical way of working.
If you saw my talk in Amsterdam or read my slides (or even work with me,
If you made it to my talk, I hope you enjoyed it. If not, then maybe next time! Either way, I've uploaded my slides which are available here.
If I forgot your name, your face, or just totally forgot who you are I apologise, and similarly if I didn't introduce myself when I was standing right next to you - I'm a terribly shy person at heart so I probably didn't have the guts to interrupt your…
I'm currently at the Puppet Developer course at Beurs van Berlage in Amsterdam. We drove up on Friday from Berlin (which should have taken 6 hours, but due to traffic jams and sanity stops it took almost 11 hours). We've now spent the weekend exploring Amsterdam, which is an amazing looking city. The canals are breathtaking, and despite the frenzied bicycles and scooters constantly whizzing past…
that if you pass a Ruby symbol through the Puppet external node classifier interface, through a parametrised class and into an ERB template, it will arrive (relatively) unscathed? OK not really, but the special undef Puppet symbol does.
ENC says: myvariable: :undef
Puppet interprets it as a standard undef (which is internally represented as Puppet::Parser::AST::Undef).
When passed through to an ERB template, it again arrives as the symbol form :undef…
I'm giving another talk at Puppet Camp in Amsterdam, which incidentally will also be a totally awesome event. If you have not already signed up, and you are able to weasel your way into getting management approval then please try to get to it!
I'll also be attending the Puppet Dev course in the preceding days, which I'm looking forward to immensely. The whole family is driving up (well, I'll be…
I've recently been satisfying my need for more programming time and reading up on some of the aspects which really complete a good application, like adequate organisation, good design and reusability of library functions, error handling and of course testing. I've been using Cucumber for a while now in conjunction with Puppet which represents the BDD aspect, but haven't really delved into TDD…
My proposal is up on the DevOpsDays website, please comment and vote on it!
I've been working recently on building up a more reliable, predictable Puppet infrastructure. I'm not a developer at heart, but I've been trying very hard to apply software development principles to what I do, since generally configuration management and software deployment is becoming more and more just another software problem. One of the end goals of the system I am building is to have a pretty…
I searched everywhere for an example of this but couldn't find one, so I stumbled through and got it working myself and am documenting it here in case it ever shows up on Google and helps someone. The premise is: you have some crazy variables that you want to turn into resources of some kind, but there's no way to do it using the declarative methods within Puppet. Most notably lacking is usually…