I hate obscure errors. Google wasn’t the least bit of help.
The chef solo run was breaking with:
Bizarre. Looking at the stack trace provided no more clarity. Why was it looking for a constant called ‘Yum.Key’ in the first place?
I started digging around in the source (as you do when debugging these type of issues):
Having a look into the
filename_to_qualified_string methods was a dead end, they seemed to be working alright.
I then decided to see what values were being provided to
build_from_file. Finally, a breakthrough. The
file_name being provided looked strange
Where on earth was that coming from!
The culprit turned out to be the code I was using to copy the cookbooks to the server. Which was picking up the invisible ‘._’ file that Mac OS X uses: http://support.apple.com/kb/TA20578
I worked around the issue by removing those files at the destination with:
Not an ideal solution, but it fixed the immediate problem and allowed me to get my Jenkins server installed.