Как добавить хост в группу ansible, когда хост выполняет определенную роль? - PullRequest
1 голос
/ 06 мая 2020

Представьте себе, у вас есть роль, которая добавляет точку монтирования NFSv4 с аутентификацией Kerberos. Это правило напрямую зависит от того, находится ли хост в группе ansible -freeipa / ipaclient st, что хост может запрашивать билеты Kerberos.

Есть ли способ автоматически сделать все хосты, выполняющие это role также входит в группу ipaclient?

Или вы знаете лучшее решение этой проблемы?

1 Ответ

1 голос
/ 06 мая 2020

Q: «Автоматически сделать все хосты, выполняющие эту роль, членами группы ipaclient

A: Поместите эту задачу в роль

- add_host:
    name: '{{ item }}'
    groups: ipaclient
  loop: "{{ ansible_play_hosts_all }}"

Примечания:

  • Модуль add_host «запускается только один раз для всех хостов в игре»

  • Сделайте изменения постоянными в INI файле hosts в стиле

- ini_file:
    allow_no_value: true
    path: "{{ path_to_hosts_file }}"
    section: ipaclient
    option: "{{ item }}"
  loop: "{{ ansible_play_hosts_all }}"
  delegate_to: localhost
  run_once: true
  • Необязательно, в зависимости от варианта использования, используйте ansible_play_hosts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...