1

我有一个刚刚构建的新虚拟机。它已使用与所有其他节点相同的说明书进行引导。他们可以很好地加载这个数据包。新虚拟机不能。

堆栈跟踪错误::

/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'])

从厨师服务器我已经更新了保险库 knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here"

我认为这基本上是一个保险库错误,但事实上我已经运行了文档说应该用公钥加密数据包的单个命令......我不知道还能做什么。

谢谢。

(实际信息已被删除并替换为“DATABAG_NAME”和“ITEM”)

编辑 ::

我尝试过的一些其他事情在聊天中。我还做了一个knife vault update DATABAG_NAME ITEM -S "name:new_vm_name_here" --verbose --verbose从那里的输出中获取密钥。我拿走了那些钥匙,并一一用于knife data bag edit DATABAG ITEM_keys手动添加钥匙。他们都没有工作。

4

1 回答 1

0

更新保险库的命令需要是:

knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here" -M client

于 2017-04-07T16:03:59.520 回答