Узлу Chef не удается загрузить элемент мешка данных из-за проблем с шифрованием с открытым ключом
У меня есть новая виртуальная машина, которую я только что построил. Он был загружен с теми же кулинарными книгами, что и все остальные узлы. Они могут загрузить эту сумку данных просто отлично. Новая ВМ не может.
Ошибка трассировки::
/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"
Я думаю, что это в основном ошибка хранилища, но тот факт, что я уже выполнил единственную команду, которая, по словам документации, должна зашифровать пакет данных с помощью открытого ключа... Я не знаю, что еще можно сделать.
Благодарю.
(фактическая информация была удалена и заменена на "DATABAG_NAME" и "ITEM")
РЕДАКТИРОВАТЬ::
Некоторые дополнительные вещи, которые я пробовал, находятся в чате. Я также сделал knife vault update DATABAG_NAME ITEM -S "name:new_vm_name_here" --verbose --verbose
чтобы получить ключи от выхода там. Я взял эти ключи и один за другим использовал knife data bag edit DATABAG ITEM_keys
добавить ключ вручную. Никто из них не работал.
1 ответ
Команда для обновления хранилища должна быть:
knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here" -M client