Food Fight

The Podcast where DevOps chefs do battle

Cookbook Versioning

Show Date: Tuesday, 13 October 2012

Watch our Hangout!

A week after the podcast we held a hangout on Google+ to discuss the topics from this episode. Watch the video on YouTube


In the News

  • Partial Search for Opscode Hosted Chef was recently released. The engineering team at Opscode is getting closer to Chef 11 and one of the latest features is partial search. This allows you to limit the node attributes returned by searches against the Chef server. Doing so can have a dramatic impact on the memory and network bandwidth requirements of chef-client. According to Pete Cheslock, Director of TechOps at Sonian, they’re seeing memory usage down 75% using partial search.

  • There are a number of Breaking Changes in Chef 11, be sure to check the wiki for a running list of these changes. Daniel DeLeo recently posted a message on the Chef mailing list that goes into some detail on the changes to attributes in Chef 11. TL;DR - You may need to change the way you assign node attributes.

  • Seth Vargo has released version 0.0.4. Fauxhai is the gem you should be using to mock out ohai data in your chef testing. The latest release includes more operating systems with thanks to Joshua Timberman, Eric Wolfe, and Mike Fiedler.

  • chefvm is a simple Chef environment manager, usage inspired by rvm. At first glance this looks similar to knife-block which we mentioned back in episode 27. Thanks to David Czarnecki for letting us know about chefvm!

  • chef-rewind is a new gem that adds a simple function to the Chef library scope to edit and existing resource. If that resource doesn’t already exist, chef-rewind will raise an error.

  • Berkshelf 1.0 released Maybe have Jaime go over it on the show?

    • Full Windows support, no longer requires gecode
    • Vagrant plugin for seemless integration w/ vagrant
    • github source location
  • Understanding how Multicast Works, redis, elasticsearch, and countless other popular tools use multicast, maybe its time to figure out how it actually works

  • Linsday Holmwood released Ript, a Ruby DSL and utility for managing your iptables rules

  • Peter Donald wrote about cookbook reusability back in May of this year and we covered that post in episode 14. After joining us for the recent Reusable Cookbook Patterns Hangout, Peter’s back with a new blog post on the subject. Reusable Cookbooks Revisited. One thing Peter does really nicely in this post is explore two different approaches: attribute-driven recipes and LWRPs.

  • Staying on the topic of reusable cookbooks, Bryan Berry also wrote a post titled How to Write Reusable Chef Cookbooks, Gangnam Style. This is another great exploration of the library and application cookbook pattern.

  • Hangouts - Office Hours, Cookbook Reusability, and Release Management, and more to come. We are really happy w/ the hangouts so far and would love to hear from you how hangouts could be useful to you. Our next hangout is going to be on Tuesday, November 20 at 20:00 UTC, which is 3:00PM Eastern US and 12:00PM Pacific US. Check the for more details.

Cookbook News

New Cookbooks

  • deployer v0.1.1 - sethvargo Sets up a deploy user with the necessary ssh authorized keys. This is great for working with Capistrano where you need to deploy code, but it doesn’t make sense for each user to have a shell account.

  • editor v0.1.1 - sethvargo A simple cookbook setting the system-wide default editor

  • metarepo v0.1.0 - fujin Installs/Configures metarepo. Metarepo creates package repositories for all sorts of different package repo formats

  • search-helper v0.0.2 - spheromak This recipe brings in a Helpers::Search module that adds/wrapps chefs search function. Currently, includes scoped_search which will limit the search to the node’s domain or environment.

  • databag-helper v0.0.1 - spheromak Helper Library for Databags that povides extra methods for dealing with databags such as escape_bagname and data_bag_fqdn

  • stormforwarder v1.0.0 - ampledata Configures a splunkforwarder to forward to Splunk Storm.

  • splunkforwarder v1.0.0 - ampledata Installs & Configures Splunk Forwarder

  • camo v0.1.0 - onehealth Configures camo - a small http proxy to simplify routing images through an SSL host

  • ssmtp v0.1.0 - svanzoest Installs/Configures ssmtp.

  • nmap v0.1.0 - someara Installs/Configures nmap

  • librato_metrics v0.1.0 - portertech Provides a LWRP to manage Librato Metrics instruments.

  • composer v0.0.1 - devesc This cookbook provides an easy way to install Composer, a dependency manager for PHP

  • resource-tester v0.1.3 - someara Exercises core Chef resource across platforms. With the release of 10.16.0, the community quickly found a rather serious bug. (ticket CHEF-3547). The remote_file resource was not keeping it’s promises. Sean wrote this cookbook as excuse to learn minitest-chef and to start a reference cookbook that can exercise all of the core Chef resources. This cookbook is meant to act as a source of examples for writing tests and cross platform design patterns.

  • r-project v0.2.0 - sdanna This cookbook installs and configures R. It also contains an R_package provider which can be used in recipes to install R packages from CRAN.

  • typesafe-stack v0.1.0 - gildegoma Installs typesafe-stack for Scala, Akka and Play projects (sbt, g8). The Typesafe Stack is an integrated distribution that includes the Scala programming language, Akka event-driven middleware, and the Play web framework, along with a robust suite of development tools.

  • spamassassin v0.1.1 - demonccc Installs and configures spamassassin

  • ipxe v0.1.0 - mray This cookbook installs and builds an iPXE boot image from source so it may have iPXE scripts embedded.

  • jekyll v0.1.0 - madolphs This is a Chef cookbook for deploying your Jekyll blog.

  • backup_lwrp v0.0.4 - scottmlikens This cookbook aims to provide a foundation for you to backup your infrastructure. This cookbook helps you deploy the backup gem and generate the models to back up.

  • tomcat-solr v0.1 - matheusashton Installs tomcat 7 and deploys Solr 4.0.0 on it

  • linux-dev-env v0.0.10 - jackl0phty The primary focus of this cookbook will be preparing a GNU/Linux desktop/laptop/workstation/etc for various types of Development. The initial focus will be on Android and lua. At some point, Arm Assembly on the Raspberry Pi.

  • deployer sets up a deploy user with the necessary ssh authorized keys. This is great for working with Capistrano where you need to deploy code, but it doesn’t make sense for each user to have a shell account.

Updated Cookbooks








Cookbook Versioning - Download here