Это не проблема начального уровня. Проблема должна быть разделена на две части: отделение первичного от вторичного и делегирование / выполнение.
По моему опыту, наилучшим способом является использование динамических c групп [1]. Они могут быть сформированы на основе заданного значения c.
Вот пример для группировки:
- hosts: cluster
name: Grouping hosts
gather_facts: false
tasks:
- name: group master hosts
group_by:
key: master
when: master|d(False)
- name: group slave hosts
group_by:
key: slave
when: slave|d(False)
(Вам необходимо определить переменные ведомого / ведущего или откорректировать пример по мере необходимости) .
Следующие пьесы в книге воспроизведения могут использовать эти группы.
- name: Syncing
hosts: slave
tasks:
- name: Sync to master
command: echo syncing from slave
delegate_to: '{{ groups.master[0] }}'
[1] https://docs.ansible.com/ansible/latest/modules/group_by_module.html