Импорт оборудования в платформу
Вы можете импортировать оборудование в платформу с помощью скрипта миграции. Подробнее о миграции см. в статье Миграция с DCImanager 5 в DCImanager 6.
Импорт состоит из следующих этапов:
- Подготовка файла в формате JSON с описанием оборудования.
- Подготовка конфигурационного файла для скрипта миграции.
- Запуск скрипта в режиме импорта.
Порядок импорта
- Подключитесь к серверу с DCImanager по SSH с правами суперпользователя.
Зайдите в контейнер migrator:
docker exec -it migrator bash
BASHПерейдите в директорию сервиса миграции:
cd /opt/ispsystem/migrate
BASHЧтобы импортировать серверы, создайте файл /opt/ispsystem/migrate/server.json следующего формата:
Пример файла
[ { "name":"Server 1", "platform":"Platform 1", "configuration":"i9-9900K-64Gb-1024NVMe-2048NVMe", "mac":"AA:BB:CC:DD:EE:FF", "owner":"admin@example.com", "blocked":false, "installed_os":"", "note":"Some comment", "rack": "Rack 1", "unit":1, "chassis": null, "slot": null }, { "name:"Server 2", ... ]
YMLПоясненияname — имя сервера
platform — название платформы в DCImanager
configuration — конфигурация сервера. Может быть пустой строкой
mac — MAC-адрес сервера. Может быть пустой строкой
owner — e-mail пользователя DCImanager — владельца сервера. Может быть пустой строкой
blocked — отметить сервер как заблокированный. Подробнее см. в статье Блокировка сервера. Возможные значения: true — блокировать, false — не блокировать
installed_os — произвольное название ОС, установленной на сервере
note — произвольный комментарий
rack — имя стойки в DCImanager. Для блейд-сервера укажите значение null
unit — номер юнита в стойке. Для блейд-сервера укажите значение null
chassis — имя шасси. Если это не блейд-сервер, укажите значение null
slot — номер слота в шасси. Если это не блейд-сервер, укажите значение null
Чтобы импортировать коммутаторы, создайте файл /opt/ispsystem/migrate/switch.json следующего формата:
Пример файла
[ { "name": "Switch 1", "device": "arista_eapi", "ip": "192.0.2.100", "rack": "Rack 1", "unit": 1, "size": 1, "note": "Some comment", "couple_switch": null, "snmp_params": null, "netconf_params": null, "telnet_params": null, "nxapi_params": null, "eapi_params": {"password": "secret", "username": "admin"} }, { "name:"Switch 2", ... ]
YMLПоясненияname — имя коммутатора
device — внутреннее имя обработчика
ip — IP-адрес коммутатора
rack — имя стойки в DCImanager
size — размер коммутатора в слотах стойки. Минимальное значение — 0
note — произвольный комментарий
couple_switch — имя парного коммутатора. Если вы создадите VLAN на добавляемом коммутаторе, то они автоматически будут созданы на парном. Если парного коммутатора нет, укажите значение null
snmp_params — параметры подключения по SNMP. Если коммутатор использует другой протокол, укажите значение null
netconf_params — параметры подключения по Netconf. Если коммутатор использует другой протокол, укажите значение null
telnet_params — параметры подключения по SSH. Если коммутатор использует другой протокол, укажите значение null
nxapi_params — параметры подключения по NxAPI. Если коммутатор использует другой протокол, укажите значение null
eapi_params — параметры подключения по eAPI. Если коммутатор использует другой протокол, укажите значение null
Чтобы получить внутреннее имя обработчика, откройте интерфейс Swagger → раздел Equipment service → выполните GET-запрос supported_switch. Ответ на запрос будет содержать имена обработчиков в параметре handler. Подробнее об обработчиках коммутаторов см. в статье Поддерживаемые устройства.
Чтобы получить параметры подключения коммутатора, откройте интерфейс Swagger → раздел DCI Back → скопируйте нужные данные из параметра POST-запроса switch. Например, для eapi_params нужно указать:
"eapi_params": { "password": "<пароль>", "username": "<имя пользователя>" }
YMLДля telnet_params используйте данные из ssh_params:
"ssh_params": { "password": "<пароль>", "port": <порт>, "user": "<имя пользователя>" }
YMLСоздайте конфигурационный файл для миграции import_settings.yaml:
action: import platform: dci6 data: - server - switch transport: - type: dci6_http - type: dci6_auth_http location: 1 format: json debug: false log_file: /var/log/migrate.log report_file: import_report_{datetime}.txt report_view: plain
YMLУкажите id локации в параметре location.
Если вы не планируете импортировать серверы, удалите из файла строку "- server".
Если вы не планируете импортировать коммутаторы, удалите из файла строку "- switch".
Запустите скрипт для импорта данных:
python3 migrator.py -p import_settings.yaml
BASH
Диагностика
Логи миграции записываются в файл /var/log/migrate.log в контейнере migrator на сервере с DCImanager 6. Отчёт по миграции сохраняется в файл, указанный в параметре report_file конфигурационного файла миграции.