Я получаю такие ошибки, как
WARN: Failed to read the private key /etc/chef/client.pem: #<Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/chef/client.pem>
ERROR: Your private key could not be loaded from /etc/chef/client.pem
Check your configuration file and ensure that your private key is readable
несмотря ~/.chef/knife.rb
содержащий
client_key "#{ENV['HOME']}/.chef/chicks.pem"
который должен искать другой файл. Я побежал knife
через strace
и обнаружил, что он читает /home/chicks/.chef/knife.rb
, но затем ищет /etc/chef/client.pem
и никогда не пытается открыть ~/.chef/chicks.pem
. Я вижу ту же проблему с Mint 17.3 и Ubuntu 16.04LTS. Я пробовал ChefDK 0.10.0 и 0.14.25 с той же проблемой. Использование явных путей не помогло. Что еще искать или попробовать?
Вырезание и вставка образца конфигурации из Confluence привело к появлению символов UTF-8 в knife.rb
который knife
не дает предупреждений для. (Бах) Преобразование knife.rb
в ASCII устраняет проблему:
cd ~/.chef
iconv -c -f utf8 -t ascii knife.rb > clean-knife.rb
mv clean-knife.rb knife.rb
И это устранило мою проблему!