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

Важно

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

Установка

Важно

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

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

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 указать iIP-адрес нового контроллера)

    Для проверки указания корректного 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.