The Chef server maintains the list of registered nodes and clients in its database. When you launch a new instance with Chef you may encounter the following error message:
*** Input CHEF_CLIENT_NODE_NAME is undefined, using: IP-0AFE6965 ... *** Starting chef-client *** Finished chef-client Printing Log ... [...] INFO: Client key C:\chef\client.pem is not present - registering [...] INFO: HTTP Request Returned 409 Conflict: Client already exists [...] INFO: HTTP Request Returned 403 Forbidden: error [...] ERROR: Running exception handlers [...] ERROR: Exception handlers complete [...] FATAL: Stacktrace dumped to C:/chef/cache/chef-stacktrace.out [...] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report [...] FATAL: Net::HTTPServerException: 403 "Forbidden"
In this case the CHEF_CLIENT_NODE_NAME already exists in the client database. You can search for it from a Bash window.
To find the node in the Chef server database
knife search node '*:IP-0AFE6965'
To find the client in the Chef server database
knife search client '*:IP-0AFE6965'
If any of them found, those are leftovers from a previous launch. AWS reuse the IDs, so you have to remove the nodes from the Chef server database when you terminate the instances. To delete the unnecessary entries use the following commands:
knife node delete 'IP-0AFE6965' knife client delete 'IP-0AFE6965'
To regularly remove the terminated instances from the Chef server database you can also use the Chef web interface.
- On the Nodes tab enter the IP address of the instance into the search box and hit Enter
- In the Actions column click the down arrow next to the instance and select Delete