Подготовка к установке#
Важная информация по процессу установки:
- На виртуальной машине, на которую устанавливается сервис топологии, не должен быть установлен Визион.
 - Пользователь обладает правами root.
 - После запуска сервиса требуется порядка 5-10 минут, прежде чем в графическом интерфейсе станут отображаться данные.
 - На первом этапе сервис запускается на искусственных данных (не требуется интеграция с внешними системами или устройствами) для того, чтобы убедиться в корректной работе самого сервиса. На втором этапе сервис переводится на использование реальных данных.
 <topology_service_distrib>.tar.gz— архив с дистрибутивом сервиса.<topology_service_ip>— IP-адрес хоста, на котором устанавливается сервис.- Установка пакетов с зависимостями поддерживается только из репозиториев ОС.
 - Для установки пакетов зависимостей из репозитория дистрибутива (offline-установка пакетов) применяется отдельный скрипт 
alter_repo.sh(см. шаг “Загрузка и инициализация локального репозитория с пакетами”). 
Распаковка дистрибутива#
- 
Загрузите архив с дистрибутивом сервиса и распакуйте его:
tar -xzf <topology_service_distrib>.tar.gz - 
Перейдите в директорию с распакованным файлами:
cd <topology_service_distrib> 
Загрузка и инициализация локального репозитория с пакетами#
Обратите внимание, что выполнение этого шага требуется только при недоступности на хосте сетевых репозиториев и рассчитано на запуск только на Альт 8 СП Сервер 10.2 (c10f2). Также после завершения работы с
setup.sh(шаг “Установка необходимых зависимостей и запуск установки”) нужно выполнить команду./alter_repo.sh -rдля восстановления исходной конфигурации репозиториев.
Загрузите архив с пакетами <topology_service_packages>.tgz и запустите скрипт конфигурации репозитория:
./alter_repo.sh -i <topology_service_packages>.tgz
Установка зависимостей и запуск установки#
- Запустите скрипт 
./setup.sh. - Выберите опцию “Установить пакеты зависимостей из репозитория OC” (выполняется однократно).
 - После успешной установки зависимостей выберите “Установить сервер Foliage”.
 
Если на шаге “Загрузка и инициализация локального репозитория с пакетами” запускался скрипт
./alter_repo.sh -i, то необходимо выполнить команду./alter_repo.sh -r.
Базовый тест работоспособности интерфейса пользователя#
Через 5-10 минут после завершения установки необходимо убедиться в наличии объектов на экранах топологии https://<topology_service_ip>/?view=hss&id=МБДП-001. Экраны (вкладки) не должны быть пустыми, между элементами на каждом экране должны отображаться связи.
Проверка запущенных сервисов#
Для проверки активности запущенных сервисов выполните команду:
cd /opt/skala-r/foliage && ./check_services.sh
Ожидается, что все сервисы (актуальный список хранится в services.list) находятся в статусе active.
Тестовая установка агента сервиса топологии (foliage_agent) локально и базовый интеграционный тест#
Для установки агента:
- 
Перейдите в директорию
/opt/skala-r/foliage/maintenance/foliage_agent:cd /opt/skala-r/foliage/maintenance/foliage_agent - 
В файле
foliage_agent_settings.ymlизмените значение переменнойfoliage_agent_nats_hostсlocalhostна внешний IP-адрес текущего хоста (<topology_service_ip). - 
Запустите плейбук:
ansible-playbook -i sample_inventory.yml install.yml 
После установки необходимо убедиться в работоспособности агента командой systemctl status foliage_agent и передачи минимальных данных (ip и hostname) в CMDB (ниже <topology_service_ip>_shsi это ID вершины, сгенерированный на базе IP-адреса текущего хоста).
Ошибки вида “level=error msg=“Команда ‘pcs status xml’ завершилась с ошибкой” допустимы, т. к. консольная команда
pcsдоступна только на хостах, где развернут кластерcorosync.
Информация в CMDB имеет вид графа, вершинами которого являются объекты.
Для проверки наличия информации о иерархии объектов выполните команду:
./foliage_cli_routes.sh scala_connectors_server-from-ip
Пример вывода команды:
scala_connectors_server-from-ip
└── [depth=1]  OUT
    ...
    ├── [hss/<topology_service_ip>_shsi]  hss/<topology_service_ip>_shsi
    ...
    ├── [hss/scala_connectors_server-command-output]  hss/scala_connectors_server-command-output
    ...
Для получения информации о вершине выполните команду:
./foliage_cli_inspect.sh <topology_service_ip>_shsi
Пример вывода команды:
...
Body {
    ...
    "hostname": "vision-ifedulov-monitoring-target",
    "ip": "192.168.191.188"
}
Убедитесь, что минимальная информация с запущенного foliage_agent стала доступна в интерфейсе пользователя. Сервер и его IP-адрес должны быть видны в левой колонке на экране ПАК (связь с элементами в средней колонке Services не должна отображаться). При переходе на экран “Детальный вид” отображаются данные на панелях “Hardware subsystem > RAM”, “Network subsystem > BMC”. При переходе на экран “Подсистема хранения” показываются данные в колонках Partitions и Disks.
Перевод экземпляра сервиса топологии на реальные данные#
Перевод осуществляется через остановку всех компонентов, очистку jetstream, изменение конфигурационных файлов и повторный запуск сервисов.
Перед внесением правок в конфигурационные файлы, необходимо выполнить предусловия и подготовить следующую информацию:
- 
В Визионе заполнена обьектная модель ПАКа (серверы, коммутаторы и др.).
 - 
Адрес Визиона
<vision_api>(например,https://192.168.191.61). - 
Ключ авторизации Визиона
<vision_bearer_token>.Для создания ключа авторизации пользователю должна быть назначена роль
vsn_config.Для создания ключа перейдите на страницу
<vision_api>/vision/security/tokens.Обратите внимание, что это не должен быть идентификатор токена (UUID). Длина токена составляет около 200 символов. Существующий токен нельзя скопировать — нужно или создать новый, или перегенерировать существующий. Для выполнения обеих операций используйте кнопку Сгенерировать.
 - 
Идентификатор ПАК (
<pak_id>), для которого поднят текущий инстанс сервиса топологии (например,pl-mbd2). - 
Список серверов ПАК, на которых будет устанавливаться foliage_agent, чтобы отправлять данные в CMDB сервиса топологии.
 - 
Инвентори файл
<pak_inventory_file>для установки агентов сервиса топологии. - 
Данные о сетях и физическом размещении устройств ПАК (стойки, серверы, коммутаторы и др.). См. инструкцию по заполнению .
 
Все действия выполняйте в директории с установленным сервисом топологии (/opt/skala-r/foliage).
- 
Остановите сервисы:
./manage_services.sh stop - 
Очистите хранилище jetstream:
./drop_jetstream_storage.sh - 
В конфигурационном файле
deploy_settings.ymlзадайте значения следующих параметров:pak_id: идентификатор ПАК.vision_api: адрес Визиона.vision_bearer_token: ключ авторизации Визиона.snmp_port:161.
Пример заполнения:
pak_id: pl-mbd2 vision_api: https://192.168.191.61 vision_bearer_token: a9238912******23198d9sdj snmp_port: 161 - 
Преобразуйте файл
deploy_settings.ymlв формат ENV:ansible-playbook convert_deploy_settings.ymlЭту операцию нужно выполнять при любых изменениях в файле
deploy_settings.yml. - 
Измените конфигурационные файлы для сетей и физического размещения устройств ПАК:
configs/common/nmrd/networks.json;configs/common/nmrd/virtual_location.json.
 - 
Запустите плейбук обновления конфигурационных файлов:
ansible-playbook disable_dumps.yml - 
Установите агенты на серверы ПАК:
cd maintenance/foliage_agent && ansible-playbook -i "<pak_inventory_file>" install.yml - 
Последовательно запустите сервисы:
systemctl start nats_server && sleep 5s && systemctl start main && sleep 5s && ./manage_services.sh start 
После перевода на реальные данные адрес в UI изменится (на примере pak_id: pl-mbd2):
https://<topology_service_ip>/?view=hss&id=<pak_id>.