DCImanager 6

Импорт оборудования в платформу

Вы можете импортировать оборудование в платформу с помощью скрипта миграции. Подробнее о миграции см. в статье Миграция с DCImanager 5 в DCImanager 6.

Импорт состоит из следующих этапов:

  1. Подготовка файла в формате JSON с описанием оборудования.
  2. Подготовка конфигурационного файла для скрипта миграции.
  3. Запуск скрипта в режиме импорта.

Порядок импорта

  1. Подключитесь к серверу с DCImanager 6 по SSH с правами суперпользователя.
  2. Зайдите в контейнер migrator: 

    docker exec -it migrator bash
  3. Перейдите в директорию сервиса миграции: 

    cd /opt/ispsystem/migrate
  4. Чтобы импортировать серверы, создайте файл /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",
          ...
    ]
    Пояснения
  5. Чтобы импортировать коммутаторы, создайте файл /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",
          ... 
    ]
    Пояснения

    Чтобы получить внутреннее имя обработчика, откройте интерфейс Swagger → раздел Equipment service → выполните GET-запрос supported_switch. Ответ на запрос будет содержать имена обработчиков в параметре handler. Подробнее об обработчиках коммутаторов см. в статье Поддерживаемые устройства.

    Чтобы получить параметры подключения коммутатора, откройте интерфейс Swagger → раздел DCI Back → скопируйте нужные данные из параметра POST-запроса switch. Например, для eapi_params нужно указать:

      "eapi_params": {
        "password": "<пароль>",
        "username": "<имя пользователя>"
      }

    Для telnet_params используйте данные из ssh_params:

     "ssh_params": {
        "password": "<пароль>",
        "port": <порт>,
        "user": "<имя пользователя>"
      }
  6. Создайте конфигурационный файл для миграции 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
    1. Укажите id локации в параметре location.
    2. Если вы не планируете импортировать серверы, удалите из файла строку "- server".
    3. Если вы не планируете импортировать коммутаторы, удалите из файла строку "- switch".
  7. Запустите скрипт для импорта данных: 

    python3 migrator.py -p import_settings.yaml

Диагностика

Логи миграции записываются в файл /var/log/migrate.log в контейнере migrator на сервере с DCImanager 6. Отчёт по миграции сохраняется в файл, указанный в параметре report_file конфигурационного файла миграции.