Ansible:错误:ini条目无效

时间:2017-03-05 14:21:32

标签: ansible ansible-inventory

我刚开始使用Ansible并在编写了如下所述的小库存后

vagrant@acs:~/ex2$ cat prod_inventory
web1 192.168.33.20
db1 192.168.33.30
[webserver]
web1

[dbserver]
db1

[all:children]
webserver
dbserver

[all:vars]
ansible_ssh_user=vagrant
ansible_ssh_pass=vagrant

我在使用ping模块时遇到错误

vagrant@acs:~/ex2$ ansible all -i prod_inventory -m ping
ERROR: Invalid ini entry: 192.168.33.20 - need more than 1 value to unpack
vagrant@acs:~/ex2$

没有得到我在这里失踪的东西。

请帮忙

3 个答案:

答案 0 :(得分:1)

您的广告资源文件的前两行不正确:

web1 192.168.33.20
db1 192.168.33.30

如果要为主机分配IP地址,则需要使用正确的语法:

[webserver]
web1 ansible_host=192.168.33.20

[dbserver]
db1 ansible_host=192.168.33.30

在随机尝试之前先阅读the documentation。明确规定:

  

假设您只有静态IP,并且想要设置一些存在于主机文件中的别名,或者您正在通过隧道连接。您还可以像这样描述主机:

jumper ansible_port=5555 ansible_host=192.0.2.50

答案 1 :(得分:1)

您错过了key = value库存格式。

web1 ansible_host=192.168.33.20
db1 ansible_host=192.168.33.30
[webserver]
web1

[dbserver]
db1

[all:children]
webserver
dbserver

[all:vars]
ansible_ssh_user=vagrant
ansible_ssh_pass=vagrant

答案 2 :(得分:-2)

注意

Ansible 2.0已将ssh ansible_ssh_useransible_ssh_hostansible_ssh_port弃用为ansible_useransible_host和{{1} }}。如果您使用2.0之前的Ansible版本,则应继续使用较旧的样式变量(ansible_port)。在较旧版本的Ansible中,这些较短的变量在没有警告的情况下被忽略。

http://docs.ansible.com/ansible/latest/intro_inventory.html