Ansible库存差异

时间:2017-06-01 21:18:01

标签: ansible ansible-inventory

我是Ansible的新手,所以我认为我犯了一个愚蠢的错误,但是当我尝试为一组主机运行带有角色的剧本时,Ansible在某些组中看不到任何主机。特别是

库存中包括以下组:

[master]
clm01

使用Ad-hoc命令似乎正常工作:

:~/ansible/splunk# ansible master -i hosts -m ping -u USERNAME
clm01 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

但是,当我尝试运行以下内容时,Ansible看不到任何主机:

- name: initialize master
  hosts: master
  remote_user: USERNAME
  become: yes
  roles:
    - cluster_master
[...]

ansible-playbook site.yml --ask-sudo-pass --list-hosts
[...]
  play #2 (master): initialize master   TAGS: []
    pattern: [u'master']
    hosts (0):
[...]

清单中的某些组正在使用同一文件中定义的其他播放,因此我认为我这边有语法错误。我也尝试过更改组名,希望我使用保留名称等。

2 个答案:

答案 0 :(得分:0)

它没有看到任何主机,因为你在第二个命令中省略了-i hosts参数。

运行以下命令:

ansible-playbook site.yml -i hosts --ask-sudo-pass --list-hosts

答案 1 :(得分:-1)

我认为它需要看起来像这样:

- hosts: master
  remote_user: USERNAME
  become: yes
  become_user: root

  roles:
    - cluster_master

name标记用于播放。