Установка и настройка

Важно

Внимание! Модуль выпущен в бета-версии.

Установка

Важно

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

Режим суперпользователя:

sudo -i
  1. Установите пакет FirstBoot:

    • из репозитория Python-пакетов:

      pip3 install firstboot
      
  2. Добавьте пользователя:

    useradd -m aos
    passwd aos
    

Частичная установка узлов с помощью утилиты FirstBoot

При частичной установке узлов облака AccentOS с помощью утилиты FirstBoot может быть установлен отдельный управляющий или вычислительный узел. Устанавливаемый узел автоматически вводится в облако (гипервизор становится доступен, контроллер подключается к системе, СУБД облака подключается к кластеру Galera).

Поскольку данная процедура является облегчённой и нацелена на быстрое развёртывание одного узла, она, с одной стороны, не требует заполнения всего набора параметров установки облака, но, с другой стороны, не выполняет ряд действий, выполняемых утилитой полного развёртывания облака, в частности следующих:

  1. Настройку сетевых адаптеров и контроллеров хоста (для управляющего узла) администратор должен выполнить самостоятельно, так как эти параметры не задаются в утилите частичной установки.

  2. Настройку протоколов агрегации сетевых адаптеров (Bonding, LACP, LAG/MLAG и другие) администратор должен выполнить самостоятельно, так как требуется настройка сетевых протоколов со стороны сетевых коммутаторов.

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

    Таким образом, чтобы обеспечить единообразную конфигурацию вновь вводимого контроллера после его переустановки, необходимо скопировать с используемого контроллера следующие каталоги:

    • /etc/keystone/

    • /etc/aos/

    • /etc/cinder/ (в файлах cinder.conf и cinder.ceilometer.conf в параметре my_ip укажите IP-адрес нового контроллера)

    • /etc/ceilometer/

    • /etc/glance/

    • /etc/gnocchi/

    • /etc/neutron/

    • /etc/openstack-dashboard/

    • /etc/placement/

    • /etc/nova/ (в файле nova.conf в параметре my_ip укажите IP-адрес нового контроллера)

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

    grep -R "my_ip" /etc/
    

    Команда выведет все строки с именами файлов, содержащие my_ip, в каталоге /etc/.

    После копирования необходимо перезагрузить контроллер командой:

    reboot
    

Настройка

  1. Создайте каталог для логов с необходимыми правами:

    mkdir -p /var/log/aos/firstboot
    chown -R aos:aos /var/log/aos/firstboot
    
  2. Создайте каталог с необходимыми правами:

    mkdir /var/lib/firstboot
    chown -R aos:aos /var/lib/firstboot
    
  3. Создайте каталог для конфигурационных файлов с необходимыми правами:

    mkdir /etc/aos
    chown -R aos:aos /etc/aos
    
  4. Выполните первоначальную настройку модуля:

    firstboot-configure
    
  5. Скопируйте пример конфигурационного файла, при использовании нестандартных параметров отредактируйте их:

    cp /etc/aos/firstboot.conf.example /etc/aos/firstboot.conf
    
  6. Создайте базу данных на примере MySQL, задайте права, тип базы данных и другие параметры:

    CREATE DATABASE firstboot;
    GRANT ALL PRIVILEGES ON firstboot.* TO 'aos'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON firstboot.* TO 'aos'@'%' IDENTIFIED BY 'password';
    
  7. Отредактируйте конфигурационный файл /etc/aos/firstboot.conf, добавив в него информацию о базе данных:

    db_url = mysql+pymysql://aos:password@localhost:3306/firstboot
    
  8. Выполните миграцию базы данных:

    FLASK_APP=firstboot.api.app flask db upgrade
    
  9. Выполните сбор статики:

    FLASK_APP=firstboot.api.app flask collect
    
  10. Включите и запустите службы systemd:

    systemctl daemon-reload
    systemctl enable firstboot.service
    systemctl start firstboot.service
    
  11. Создайте символьные ссылки на конфигурацию firstboot для Apache и перезапустите его службу:

    ln -s /etc/apache2/conf-available/firstboot.conf /etc/apache2/conf-enabled/firstboot.conf
    systemctl restart apache2
    

Примечание

По умолчанию модуль будет доступен из любого браузера по порту 8082.

Конфигурационный файл

Конфигурационный файл представлен в формате ini и состоит из следующих секций и параметров:

Секция

Параметр

Описание

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

DEFAULT

log_level

Уровень журналирования.

INFO

DEFAULT

api_logfile

Путь к лог файлу службы firstboot.

/var/log/aos/firstboot/api.log

DEFAULT

work_dir

Рабочий каталог.

/var/lib/firstboot

DEFAULT

db_url

Настройка подключения к базе данных.

mysql+pymysql://aos:password@localhost:3306/firstboot

cobbler

url

Адрес, по которому расположен API системы Cobbler.

cobbler

user

Имя пользователя для авторизации в системе Cobbler.

cobbler

password

Пароль пользователя для авторизации в системе Cobbler.