Who is angrychef and why is he angry?

So, I was browsing my local mirror of the chef packagecloud repo today, and along with the usual chef-server-core and chef rpms, I see this: angrychef-12.6.0-1.el6.x86_64.rpm. I browsed the rpm and I saw the usual chef commands in /opt/angrychef/bin. Did I miss a release announcement?

The short version is that we use these packages so that we can run chef on the boxes that build and test the regular omnibus packages–we can’t use the regular ones because the build will delete and rebuild /opt/chef. There’s not really a reason for anyone else to use them.

The longer version is that when we started making omnibus packages, on Linux platforms we could easily enough install Chef on the build systems using the system ruby with rubygems, but for some platforms, such as solaris, you have to patch makefiles and such to get ruby to build. So we ended up with some systems having no config management at all. That pretty much sucked for all the reasons that Chef is awesome, so one day when I was really frustrated by having to manually manage the config on those systems I made the omnibus software definition for “angrychef” as a joke. But eventually we added support for it in our build systems and now we install it on the build/test machines that make the omnibus packages. So you can say that angrychef is angry because managing systems by hand when you could be using Chef instead leads to anger. Ironically, the angrychef package makes me happy because it gives us config management in our build farm.

https://github.com/chef/omnibus-chef/pull/62

  • Dan
2 Likes