我是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):
[...]
清单中的某些组正在使用同一文件中定义的其他播放,因此我认为我这边有语法错误。我也尝试过更改组名,希望我使用保留名称等。
答案 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
标记用于播放。