Пример файла playbook
install-client.yml, содержащего инструкции по развертыванию клиента FreeIPA:
---
- name: Playbook to configure IPA clients with username/password
hosts: ipaclients
become: true
roles:
- role: ipaclient
state: present
Здесь:
Метод проверки пользователя:
строка hosts: ipaclients указывает раздел файла inventory/hosts, где скрипт ansible ищет полные доменные имена узлов, на которых должен быть запущен скрипт ipa-client-install;
строка become: true указывает, что скрипт ipa-client-install будет вызываться с правами суперпользователя (root);
строка role: ipaclient указывает роль, которая будет установлена на узле (в данном случае это роль клиента FreeIPA);
строка state: present указывает, что клиент должен быть установлен, а не удален (absent).
Возможность автоматической установки:
Роль ipaclient принимает параметр
state, позволяющий настроить или отменить настройку клиента FreeIPA. Если роль вызывается с параметром
state: present (или параметр
state не определен) выполняется настройка клиента FreeIPA, а именно:
установка клиентских пакетов freeipa-client (имя пакета зависит от ОС, установленной на управляемом узле);
настройка клиента FreeIPA.
Пример файла playbook
uninstall-client.yml, содержащего инструкции по удалению клиента FreeIPA:
---
- name: Playbook to unconfigure IPA clients
hosts: ipaclients
become: true
roles:
- role: ipaclient
state: absent