Chef: knife-solo – ERROR: Net::SSH::HostKeyMismatch

Автор: | 09/12/2016
 

pic-chef-logoВо время провижена только что созданного EC2-инстанса – knife останавливается с ошибкой:

...
[10:33:03]Step 1/1: knife solo boot (Command Line) (3s)
[10:33:04][Step 1/1] Starting: /var/www/vhosts/setevoy/teamcity.setevoy.org.ua/buildAgent/temp/agentTmp/custom_script1505268535412481695
[10:33:04][Step 1/1] in directory: /var/www/vhosts/setevoy/teamcity.setevoy.org.ua/buildAgent/work/e257adbd87862bf6
[10:33:07][Step 1/1] Bootstrapping Chef...
[10:33:07][Step 1/1] ERROR: Net::SSH::HostKeyMismatch: fingerprint dd:f8:49:30:bc:d8:62:e7:61:16:7e:18:44:bf:03:68 does not match for "dev-lecture.setevoy.org.ua,52.17.205.86"
[10:33:07][Step 1/1] Process exited with code 100
[10:33:07][Step 1/1] Step knife solo boot (Command Line) failed
...

Решение – отредактировать файл .chef/knife.rb и установить параметр ssl_verify_mode в verify_none:

$ cat .chef/knife.rb 
cookbook_path    ["cookbooks", "site-cookbooks"]
node_path        "nodes"
role_path        "roles"
environment_path "environments"
data_bag_path    "data_bags"
#encrypted_data_bag_secret "data_bag_key"

knife[:berkshelf_path] = "cookbooks"
#Chef::Config[:ssl_verify_mode] = :verify_peer if defined? ::Chef
Chef::Config[:ssl_verify_mode] = :verify_none

Готово.