Есть ли примеры пользовательских скриптов установки?

Есть ли примеры пользовательских скриптов установки?

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

решение1

В зависимости от того, какой установщик вы используете, MAAS предоставляет различные механизмы для настройки установки. Этот ответ предполагает, что вы используетеустановщик занавесок(также известный как установщик быстрого пути), который стал установщиком по умолчанию вМААС 1.7.

МААС используетоблако-initкак часть процесса установки. Существует несколько способов настройки поведения cloud-init, самый простой из которых — просто предоставитьСкрипт пользовательских данных, который cloud-init выполняет во время первой загрузки, после завершения установки операционной системы.

В MAAS это можно сделать, указав аргумент user_data вnode start CLI-команда. Формат этой команды:

maas <user> node start <node uuid> user_data=<script> distro_series=<name>

где <script>на самом деле является строкой в ​​кодировке base64. Для конкретного примера, предположим, что вы хотите запустить скрипт с именем , addkey.shкоторый выводит некоторый вывод на консоль установки,импортирует ключ SSH из Launchpadдля пользователя ubuntuи записывает результаты в файл журнала:

#!/bin/sh
(
echo ======== Hi World ======================
echo ============== $(date) =================
ssh-import-id user
) | tee /my.log

Вы можете выполнить следующие команды:

$ script=$(base64 addkey.sh)
$ maas myuser node start node-79b67e82-d25c-11e4-a333-00163eca91de \
  user_data=$script distro_series=trusty

который в случае успеха должен вернуть (через некоторое время) вывод в следующем формате:

Success.
Machine-readable output follows:
{
    "status": 6, 
    "macaddress_set": [
        {
...

Теперь этот скрипт запускается после развертыванияодин конкретный узел. Если вы хотите настроить команды так, чтобы они выполнялись налюбой узелкоторый устанавливается через MAAS, вы можете добавить команды для запуска как часть строфы late_commandsв/etc/maas/preseeds/curtin_userdataфайл. Более сложный пример, который использует этот механизм для настройки двух VLAN на сетевом интерфейсе, см.http://astokes.org/customizing-fastpath-curtin-installations/.

Обратите внимание, что в настоящее время Кертин в основном не имеет документов; однако естьфайл обзоракоторый описывает некоторые детали его работы.

Имейте в виду, что этот механизм не следует путать с comissioning script, запущенным во времяфаза ввода в эксплуатацию, и который в жизненном цикле узла MAAS предшествует установке. Ввод в эксплуатацию обычно используется для административных задач, которые не должны напрямую влиять на установку; примерами могут служить:

  • обновление прошивки
  • проверка работоспособности ключевых аппаратных компонентов
  • записать в

решение2

Следует отметить, что команды здесь предназначены для API 1.0. В версии 2.0 и выше команда выглядит так:

maas <profile> machine deploy <system_id> user_data=<base64-encoded-userdata>

Связанный контент