Нож игнорирует client_key в ~ / .chef / Knife.rb

Я получаю ошибки вроде

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"

, который должен искать другой файл. Я пробежал нож через 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 с той же проблемой. Использование явных путей не помогло. Что еще можно найти или попробовать?

0
задан 19 May 2016 в 20:32
1 ответ

Вырезание и вставка образца конфигурации из 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

И это устранило мою проблему!

0
ответ дан 24 November 2019 в 06:31

Теги

Похожие вопросы