使用(托管)厨师配置流浪盒时,我收到以下错误:
No such file or directory - file not found '/tmp/encrypted_data_bag_secret'
以下是导致错误的调用:
ssl = Chef::EncryptedDataBagItem.load("ssl", s[:id])
我也找不到encrypted_data_bag_secret
中通常位于其他服务器上的/etc/chef
。
我是否错过了上传数据包秘密的配置?
这是堆栈跟踪的其余部分:
[2013-02-14T16:51:15+00:00] ERROR: Running exception handlers
[2013-02-14T16:51:15+00:00] FATAL: Saving node information to /srv/chef/file_store/failed-run-data.json
[2013-02-14T16:51:15+00:00] ERROR: Exception handlers complete
[2013-02-14T16:51:15+00:00] FATAL: Stacktrace dumped to /srv/chef/file_store/chef-stacktrace.out
[2013-02-14T16:51:15+00:00] FATAL: Errno::ENOENT: No such file or directory - file not found '/tmp/encrypted_data_bag_secret'
答案 0 :(得分:27)
配置流浪盒时,如果要使用加密数据包,则必须提供数据包密钥的路径。
config.vm.provision :chef_solo do |chef|
[...]
chef.encrypted_data_bag_secret_key_path = '/etc/chef/encrypted_data_bag_secret'
[...]
end
答案 1 :(得分:1)
快速修正ThomasObermüller对Draco Ater上述答案的回应。在Vagrant 1.5.1到Vagrant 1.6.5中(可能早于1.5.1;我没有尝试过),有一些变化:
chef.encrypted_data_bag_secret
已弃用,设置无效。/tmp/vagrant-chef-2/encrypted_data_bag_secret_key
,而不是像最初那样默认为/etc/chef/encrypted_data_bag_secret
。