Как выполнить задачу на всех хостах из группы, когда playbook выполняется с ограниченными хостами? - PullRequest
0 голосов
/ 15 мая 2019

Сценарий
В моем инвентаре есть группа A, где A содержит a1,a2,a3 хостов. Это значит, что я могу написать в своей пьесе X.yml:

- hosts: A
  roles:
    - role:
      name: r

Проблема в playbook X запускается с ограниченным числом хостов, а именно запуск ansible-playbook X ограничен хостом a1. Эта пьеса X вызывает роль r (которая выполняется на хосте a1). Я не хотел бы менять это поведение (другими словами, я хотел бы сохранить это ограничение, не спрашивайте, почему, пожалуйста).

Вопрос
Можно ли написать задачу в роли r таким образом, чтобы она выполнялась на всех хостах из группы A, даже если playbook ограничен хостом a1? Помните, что мой инвентарь содержит группу A.

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

- hosts: A
  tasks:
    - name: "This task"       

1 Ответ

0 голосов
/ 15 мая 2019

Не знаю наверняка, но это может сработать:

- name: Run task on hosts in group A
  some_random_module:
    var1: value1
    var2: value2
  delegate_to: "{{ item }}"
  with_items: "{{ groups['A'] }}"

Без обещаний.

...