Запуск ролей в соответствии с хостом из Ansible playbook

Я должен использовать две пьесы, так как мой хост меняется для каждой роли. Есть ли обходной путь, чтобы я мог сделать это в одной пьесе??

Сборник-1:

- name: Install & configure SSH on servers
  gather_facts: True
  sudo: yes
  hosts: zookeeper
  roles:
  - { role: discover-zookeeper,         tags: ['discover-zookeeper']}

Плейбук-2:

- name: Install & configure SSH on servers
  gather_facts: True
  sudo: yes
  hosts: kafka
  roles:
  - { role: discover-kafka,             tags: ['discover-kafka']}

Я пробовал этот подход, но кажется, что это не так, как работает Ansible.

playbook.yml:

- name: Install & configure SSH on servers
  gather_facts: True
  sudo: yes
  roles:
  - { role: discover-zookeeper,         tags: ['discover-zookeeper'],   hosts: zookeeper}
  - { role: discover-kafka,             tags: ['discover-kafka'],   hosts: kafka}

person OpsEco    schedule 30.03.2017    source источник


Ответы (1)


Если я правильно понимаю, вы говорите о двух пьесах, а НЕ о двух сборниках пьес. Потому что playbook, насколько я понимаю ваш вопрос, именно то, что вы ищете. В качестве примера:

- hosts: hostA
  roles:
    - roleA
    - roleB
- hosts: hostB
  roles:
    - roleC
    - roleD

(комментарий: пожалуйста, используйте "(cmd/ctrl) + k" для форматирования в более читаемом стиле кода)

person iptizer    schedule 30.03.2017
comment
Спасибо! Это то, что мне было нужно!! - person OpsEco; 30.03.2017