Механизм внешних плагинов

Пользовательские Ansible роли

Для добавления настраиваемых Ansible ролей выполните следующие действия:

  1. Перейдите в репозиторий региона и создайте директорию 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.

  2. В созданной директории создайте Ansible плейбук client-config.yml. Вариант содержимого client-config.yml:

    ---
    - hosts: all
      roles:
        - some_role
    
  3. Запустите пайплайн New Pipeline. После завершения шага setup запустите задачу client-config.

    Важно

    Перед запуском задачи client-config необходимо убедиться, что в директории <regionname>/client_config/roles присутствует директория some_role.