Today, I had a small issue while using Puppet. To make it quick: I got a circular dependency in my Puppet recipes and Puppet failed with a verbose but not so helpful message:
1234
err: Could not apply complete catalog: Found dependency cycles in the following relationships:
User[root] => File[/usr/share/locale/locale.alias], Package[python-setuptools] ...
# INSERT TONS of other dependencies here
... try using the '--graph' option and open the '.dot' files in OmniGraffle or GraphViz
Of course, I tried the ‘–graph’ option but, due to it’s size, the generated diagram was anything but readable.
I decided to script my way out of this tangle and, with help from this forum entry, I was able to quickly piece together a Ruby script that detects cycles in a graph:
In the same spirit as Debian Squeeze 64 Vagrant Base Box this post describes a new Vagrant base box for Debian Wheezy. Wheezy is currently the unstable version of Debian, meaning the box is a constant work in progress. I will update this post each time the box is upgraded.
Debian Wheezy with a linux-image-3.2.0-1-amd64 kernel;
fr_CH keyboard layout;
Debian packaged ruby 1.8;
Debian packaged puppet 2.7.10-1;
Chef 0.9.14 installed as a system wide gem;
VirtualBox Guest Tools 4.1.8r75467
Recipe
For those interrested in the details, the box was built by
following Vagrant’s instructions for
creating base boxes to create a Squeeze box which was then upgraded to Wheezy.
Cleanup
In order to reduce the packaged VM’s size, a little bit of
cleaning up was required. The following steps where used: