Chef, Fedora and ‘ArgumentError: Attribute domain is not defined!’
I’ve been playing around with Chef Solo on Fedora and executing the following:
sudo chef-solo -c config/solo.rb -j config/node.json
leads to the following error:
... ERROR: Running exception handlers ERROR: Exception handlers complete FATAL: Stacktrace dumped to /home/mark/chef-solo/chef-stacktrace.out FATAL: ArgumentError: Attribute domain is not defined!
A bit of googling led me to believe that this error is happening because the machine doesn’t have a fully qualified domain name (fqdn) defined which can be seen by calling the following command:
$ hostname -f > hostname: Name of service not known
One way to fix it is to add the following entry to /etc/hosts
Which results in the script running fine with no errors.
... INFO: Running report handlers INFO: Report handlers complete
A suggestion I read while googling about fqdn was to add the hostname of the machine into a file called /etc/HOSTNAME but that didn’t seem to have any impact for me.
On the Mac hostname -f works fine even without an entry like the above in /etc/hosts so I’m not entirely sure how it all works!
If anyone could explain it to me that’d be awesome.