When I generate new client keys for a host and put them in /etc/chef/client.pem, my chef-client run goes through fine, except the end state is always marked as "Chef Client failed." I believe this is the node data that the node tries to update for itself on the chef-server, and somehow that data requires the old client.pem file.
To give more context:
Is there a way to enable a client to ignore any changes to the client.pem and update its node state. (without that, the whole concept of re-registering seems pointless).
Thanks for reading through and any insights on this
Assuming you are using either Enterprise Chef or the new Chef Server 12, you need to fix the ACLs on the node object. By default when the client first creates its own node object, it inherits write access to it. In the old Open Source Server (11) this check is simpler, where the names of the client and node just have to match, but the ACL system is a bit more complex. You can likely fix this via knife-acl
.