Несоответствие в инвентаре Ansible

Я новичок в Ansible, поэтому предполагаю, что совершаю глупую ошибку, однако, когда я пытаюсь запустить playbook с ролями для группы хостов, 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):
[...]

Некоторые группы в инвентаре работают с другими играми, определенными в том же файле, поэтому я предполагаю, что на моей стороне есть синтаксическая ошибка. Я также попытался изменить имя группы, надеясь, что использую зарезервированное имя и т. Д.


person luke774    schedule 01.06.2017    source источник


Ответы (2)


Он не видит никаких хостов, потому что вы пропустили параметр -i hosts во второй команде.

Выполните следующее:

ansible-playbook site.yml -i hosts --ask-sudo-pass --list-hosts
person techraf    schedule 01.06.2017
comment
Некоторые группы работали нормально, что заставило меня усомниться в этом ответе, но потом я подумал, что мне нечего терять. Оказывается, когда я начинал, я заполнил / etc / ansible / hosts ... - person luke774; 02.06.2017

Думаю, это должно выглядеть так:

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

  roles:
    - cluster_master

Этот тег name предназначен для игр.

person Jack    schedule 01.06.2017