So I’ve never cared much for the whole DevOps thing and I sort of snicker when it’s mentioned at the office but hey, I get that it’s one of the cool new buzzwords. I get that it makes managing a ton of servers considerably easier even if it means (as a developer) that I have to remember to disable the agent when I’m playing around or my changes will be overwritten. I decided that even though it’s not really part of my playground, my servers are all controlled by the Puppet master and it might be good to have a working knowledge of what it’s doing.
Tonight (well, last night really, but I did a fresh install again tonight) I installed Puppet Enterprise and a single Puppet node. I managed to knock out my first class even and both tested the new class on my master but also successfully forced an update to the agent with
puppet agent -t
and verified the change.
I guess you can’t really start learning something in this industry properly without a good old-fashioned “Hello, world!” right? So I headed over to the Puppet docs and found their example. Just a few minutes later after a quick vi session and I pushed another update.
# puppet agent -t Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Info: Caching catalog for runlevl4.com Info: Applying configuration version '1455942765' Notice: /Stage[main]/Helloworld::Motd/File[/etc/helloworld]/ensure: defined content as '{md5}910c8bc73110b0cd1bc5d2bcae782511' Notice: hello, world! Notice: /Stage[main]/Helloworld/Notify[hello, world!]/message: defined 'message' as 'hello, world!' Notice: Finished catalog run in 0.46 seconds # cat /etc/helloworld hello, world!
So there you have it. I’m on my way to being a DevOps guy! 😀