让 Ansible 使用正确的 IP
Make Ansible use the right IP
我目前在使用 Ansible 时遇到了一个奇怪的问题
我以前经常更改主机文件中主机的 IP 地址。到目前为止没有任何问题。但是现在,即使我更改了主机文件中的 IP 地址,Ansible 仍在使用以前的 IP。
这是我的主机文件的内容:
[test-host]
test ansible_host=172.16.0.10 ansible_port=22 ansible_user=vagrant ansible_private_key_file=.vagrant/machines/test/virtualbox/private_key
我什至指定了当我 运行 我的剧本时要使用的主机文件 :
ansible-playbook playbook.yml -i hosts.file
我已经尝试重新安装 Ansible,删除 tmp 文件夹。
我看到如果我输入 ansible-inventory -list
我可以看到旧 IP
{
"_meta": {
"hostvars": {
"test": {
"ansible_host": "192.168.0.10",
"ansible_port": 22,
"ansible_private_key_file": ".vagrant/machines/test/virtualbox/private_key",
"ansible_user": "vagrant"
}
}
},
我如何强制 Ansible 使用 hosts.file 而不是这个 "cache"?
谢谢。
ansible 似乎在使用他自己的缓存:
Caching Facts
尝试 运行 您的带有选项 --flush-cache
的剧本,也许这会解决问题
运行 带有 -vvv
的命令
ansible-inventory -vvv --list
在输出的开头找到所有Parsed ... inventory source
。查看来源以找出有问题的主机来自哪里。
我目前在使用 Ansible 时遇到了一个奇怪的问题
我以前经常更改主机文件中主机的 IP 地址。到目前为止没有任何问题。但是现在,即使我更改了主机文件中的 IP 地址,Ansible 仍在使用以前的 IP。
这是我的主机文件的内容:
[test-host]
test ansible_host=172.16.0.10 ansible_port=22 ansible_user=vagrant ansible_private_key_file=.vagrant/machines/test/virtualbox/private_key
我什至指定了当我 运行 我的剧本时要使用的主机文件 :
ansible-playbook playbook.yml -i hosts.file
我已经尝试重新安装 Ansible,删除 tmp 文件夹。
我看到如果我输入 ansible-inventory -list
我可以看到旧 IP
{
"_meta": {
"hostvars": {
"test": {
"ansible_host": "192.168.0.10",
"ansible_port": 22,
"ansible_private_key_file": ".vagrant/machines/test/virtualbox/private_key",
"ansible_user": "vagrant"
}
}
},
我如何强制 Ansible 使用 hosts.file 而不是这个 "cache"?
谢谢。
ansible 似乎在使用他自己的缓存: Caching Facts
尝试 运行 您的带有选项 --flush-cache
的剧本,也许这会解决问题
运行 带有 -vvv
ansible-inventory -vvv --list
在输出的开头找到所有Parsed ... inventory source
。查看来源以找出有问题的主机来自哪里。