When you try to bootstrap a node to a Chef server, you may get the error message
Compiling Cookbooks…
==============================================================
Recipe Compile Error in c:/chef/cache/cookbooks/…/attributes/default.rb
==============================================================
NoMethodError
————-
undefined method `…=’ for #<Chef::Node::VividMash:0x0000000004ca3268>
…
Relevant File Content:
>> default. …
In my case, the cookbook compiler could not interpret the dot notation in the recipes.
There are multiple ways to declare and use the Chef attributes:
default['ATT_NAME'] default["ATT_NAME"] default[:ATT_NAME] default.ATT_NAME
The last format, the dot notation is a legal form, but not accepted by the compiler that checks the cookbooks during bootstrapping. The same cookbook works perfectly in Test Kitchen, and in chef-client.
The solution is to change the dot notation to one of the other formats, preferably to the first in the list above.