Food Fight

The Podcast where DevOps chefs do battle

Episode 10: TESTALLTHETHINGS, Testing Infrastructure With Jim Hopp, Stephen Nelson-Smith, and Andrew Crump

Show Date: 30 April 2011 09:00 PDT, 17:00 BST(GMT) Download Here


What’s Hot!

We have moved foodfightshow’s planning documents to github. this means
that you can help us plan shows, submit questions, and otherwise

What’s Cooking?

In the News


  • ChefConf get your tickets before the event sells out! The countdown to ChefConf has begun. Be sure to follow @chefconf on twitter for all the latest updates and announcements.
  • Pre-ChefConf Hacknight will be held at the MoPub headquarters in San Franciso starting at 8:00 PM on Monday night.
  • There will be a Chefconf Pre-event Hack day on Tuesday, May 15 from 1:00 - 7:00 PM at the location of Chefconf.

Cookbook Updates

liquibase v0.0.1 - reset

  • Jamie Winsor
  • Installs and configures Liquibase on Redhad flavored distros.
  • Liquibase is an open source, database-independent library for tracking, managing and applying database changes.
  • It is built on a simple premise: All database changes are stored in a human readable yet trackable form and checked into source control.

rbenv v1.3.1 - reset

  • Jamin Winsor with help from Wes Morgan
  • Installs and configures rbenv
  • add support for a rbenv_ruby global attribute
  • install libreadline-dev in Ubuntu & Debian so irb will work

geminabox v0.1.0 - chrisroberts

sortable_mash v0.0.1 - chrisroberts

  • This cookbook provides a #sorted_hash method to Mash instances. In many situations a configuration file is generated via JSON.pretty_generate or some other method using a Hash. The #sorted_hash option ensures that hashes are in a consistent order so file contents are changed simply due to value reordering.

network_interfaces v0.0.1 - guilhemfr

  • Guilhem Lettron
  • Manage /etc/network/interfaces on debian / Ubuntu

kvm v0.1.0 - guilhemfr

  • Guilhem Lettron
  • Install KVM Hypervisor on Ubuntu and Debian

modules v0.1.0 - guilhemfr

  • Guilhem Lettron
  • Manage linux modules with /etc/modules and modprobe

bonita v0.1.0 - peter_donald

  • Peter Donald
  • Installs/Configures the Bonita, an open source BPM server

xymon v0.1.0 - peter_donald

  • Peter Donald
  • Installs/Configures Xymon monitoring infrastructure
  • Xymon is a monitoring project inspired by the Big Brother monitoring system.

authbind v0.1.1 - peter_donald

  • Peter Donald
  • Installs/Configures authbind and defines resources for managing authorization

extended_drbd v0.0.1 - jwitrick

  • Justin Witrick
  • This cookbook is designed to setup and configure a pair of servers with drbd.
  • DRBD® refers to block devices designed as a building block to form high availability (HA) clusters. This is done by mirroring a whole block device via an assigned network. DRBD can be understood as network based raid-1.

catalyst v0.0.5 - melezhik

  • Alex Melezhik
  • catalyst application resource provider (LWRP)
  • Support for debian platrform

redisio v1.0.2 - geekbri

  • Brian Bianco
  • Installs/Configures redis

user v0.2.10 - fnichol

  • Fletcher Nichol has released some bug fixes and improvements to the user cookbook
  • A convenient Chef LWRP to manage user accounts and SSH keys (this is not the opscode users cookbook)

discovery v0.0.7 - fujin

postgresql91 v0.99.6 - scottmlikens

  • Scott Likens
  • Installs and configures postgresql for clients or servers

Mentioned last week

mosh v0.3.0 - jtimberman

  • Installs/Configures mosh

bag_config v2.0.1 - chrisroberts

  • Provides helpers for optional data bag configuration

campfire v0.0.4 - cwjohnston

  • LWRP for sending messages to Campfire rooms
  • Rewrite to use Broach gem in lieu of Tinder, as Tinder’s dependency on ActiveSupport has negative consequences for Chef.

gdash v0.0.2 - sme

  • Installs/Configures gdash and provides helpful resources for graph and dashboard creation

Opscode Cookbook Releases

A few cookbooks that are managed by Opscode were also updated recently. Check the show notes for more details but here’s a quick run down of which were updated.

apache2 v1.1.8 - opscode

  • Installs and configures all aspects of apache2 using Debian style symlinks with helper definitions
  • Some platforms with minimal installations that don’t have perl won’t have a node['languages']['perl'] attribute, so remove the conditional and rely on the power of idempotence in the package resource.
  • COOK-1214 - address foodcritic warnings
  • COOK-1180 - add mod_logio and fix mod_proxy

ntp v1.1.8 - opscode

  • Installs and configures ntp as a client or server
  • COOK-1158 - RHEL family >= 6 has ntpdate package

nginx v0.101.2 - opscode

  • Installs and configures nginx
  • COOK-1211 - include the default attributes explicitly so version is available.

rsyslog v1.1.0 - opscode

  • Installs and configures rsyslog
  • Changes from COOK-1167:
    • More versatile server discovery - use the IP as an attribute, or use search (see README)
    • Removed cron dependency.
    • Removed log archival; logrotate is recommended.
    • Add an attribute to select the per-host directory in the log dir
    • Works with Chef Solo now.
    • Set debian/ubuntu default user and group. Drop privileges to syslog.adm.

postfix v1.2.0 - opscode

  • Installs and configures postfix for client or outbound relayhost, or to do SASL auth
  • COOK-880 - add client/server roles for search-based discovery of relayhost

powershell v1.0.6 - opscode

  • Installs/Configures PowerShell 2.0 on the Windows platform
  • Refactor the powershell resource from a core-Chef monkey-patch into a proper LWRP.
  • Take advantage of native Win32 support for cwd and environment in Chef 0.10.8+.
  • COOK-630 force powershell scripts to terminate immediately and return an error code on failure
  • ensure more sane default options are set on PowerShell process

apt v1.4.2 - opscode

  • Configures apt and apt services and LWRPs for managing apt repositories and preferences
  • COOK-1155 - LWRP for apt pinning

resolver v1.0.2 - opscode

  • Configures /etc/resolv.conf via attributes
  • ‘node’ went missing in the template.

Reminders and announcements

A quick Public Service Announcment: If you publish a cookbook on the community site, please include a or at least a link to the cookbook’s repository. This makes it much easier for everyone to see what’s changed between versions.
Do you have cookbook news that you’d like to share or feedback on the show? Please drop a line to
Be sure to follow @foodfightshow on twitter!

Show Notes:

Pre-Chefconf Hackday will focus on testing

Two talks at Chefconf on Testing:
Jim will give a talk at Chefconf – Test-driven Development for Chef practitioners
and recently blogged about cookbook testing at Lookout

Stephen Nelson-Smith will also give a talk, topic to be determined, and he created Cucumber-Chef

Andrew Crump is working on Minitest for Chef

ruby meta-programming makes us feel dirty sometimes but is also very cool


   Planetary Resources

   The Mongoliad by Neal Stephenson and others

Stephen Nelson-Smith  browser equivalent of org-mode
pkgsrc from netBSD

smalltalk-80 implemented in JavaScript -
the last dickens - Matthew Pearl


just a minute - uk radio series