The Puppet Resource Abstraction Layer (RAL) Explained: Part 3

Day 24 in the #vDM30in30 Image from https://flic.kr/p/DY38HH So, we’ve talked about how the RAL is a getter and setter, but let’s talk about a lesser known feature of puppet that uses the RAL: The puppet resource command. The puppet resource command is basically a CLI for the RAL. Hey, it used to even be called “ralsh”, for RAL Shell. What it’s doing is using that instances method from before, and running it on the system, and returning the current state as valid Puppet code. ...

November 24, 2016 · 2 min · Peter Souter

The Puppet Resource Abstraction Layer (RAL) Explained: Part 2

Day 23 in the #vDM30in30 Image from https://flic.kr/p/c5U1bW So, previously we talked about the RAL as a Swan. Let’s look at those legs kicking below the water. RAL with a package installation Let’s continue with our example of a resource on a system, a package called tree. package {'tree': ensure => present, } Let’s look at how the RAL will manage this: We’ve given the type as package. I’m running this on a RHEL7 system, so the default provider is yum. yum is a “child” provider of rpm: it uses the RPM command to check if the package is installed on the system. This is a lot faster than running “yum info”, as it doesn’t make any internet calls, and won’t fail if a yumrepo is failing. The install command however, will be yum install. So previously we talked about how Puppet uses the RAL to both read and modify the state of resources on a system. ...

November 23, 2016 · 7 min · Peter Souter

The Puppet Resource Abstraction Layer (RAL) Explained: Part 1

Day 22 in the #vDM30in30 “All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections.” - Wheeler More talk about Puppet, explaining a concept that takes a bit of understanding to get: The Resource Abstraction Layer. Turtles all the way down Puppet’s secret sauce is abstraction. When it’s all boiled down, Puppet is not doing anything magical: the commands that are being run on the system are the same commands that would be run by a human operator. ...

November 22, 2016 · 5 min · Peter Souter

FOSDEM Survival Guide

Day 21 in the #vDM30in30 I’ve written about my trips to FOSDEM, but I thought it’d be good to have a general survival guide, as it’s a massive event and I encourage everyone to come to it at least once. So here’s my breakdown of tips: It’s super, super busy FOSDEM has no entry-free or registration process, you simply turn up. This, combined with the fact it’s the largest open-source event in Europe means that things get a little crowded sometimes. I’ve heard estimates are about 40-50k people over the two days. ...

November 21, 2016 · 5 min · Peter Souter

Keyboard Geekery

Day 20 in the #vDM30in30 So, I’m a bit of a Keyboard geek. I didn’t mean to become one, but after having some issues with wrist strain, I thought I should look into a decent ergonomic keyboard. From there, I fell into the rabbit hole of keyboard geekery. It’s an easy hole to fall into… Plus I was aided by other Keyboard enthusiasts from the Portland Puppet office. If you’d told me I’d spend the amount of money I have on keyboards in my lifetime, I’d be looking at you funny. ...

November 20, 2016 · 4 min · Peter Souter