问题描述
我正在使用Ansible 1.5.4在Ubuntu 14.04 LTS上配置Vagrant 1.4.3框。
我在详细模式下收到以下错误消息:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
我可以做到:export ANSIBLE_HOST_KEY_CHECKING=False
和我的~/.ansible.cfg
中包含以下几行:
[defaults]
host_key_checking = False
但这没有帮助。
可能是什么问题呢?谢谢!
更新#1
我直接这样称呼它(不使用vagrant
命令):
ansible-playbook playbook.yml -i inventory.ini --user=vagrant --ask-pass -vvvv
库存为:
[default]
localhost:2222
最佳方法
您需要通过项目的Vagrantfile
进行设置。当Vagrant Ansible设置者调用ansible-playbook
时,它总是设置ANSIBLE_HOST_KEY_CHECKING
环境变量的值。
Ansible本身takes the value of the environment variable if present。因此,Vagrant将覆盖ansible.cfg
中使用的值。
因此,您只需要以下内容:
machine.vm.provision :ansible do |ansible|
ansible.host_key_checking = false
# etc.
end
次佳方法
可能不是您的问题,但值得一试:我对此感到停滞,直到意识到自己添加了
host_key_checking = False
在不是[defaults]
的会话下进行。一旦我将其实际移动到[defaults]
下,更改的主机密钥就不再停止任何操作。