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

Важно

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

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

sudo -i

Важно

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

Установка

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

    mkdir -p /tmp/tionix_rollback/dashboard
    pip freeze > /tmp/tionix_rollback/dashboard/pip_before.txt
    

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

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

    python /usr/share/openstack-dashboard/manage.py showmigrations > /tmp/tionix_rollback/dashboard/migrations.txt
    

    Где:

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

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

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

      # Ubuntu, CentOS:
      pip install tionix-dashboard
      
    • из репозитория RPM пакетов:

      # ALT Linux 7:
      apt-get -y install python-module-tionix_dashboard
      
      # CentOS:
      yum -y install python-tionix_dashboard
      
  5. Сохраните список установленных пакетов после установки для возможности отката изменений:

    pip freeze > /tmp/tionix_rollback/dashboard/pip_after.txt
    

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

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

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

Примечание

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

Настройка

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

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

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

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

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

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

    # Зайдите в базу данных, используя пароль пользователя root
    mysql -uroot -p
    # Создайте пользователя tionix c паролем password
    CREATE USER 'tionix'@'localhost' IDENTIFIED BY 'password';
    # Создайте базу данных tionix_dash
    CREATE DATABASE tionix_dash;
    # Дайте пользователю права на чтение, редактирование, выполнение любых действий над всеми таблицами базы данных tionix_dash
    GRANT ALL PRIVILEGES ON tionix_dash.* TO 'tionix'@'localhost';
    # Осуществите выход из базы данных
    
  4. Выполните миграцию базы данных:

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

    # Ubuntu:
    service apache2 restart
    service memcached restart
    
    # ALT Linux 7:
    systemctl restart httpd2
    systemctl restart memcached
    
    # CentOS:
    systemctl restart httpd
    systemctl restart memcached
    

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

Примечание

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

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

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

      # Ubuntu, CentOS:
      pip install tionix_dashboard_theme
      
    • из репозитория RPM пакетов:

      # ALT Linux 7:
      apt-get -y install python-module-tionix_dashboard_theme
      
      # CentOS:
      yum -y install python-module-tionix_dashboard_theme
      

Примечание

В случае, если модуль TIONIX.Dashboard установлен, перейти к пункту 3.

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

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

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

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

    COMPRESS_OFFLINE = True
    

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

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

    # Ubuntu:
    service apache2 restart
    service memcached restart
    
    # ALT Linux 7:
    systemctl restart httpd2
    systemctl restart memcached
    
    # CentOS:
    systemctl restart httpd
    systemctl restart memcached
    

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

Примечание

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

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

Параметр Описание Значение по умолчанию
LOG_LEVEL

Уровень логирования. Доступные значения:

  • DEBUG;
  • INFO;
  • WARNING;
  • ERROR;
  • CRITICAL.

Значения являются регистронезависимыми. Подробное описание параметров доступно в разделе Уровни логирования.

INFO
KEYSTONE

Настройки для авторизации в службе Keystone, где:

  • auth_url - адрес сервиса Keystone;
  • auth_version - версия Keystone: 2 или 3;
  • auth_user - логин пользователя;
  • auth_password - пароль пользователя;
  • auth_tenant - название проекта;
  • compute_service_name - название службы Compute;
  • volume_service_name - название службы Volume;
  • network_service_name - название службы Neutron;
  • identity_service_name - название службы Keystone.
  • auth_url - http://localhost:5000;
  • auth_version - 3;
  • auth_user - admin;
  • auth_password - admin;
  • auth_tenant - admin;
  • compute_service_name - compute;
  • volume_service_name - volumev2;
  • network_service_name - network;
  • identity_service_name - identity.
NEUTRON_VERSION Версия клиента: 2.  
DB

Настройки базы данных, где:

  • ENGINE - django.db.backends.mysql;
  • USER - tionix;
  • PASSWORD - password;
  • HOST - localhost;
  • PORT3306;
  • NAME - tionix_dash.
SENTRY

Настройки логирования Sentry, где:

  • ENABLED - Флаг, отвечающий за отправку сообщений об ошибках в Sentry. Возможные значения:

    • True;
    • False.

    Значения являются регистронезависимыми.

  • DSN - Адрес сервера Sentry, содержит ключ пользователя и идентификатор проекта;

  • LOG_LEVEL - Уровень логирования в Sentry. Значения являются регистронезависимыми.

  • False;
  • Адрес внутреннего сервера Sentry;
  • CRITICAL.
ENABLE_QOS

Активация вкладки «Сетевые политики QoS». Возможные значения:

  • True;
  • False.
False
MIN_RESERVE_VM Значение по умолчанию для минимального количества резервных виртуальных машин при создании VDI проекта. null

Дополнительные параметры

Параметр Описание Значение по умолчанию
TRACEBACK_ENABLED

Параметр для вывода трассировки ошибки при логировании. Возможные значения:

  • True;
  • False.

Значения являются регистронезависимыми.

False

Важно

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

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

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

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

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

    cd /tmp/tionix_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
    pip uninstall -r pip_uninstall.txt
    pip install -r pip_install.txt