我刚刚建立了一个新的VM。它使用与所有其他节点相同的烹饪书进行自举。他们可以很好地加载这个数据包。新VM不能。
Stacktrace错误::
/usr/bin/chef-client:57:in `load'
/usr/bin/chef-client:57:in `<main>'
>>>> Caused by ChefVault::Exceptions::SecretDecryption: DATABAG_NAME/ITEM is not encrypted with your public key. Contact an administrator of the vault item to encrypt for you!
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-vault-2.9.1/lib/chef-vault/item.rb:152:in `secret'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-vault-2.9.1/lib/chef-vault/item.rb:74:in `load_keys'
导致问题的代码段::
databag_contents = ChefVault::Item.load(node['DATABAG_NAME']['ITEM']['databag'], node['DATABAG_NAME']['ITEM']['databag_item'])
从Chef服务器我已经更新了保险库
knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here"
我认为这基本上是一个保险库错误,但事实上我已经运行了文档所说的单一命令,应该用公钥加密数据包......我不知道是什么别的可以做。
感谢。
(实际信息已被删除并替换为&#34; DATABAG_NAME&#34;以及&#34; ITEM&#34;)
编辑::
我尝试过的其他一些事情都在聊天中。我还做了一个knife vault update DATABAG_NAME ITEM -S "name:new_vm_name_here" --verbose --verbose
来从输出中获取密钥。我拿着这些密钥并逐个使用knife data bag edit DATABAG ITEM_keys
手动添加密钥。他们都没有工作。
答案 0 :(得分:0)
更新保管库的命令必须是:
knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here" -M client