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

Установка

Важно

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

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

sudo -i

Важно

Установка производится на управляющий узел.

  1. Перед началом установки сохраните список установленных ранее пакетов, это позволит Вам безболезненно восстановить систему в случае ее повреждения. Для этого выполните следующие команды:

    mkdir -p /tmp/rollback/dashboard
    pip3 freeze > /tmp/rollback/dashboard/pip_before.txt
    

    После чего в каталоге /tmp/rollback/dashboard будет находиться файл pip_before.txt с перечнем установленных приложений.

  2. Также сохраните версии миграции:

    python3 /usr/share/openstack-dashboard/manage.py showmigrations > /tmp/rollback/dashboard/migrations.txt
    

    Где:

    • /tmp/rollback/dashboard/ - директория файла;
    • migrations.txt - наименование файла с версиями миграций.
  3. Установите пакет OpenStack Horizon:

    apt-get install openstack-dashboard
    

    Для Astra Linux (Smolensk) установите пакет командой:

    sudo apt install -y openstack-dashboard
    
  4. Установите пакет Dashboard:

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

      pip3 install dashboard
      
  5. Сохраните список установленных пакетов после установки для возможности отката изменений:

    pip3 freeze > /tmp/rollback/dashboard/pip_after.txt
    

Примечание

Для установки Dashboard и Dashboard Theme на Astra Linux (Smolensk) выполните следующее:

  1. Подключите предоставленный Вам репозиторий с пакетами AccentOS.

  2. Установите пакет командой:

    sudo apt install -y aos-dashboard
    sudo apt install -y aos-dashboard-theme
    

Установка на двух и более контроллерах

При установке Dashboard на двух и более контроллерах, необходимо:

  1. Реплицировать базу данных на каждый из контроллеров;
  2. Установить модуль с одинаковыми параметрами на каждый из контроллеров.

Примечание

Удаление и диагностика модуля на каждом контроллере происходит таким же образом, как и в случае с одним контроллером.

Настройка

Для корректной работы необходимо настроить модуль Dashboard.

  1. Выполните первичную настройку модуля:

    openstack aos configure -n dashboard
    
  2. В каталоге /etc/openstack-dashboard/ проверьте наличие конфигурационного файла с именем local_settings или local_settings.py, при его отсутствии скопируйте настройки из образца (local_settings.py.example) и добавьте в него импортирование настроек Dashboard:

    try:
        from dashboard.django_settings import *
    except ImportError:
        pass
    
  1. Скопируйте образец конфигурационного файла, при использовании нестандартных параметров отредактируйте их (подробнее см. Файл конфигурации):

    cp /etc/aos/dashboard.conf.example /etc/aos/dashboard.conf
    
  2. Запустите команду для сбора статических файлов:

    python3 /usr/share/openstack-dashboard/manage.py collectstatic
    
  3. Создайте базу данных на примере MySQL, настройте права, тип базы и остальные параметры:

    # Зайдите в базу данных, используя пароль пользователя root
    mysql -uroot -p
    # Создайте базу данных dashboard
    CREATE DATABASE dashboard;
    # Дайте права на чтение, редактирование, выполнение любых действий над всеми таблицами базы данных dashboard
    GRANT ALL PRIVILEGES ON dashboard.* TO 'aos'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON dashboard.* TO 'aos'@'%' IDENTIFIED BY 'password';
    # Осуществите выход из базы данных
    
  4. Отредактируйте секцию [database] конфигурационного файла etc/aos/dashboard.conf, например:

    [database]
    url = mysql+pymysql://aos:password@tst.stand.loc:3306/dashboard?charset=utf8
    
  5. Выполните миграцию базы данных:

    openstack aos db migrate -n dashboard
    
  6. Перезапустите веб-сервера и службы кэширования:

    # Debian:
    systemctl restart apache2
    systemctl restart memcached
    

Подключение темы модуля Dashboard

Примечание

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

Подключение стандартной темы:

  1. Установите пакет с темой:

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

      pip3 install dashboard_theme
      
  1. В каталоге /etc/openstack-dashboard/ проверьте наличие конфигурационного файла с именем local_settings или local_settings.py, при его отсутствии скопируйте настройки из образца (local_settings.py.example)

  2. В случае, если модуль Dashboard не установлен, в конфигурационном файле local_settings.py подключите тему:

    try:
        from dashboard_theme import *
    except ImportError:
        pass
    
  3. Запустите команду для сбора статических файлов:

    python3 /usr/share/openstack-dashboard/manage.py collectstatic
    
  4. В случае наличия в local_settings.py флага true у строки:

    COMPRESS_OFFLINE = True
    

    выполните команду:

    python3 /usr/share/openstack-dashboard/manage.py compress
    
  5. Перезапустите веб-сервера и службы кэширования:

    # Debian:
    systemctl restart apache2
    systemctl restart memcached
    

Подключение темы AccentOS® Ocean:

Примечание

Тема Dashboard Ocean для Astra Linux 1.7 поддерживается начиная с версии 1.14.0.

Кроме стандартной темы AccentOS® при необходимости можно установить тему AccentOS® Ocean. Для этого необходимо выполнить следующие действия:

  1. Установите пакет с темой AccentOS® Ocean:

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

      pip3 install dashboard_ocean
      
  2. В каталоге /etc/openstack-dashboard/ проверьте наличие конфигурационного файла с именем local_settings или local_settings.py, при его отсутствии скопируйте настройки из образца (local_settings.py.example)

  3. В случае, если модуль Dashboard не установлен, в конфигурационном файле local_settings.py подключите тему:

    try:
        from dashboard_ocean import *
    except ImportError:
        pass
    
  4. Запустите команду для сбора статических файлов:

    python3 /usr/share/openstack-dashboard/manage.py collectstatic
    
  5. В случае наличия в local_settings.py флага true у строки:

    COMPRESS_OFFLINE = True
    

    выполните команду:

    python3 /usr/share/openstack-dashboard/manage.py compress
    
  6. Перезапустите веб-сервера и службы кэширования:

    # Debian:
    systemctl restart apache2
    systemctl restart memcached
    

Примечание

Если вы устанавливаете обе темы (AccentOS® и AccentOS® Ocean) без установки модуля Dashboard, то в файл local_settings.py необходимо добавить импорт обеих тем.

Файл конфигурации

Примечание

Файл конфигурации позволяет переопределять секции и параметры общего файла aos.conf для конкретного модуля.

Примечание

По умолчанию в файле dashboard.conf.example строки с уровнем логирования нет, она указывается при необходимости. Уровень логирования по умолчанию выставлен в общем конфигурационном файле. Подробнее ознакомиться с файлами конфигурации можно в соответствующем разделе.

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

Секция Параметр Описание Значение по умолчанию
DEFAULT enable_cinder_backups Флаг, отвечающий за отображение вкладок «Резервные копии дисков» и действий по созданию резервных копий дисков. True
DEFAULT enable_clouds Активация вкладки «Публичные облака». False
DEFAULT enable_counts Включить счетчики True
DEFAULT enable_numa_topology Активация вкладки «NUMA топология». False
DEFAULT enable_qos Активация вкладки «Сетевые политики QoS». False
DEFAULT enable_tkcontrol Активация вкладки «TKControl». True
DEFAULT min_reserve_vm Значение по умолчанию для минимального количества резервных виртуальных машин при создании TRS проекта. 1
DEFAULT otp_sender_method Метод отправки пользователю OTP. telegram
DEFAULT selectable_themes Список доступных тем для выбора. default, accentos, accentos_ocean
DEFAULT tkcontrol_host Адрес хоста TKControl.  
DEFAULT tkcontrol_password Пароль пользователя для авторизации в TKControl. admin
DEFAULT tkcontrol_user Имя пользователя для авторизации в TKControl. admin
database url Настройка подключения к базе данных. mysql+pymysql://aos:p assword@localhost:330 6/dashboard?charset=u tf8

Важно

При изменении параметров файла конфигурации для вступления их в силу необходимо произвести процедуру, описанную в разделе «Обновление файла конфигурации».

План восстановления

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

  1. Сравните версии миграций в файле /tmp/rollback/dashboard/migrations.txt с текущими. При наличии отличий произведите миграцию на предыдущую версию для каждого из приложений. Пример миграции:

    python3 /usr/share/openstack-dashboard/manage.py showmigrations
    openstack aos db migrate -n dashboard --migration "frame 0001_initial"
    openstack aos db migrate -n dashboard --migration "sessions 0001_initial"
    
  2. Произведите возврат к предыдущему состоянию пакетов:

    cd /tmp/rollback/dashboard
    diff --changed-group-format='%>' --unchanged-group-format='' pip_before.txt pip_after.txt > pip_uninstall.txt
    diff --changed-group-format='%<' --unchanged-group-format='' pip_before.txt pip_after.txt > pip_install.txt
    pip3 uninstall -r pip_uninstall.txt
    pip3 install -r pip_install.txt