Документация DCImanager 5

Управление рецептами

Рецепт — скрипт, который DCImanager выполняет на сервере после установки операционной системы. Рецепты настраивают сервер: устанавливают программное обеспечение для конкретных задач, изменяют конфигурационные файлы и т. п.

Скрипты выполняются на серверах с операционными системах Linux и Windows:

  • при работе с Linux панель управления копирует файл скрипта по протоколу SSH во временный каталог на сервера и запускает с правами суперпользователя;
  • при работе с Windows панель управления использует PowerShell-скрипты. 

    Обратите внимание!

    PowerShell-скрипты поддерживаются только в Windows Server 2016.

    В теле PowerShell-скриптов не допускается использование кириллических символов.

Рецепт указывается при переустановке операционной системы сервера. Подробнее см. в статье Управление серверами.

Для взаимосвязи шаблонов ОС и рецептов используются теги. Рецепт совместим с ОС, если у них совпадет хотя бы один тег.

Можно указать рецепт для принудительной установки на серверы в Настройки → Глобальные настройки → поле Рецепт. Панель управления сохраняет не идентификатор конкретного рецепта, а его внутреннее имя. Несколько рецептов могут иметь одинаковое внутреннее имя, но разный набор тегов. При установке операционной системы выбирается первый совместимый с шаблоном ОС рецепт с указанным именем. Так можно задавать разные рецепты для разных операционных систем.

Таймаут на выполнение рецепта — 3 часа.

Перейдите в Настройки Рецепты для управления.

Репозитории рецептов

Рецепты хранятся в репозиториях. Нажмите Репозитории → Создать для добавления репозитория.

Укажите:

  • Репозиторий — наименование;
  • Ссылка — URL–адрес.

DCImanager определяет рецепты, доступные в репозитории, и добавляет их в список НастройкиРецепты.

Нажмите кнопку Обновить, чтобы обновить список доступных рецептов.

По умолчанию добавлен репозиторий ISPsystem.

Свойства рецептов

Нажмите кнопку Свойства, чтобы настроить рецепт.

Укажите:

  • Ограничение доступа к рецепту — настройки доступности рецепта:
    • Доступен всем;
    • Доступен администраторам;
    • Недоступен — рецепт недоступен для использования ни пользователям, ни администраторам.

Создание рецепта

Нажмите Создать, чтобы создать собственный рецепт.

Укажите:

  • Имя файла — если используете PowerShell скрипты, то к имени обязательно добавьте формат файла ".ps1", например "myScript.ps1";
  • Кодировка — обратите внимание, при смене кодировки изменения, внесённые в редакторе, будут утеряны:
    • UTF-8;
    • WINDOWS-1251.
  • Шрифт — размер. Указывается в пикселях;
  • Режим — тип подсветки синтаксиса;
  • Тема — тип фона;
  • Клавиатура — тип курсора;
  • Скрытые символы — опция отображения скрытых символов;
  • Нумерация — опция нумерации строк;
  • Перенос — тип переноса строк:
    • Off — отключён;
    • 40 Chars — максимальная длина строки ограничена 40 символами;
    • 80 Chars — максимальная длина строки ограничена 80 символами;
    • Free — максимальная длина строки ограничена границами редактора.

Создавать рецепты могут только администраторы.

Структура файла рецепта

Метаданные

Панель управления использует метаданные:

  • для отображения рецепта в списке рецептов;
  • для выбора подходящего рецепта при выполнении рецепта, указанного в политиках кластера.

В тело рецепта записывается блок комментариев, хранящий метаданные рецепта:

# metadata_begin
# recipe: hello_world
# tags: unix
# revision: 1
# description_ru:
# description_en:
# metadata_end

Блок метаданных начинается с ключевой фразы metadata_begin и заканчивается ключевой фразой metadata_end. Между этими ключевыми фразами могут располагаться следующие метаданные:

  • recipe — внутреннее имя рецепта. Обязательное поле. Несколько рецептов могут иметь одинаковое внутреннее имя;
  • tags — набор тегов. Указываются через запятую. Используется для контроля совместимости рецепта и шаблона ОС;
  • revision — версия рецепта;
  • description_XX — краткое описание рецепта на соответствующем языке.

Использование макросов

В теле рецепта можно использовать макросы — особые последовательности символов, которые заменяются на значения перед запуском рецепта:

  • ($HOSTNAME) — доменное имя сервера;
  • ($TIMEZONE) — временная зона сервера.