Механизм внешних плагинов¶
Пользовательские Ansible роли¶
Для добавления настраиваемых Ansible ролей выполните следующие действия:
Перейдите в репозиторий региона и создайте директорию
client_configсо следующей структурой:group_vars/ # Директория общих переменных для ролей roles/ # Директория для хранения ролей some-role/ # Директория соответствующая названию роли tasks/ # Директория файлов с задачами main.yml # Основной файл задач роли handlers/ # Директория обработчиков событий, которые выполняются при вызове из задач через ``notify`` main.yml # Основной файл обработчиков templates/ # Директория jinja2-шаблонов, которые можно использовать для динамического создания конфигурационных файлов ntp.conf.j2 # Jinja2-шаблон files/ # Директория статических файлов роли, которые могут быть скопированы на целевые хосты без изменений bar.txt # Статический файл vars/ # Директория переменных роли с высоким приоритетом. Используются для ключевых параметров, которые редко изменяются main.yml # Файл с переменными defaults/ # Директория переменных по умолчанию, которые могут быть переопределены. Имеют самый низкий приоритет main.yml # Файл с переменными meta/ # Директория с метаданными роли, такие как зависимости и информация о поддержке main.yml # Файл зависимостей library/ # Директория для хранения пользовательских модулей Ansible module_utils/ # Директория для хранения вспомогательных утилит и библиотек, которые могут использоваться в пользовательских модулях lookup_plugins/ # Директория для хранения пользовательских плагинов для функций lookup, которые используются для получения данных из внешних источников client-config.yml # Конфигурационный файл для использования ролей (ansible плейбук)
Более детальную информацию о подготовке пользовательских Ansible ролей можно прочесть в официальной документации Ansible.
В созданной директории создайте Ansible плейбук
client-config.yml. Вариант содержимогоclient-config.yml:--- - hosts: all roles: - some_role
Запустите пайплайн New Pipeline. После завершения шага setup запустите задачу client-config.
Важно
Перед запуском задачи client-config необходимо убедиться, что в директории
<regionname>/client_config/rolesприсутствует директорияsome_role.