Модуль установки ОС
Модуль установки операционных систем (ОС) предназначен для автоматической установки ОС на устройства, поддерживающие BIOS (Basic Input/Output System) или UEFI (Unified Extensible Firmware Interface). Установка выполняется с использованием технологии PXE (Preboot eXecution Environment), которая позволяет загружать ОС через сеть.
При установке только по сети начальная программа-загрузчик iPXE хранится на HTTP(S)-сервере и/или TFTP-сервере, в зависимости от используемой прошивки оборудования (UEFI, включая UEFI CSM для загрузки в режиме BIOS, или BIOS).
В качестве альтернативного варианта программа-загрузчик iPXE может загружаться на устройство с флеш-накопителя (через USB) или с диска (через СD-ROM).
Продукт поддерживает установку по протоколам HTTP или HTTPS.
Доменная модель
Дистрибутив ОС
Сущность, предоставляющая установочный дистрибутив ОС, которая определяет, что будет установлено.
Включает:
-
ссылку на установочное ядро ОС во внешнем хранилище;
-
ссылку на файл временной файловой системы (initrd) во внешнем хранилище.
Профиль установки
Сущность, предоставляющая профиль установки, которая содержит информацию о том, как и с какими параметрами необходимо устанавливать ОС на устройство. Профиль установки может быть переиспользован — для одного установочного дистрибутива может существовать несколько профилей установки, определяющих способ и параметры установки OC из указанного дистрибутива.
Включает:
-
список опций, с которыми запускается установочное ядро ОС;
-
шаблон файла автоответов;
-
шаблон скрипта пост-установки.
План развертывания
Связывает устройство с профилем установки и позволяет указать специфичные для устройства опции установки, а также переопределить часть опций профиля установки.
Включает:
-
данные для создания root-пользователя ОС;
-
данные для создания локального пользователя ОС;
-
доменное имя устройства по умолчанию.
Шаблоны конфигурационных файлов
Сущность, представляющая шаблоны различных категорий для формирования конфигурационных файлов, файлов ответов, скриптов пост-установки.
В общем случае шаблоны не являются универсальными (например, шаблон файла ответов существенно различается для семейства Debian и RedHat).
Поддерживается шаблонизация в формате jinja в части подстановки переменных и реализации логики формирования целевых файлов на основе шаблонов.
Поддерживаемые категории шаблонов:
-
файл автоответов;
-
скрипт пост-установки;
-
конфигурационный файл программы-загрузчика.
Поддерживаемые переменные подстановки:
-
переменные подстановки, которые задаются через конфигурационный файл — при указании значений таких переменных в конфигурационном файле к их именам необходимо добавить префикс
lcm.provisioner.template-engine.template-placeholders;Пример:
-
в файле конфигурации модуля
osmax-provisioner:lcm.provisioner.template-engine.template-placeholders.unattended_install_file_url=/v1/unattended_install_files
-
в шаблоне:
{{unattended_install_file_url}}
-
-
обязательные переменные установки, необходимые для корректной работы модуля установки ОС:
-
osmax.provisioner.template-engine.template-placeholders.osmax_provisioner_base_url=http://<osmax-provisioner-host>:<port>; -
osmax.provisioner.template-engine.template-placeholders.unattended_install_file_url=/v1/unattended_install_files; -
osmax.provisioner.template-engine.template-placeholders.repository_cert_url=</path/to/certificate>.
-
-
переменные подстановки, вычисляемые для связки устройства со способом развертывания:
| Наименование | Описание | Способ вычисления |
|---|---|---|
|
Наименование устройства |
Соответствует значению атрибута |
|
Имя домена |
Вычисляется по правилу: если сетевому интерфейсу устройства назначено доменное имя, то значение должно ему соответствовать; если значение не найдено, то возвращается значение доменного имени, указанное для связанного с устройством способа развертывания |
|
МAC-адрес |
Вычисляется на основании MAC-адреса, указанного на сетевом интерфейсе устройства |
|
Архитектура процессора |
Вычисляется на основании архитектуры процессора устройства |
|
Путь и имя файла, содержащего образ временной корневой системы |
Вычисляется как |
|
Путь и имя файла, в котором содержится ядро ОС |
Вычисляется как атрибут |
|
URL-адрес репозитория, где размещается установочный дистрибутив |
Вычисляется как атрибут |
|
Дополнительные опции ядра, с которыми выполняется установка |
Вычисляется как атрибут |
|
Признак необходимости создания локального пользователя |
Заполняется значением атрибута |
|
Используемый hash-алгоритм для задания паролей, доступные значения: MD5 и SHA512 |
Заполняется значением атрибута |
|
Hash пароля root (MD5/SHA512) |
Заполняется значением атрибута |
|
Полное имя пользователя, который будет создан |
Заполняется значением атрибута |
|
Имя пользователя, логин |
Заполняется значением атрибута |
|
Hash пароля пользователя |
Заполняется значением атрибута |
|
Внутренний идентификатор устройства |
Заполняется значением атрибута |
|
Метка развертывания |
Вычисляется как |
Загрузочный образ
Загрузочный образ, с помощью которого можно выполнить установку OC.
API-методы, предоставляемые модулем установки ОС позволяют варьировать только имя формируемого ISO-образа и имя сущности, а формируемые загрузочные образы имеют одинаковое поведение.
Устройство
Описание конечного устройства, на которое устанавливается ОС. Устройство должно обладать как минимум одним сетевым интерфейсом.
Включает:
-
hostname;
-
сетевой интерфейс (определяет MAC-адрес и доменное имя устройства);
-
ссылка на способ развертывания.
В ходе установки ОС устройство идентифицируется по его MAC-адресу.