Шаблоны заданий#

Шаблон задания (Job Template) связывает между собой инвентарь и Ansible playbook из выбранного проекта.

Для шаблонов заданий поддерживаются следующие дополнительные параметры:

  • тип задания (job type);

  • среда исполнения (execution environment);

  • полномочия (credentials);

  • метки (labels);

  • переменные (variables);

  • ответвления (forks);

  • лимит на управляемые узлы (limit);

  • степень подробности вывода (verbosity);

  • деление на срезы (job slicing);

  • таймаут (timeout);

  • показ изменений (show changes);

  • теги задания (job tags) и пропуск тегов (skip tags);

  • повышение привилегий (privilege escalation);

  • параллельные задания (concurrent jobs);

  • обратные вызовы процесса обеспечения сервиса (provisioning callbacks);

  • хранилище фактов (fact storage);

  • запрет отката группы узлов управления (prevent instance group fallback);

  • настройки webhook (webhook).

Для некоторых параметров доступна опция Запрос при запуске. Если она включена, значение для связанного параметра можно задать позже:

  • Если задание на основе шаблона запускается вне потока заданий – в момент запуска задания.

  • Если шаблон задания используется в шаблоне потока заданий – в момент добавления шаблона задания в шаблон потока заданий.

Тип задания#

Поддерживаются задания двух типов:

  • Исполнение (Run) – на управляемых узлах будут выполнены необходимые задания автоматизации. Этот тип заданий используется по умолчанию.

  • Проверка (Check) – выполняется проверка синтаксиса playbook, настроек среды исполнения и окружения, в котором будут выполняться задания автоматизации. Изменения в конфигурации управляемых узлов не производятся.

    Использование этого значения эквивалентно запуску команды ansible-playbook с параметром --check.

Среда исполнения#

В настройках шаблона задания можно выбрать среду исполнения, используемую для запуска заданий. Эта среда исполнения имеет более высокий приоритет, чем заданная на уровне контроллера, организации и проекта.

Полномочия#

Полномочия, используемые для доступа к управляемым узлам.

Поддерживается одновременное использование полномочий разных типов, но не более одной записи каждого типа.

Метки#

С помощью меток можно группировать задания, созданные на основе шаблона. Метки также удобно использовать для поиска нужных записей журнала выполнения заданий или их логической группировки.

Переменные#

Переменные шаблона задания позволяют задать значения переменных во время выполнения заданий.

Использование этого параметра эквивалентно запуску команды ansible playbook с одним или несколькими аргументами --extra-vars (-e).

В переменных шаблона задания используется формат ключ:значение.

Поддерживаются форматы YAML и JSON.

Подробности о порядке разрешения значений переменных см. в разделе Переменные.

Ответвления#

Количество параллельных процессов, используемых для выполнения playbook.

Если для этого параметра задано значение меньше 1, используется значение по умолчанию, равное 5.

Максимальное значение этого параметра задается в значении системной настройки контроллера Максимальное количество ответвлений задания (Maximum number of forks per job) и по умолчанию равно 200.

Лимит на управляемые узлы#

Фильтр управляемых узлов по их названию.

Если значение не указано, либо равно all или *, действие playbook распространяется на все узлы из выбранного инвентарного списка.

Значение по умолчанию – пустая строка (фильтрация узлов не используется).

Подробности о шаблонах названий узлов см. в документации Ansible.

Степень подробности#

Детализация журнала выполнения задания:

  • 0 – нормальный (normal);

  • 1 – подробный (verbose);

  • 2 – более подробный (more verbose);

  • 3 – отладка (debug);

  • 4 – отладка подключения (connection debug);

  • 5 – отладка WinRM (WinRM debug).

Значение по умолчанию – 0.

Деление на срезы#

Деление на срезы используется для параллельного запуска одного и того же задания на основе шаблона на нескольких исполняющих узлах.

Исходный инвентарь делится на несколько частей. Каждый исполняющий узел запускает playbook только для своей части исполняемых узлов.

По умолчанию значение этого параметра равно 1 – все задания из playbook запускаются на одном исполняющем узле.

Важно

Рекомендуется использовать значения, не превышающие количество исполняющих узлов.

Таймаут#

Время в секундах на выполнение задания. Если в течение указанного времени задание не выполняется, оно отменяется автоматически.

При значении 0 используется таймаут, заданный в системных настройках контроллера (значение по умолчанию – 0, время выполнения заданий не ограничивается).

Отрицательное значение разрешает неограниченно долгое выполнение задания.

Значение по умолчанию – 0 (используется значение, заданное в глобальных настройках контроллера).

Показ изменений#

Отображение изменений в конфигурации управляемых узлов, сделанных в результате выполнения заданий автоматизации.

Использование этого параметра эквивалентно запуску команды ansible-playbook с параметром --diff.

Примечание

Для отображения списка изменений необходима поддержка со стороны используемых модулей Ansible.

Теги#

Эта настройка позволяет запускать или пропускать описанные в playbook задачи, отмеченные определенными тегами.

По умолчанию фильтрация по тегам не используется – выполняются все задачи, описанные в playbook.

Особенности настройки и применения:

  • Названия тегов задаются одной строкой через запятую.

  • Если заданы теги задания, то при запуске задания будут выполнены только задачи, отмеченные указанными тегами.

    Использование этого параметра эквивалентно запуску команды ansible-playbook с параметром --tags.

  • Если заданы пропускаемые теги, то при запуске задания задачи с указанными тегами будут пропущены.

    Использование этого параметра эквивалентно запуску команды ansible-playbook с параметром --skip-tags.

Подробности о тегах см. в документации Ansible.

Повышение привилегий#

Если эта настройка включена, playbook запускается с повышенными привилегиями.

Использование этого параметра эквивалентно запуску команды ansible-playbook с параметром --become.

Важно

Запрос пароля суперпользователя не производится. Убедитесь, что на управляемых узлах разрешено выполнение команды sudo без ввода пароля.

Инструкции по настройке приведены в разделе Использование sudo без ввода пароля.

Параллельные задания#

Если эта настройка включена, на основе шаблона можно запустить одновременное выполнение нескольких заданий с одним и тем же инвентарным списком.

Обратные вызовы процесса обеспечения сервиса#

Если эта настройка включена, необходимо указать ключ конфигурации узла. Это URL, по которому узел может связаться с Astra Automation Controller и запросить обновление конфигурации, используя шаблон задания.

Хранилище фактов#

Если эта настройка включена, при запуске задания собранные об узлах факты Ansible сохраняются в кэше фактов. Затем собранные факты можно использовать, например, для создания сборного инвентаря.

Настройки webhook#

Если эта настройка включена, запуск задания на основе шаблона будет происходить при наступлении определенного события в сервисе хранения исходного кода.

При включении этой настройки необходимо задать значения дополнительных параметров:

  • Сервис – сервис хранения исходного кода из списка: - Bitbucket Data Center; - GitHub; - GitLab.

  • Webhook URL – адрес, по которому доступен нужный webhook. Поле заполняется автоматически.

  • Ключ webhook – ключ, используемый для подписи данных, отправляемых в Astra Automation Controller. Значение из этого поля следует указать в параметрах webhook используемого сервиса хранения исходного кода.

  • Полномочия webhook – полномочия, используемые для передачи данных обратно в webhook.