Установка и настройка¶
Установка¶
Важно
Сначала необходимо произвести настройку окружения. Все команды выполняются только от суперпользователя.
Режим суперпользователя:
sudo -i
Важно
Установка производится на управляющий узел.
Перед началом установки сохраните список установленных ранее пакетов, это позволит Вам безболезненно восстановить систему в случае ее повреждения. Для этого выполните следующие команды:
mkdir -p /tmp/rollback/dashboard pip3 freeze > /tmp/rollback/dashboard/pip_before.txt
После чего в каталоге
/tmp/rollback/dashboard
будет находиться файлpip_before.txt
с перечнем установленных приложений.Также сохраните версии миграции:
python3 /usr/share/openstack-dashboard/manage.py showmigrations > /tmp/rollback/dashboard/migrations.txt
Где:
/tmp/rollback/dashboard/
- директория файла;migrations.txt
- наименование файла с версиями миграций.
Установите пакет OpenStack Horizon:
apt-get install openstack-dashboard
Для Astra Linux (Smolensk) установите пакет командой:
sudo apt install -y openstack-dashboard
Установите пакет Dashboard:
из репозитория Python-пакетов:
pip3 install dashboard
Сохраните список установленных пакетов после установки для возможности отката изменений:
pip3 freeze > /tmp/rollback/dashboard/pip_after.txt
Примечание
Для установки Dashboard и Dashboard Theme на Astra Linux (Smolensk) выполните следующее:
Подключите предоставленный Вам репозиторий с пакетами AccentOS.
Установите пакет командой:
sudo apt install -y aos-dashboard sudo apt install -y aos-dashboard-theme
Установка на двух и более контроллерах¶
При установке Dashboard на двух и более контроллерах, необходимо:
- Реплицировать базу данных на каждый из контроллеров;
- Установить модуль с одинаковыми параметрами на каждый из контроллеров.
Примечание
Удаление и диагностика модуля на каждом контроллере происходит таким же образом, как и в случае с одним контроллером.
Настройка¶
Для корректной работы необходимо настроить модуль Dashboard.
Выполните первичную настройку модуля:
openstack aos configure -n dashboard
В каталоге
/etc/openstack-dashboard/
проверьте наличие конфигурационного файла с именемlocal_settings
илиlocal_settings.py
, при его отсутствии скопируйте настройки из образца (local_settings.py.example
) и добавьте в него импортирование настроек Dashboard:try: from dashboard.django_settings import * except ImportError: pass
Скопируйте образец конфигурационного файла, при использовании нестандартных параметров отредактируйте их (подробнее см. Файл конфигурации):
cp /etc/aos/dashboard.conf.example /etc/aos/dashboard.conf
Запустите команду для сбора статических файлов:
python3 /usr/share/openstack-dashboard/manage.py collectstatic
Создайте базу данных на примере 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'; # Осуществите выход из базы данных
Отредактируйте секцию
[database]
конфигурационного файлаetc/aos/dashboard.conf
, например:[database] url = mysql+pymysql://aos:password@tst.stand.loc:3306/dashboard?charset=utf8
Выполните миграцию базы данных:
openstack aos db migrate -n dashboard
Перезапустите веб-сервера и службы кэширования:
# Debian: systemctl restart apache2 systemctl restart memcached
Подключение темы модуля Dashboard¶
Примечание
Тема является дополнительной опцией и необязательна для нормальной работы модуля.
Подключение стандартной темы:¶
Установите пакет с темой:
из репозитория Python-пакетов:
pip3 install dashboard_theme
В каталоге
/etc/openstack-dashboard/
проверьте наличие конфигурационного файла с именемlocal_settings
илиlocal_settings.py
, при его отсутствии скопируйте настройки из образца (local_settings.py.example
)В случае, если модуль Dashboard не установлен, в конфигурационном файле
local_settings.py
подключите тему:try: from dashboard_theme import * except ImportError: pass
Запустите команду для сбора статических файлов:
python3 /usr/share/openstack-dashboard/manage.py collectstatic
В случае наличия в
local_settings.py
флагаtrue
у строки:COMPRESS_OFFLINE = True
выполните команду:
python3 /usr/share/openstack-dashboard/manage.py compress
Перезапустите веб-сервера и службы кэширования:
# Debian: systemctl restart apache2 systemctl restart memcached
Подключение темы AccentOS® Ocean:¶
Примечание
Тема Dashboard Ocean для Astra Linux 1.7 поддерживается начиная с версии 1.14.0.
Кроме стандартной темы AccentOS® при необходимости можно установить тему AccentOS® Ocean. Для этого необходимо выполнить следующие действия:
Установите пакет с темой AccentOS® Ocean:
из репозитория Python-пакетов:
pip3 install dashboard_ocean
В каталоге
/etc/openstack-dashboard/
проверьте наличие конфигурационного файла с именемlocal_settings
илиlocal_settings.py
, при его отсутствии скопируйте настройки из образца (local_settings.py.example
)В случае, если модуль Dashboard не установлен, в конфигурационном файле
local_settings.py
подключите тему:try: from dashboard_ocean import * except ImportError: pass
Запустите команду для сбора статических файлов:
python3 /usr/share/openstack-dashboard/manage.py collectstatic
В случае наличия в
local_settings.py
флагаtrue
у строки:COMPRESS_OFFLINE = True
выполните команду:
python3 /usr/share/openstack-dashboard/manage.py compress
Перезапустите веб-сервера и службы кэширования:
# 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_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 выполните возврат к исходному состоянию:
Сравните версии миграций в файле
/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"
Произведите возврат к предыдущему состоянию пакетов:
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