Обработчик-заглушка позволяет добавить в платформу виртуальный распределитель питания (PDU). Использование виртуального устройства может быть полезно при тестировании платформы.

Особенности работы


Возможности обработчика:

  • создание PDU с требуемым количеством портов;
  • опрос портов;
  • включение и выключение портов;
  • сбор статистики энергопотребления — для статистики генерируются случайные значения.

Особенности обработчика:

  • при периодическом опросе устройства статус выключенных вручную портов изменяется на "Включён";
  • добавление PDU и редактирование его параметров доступно только через API.

Добавление обработчика в платформу


  1. Скачайте архив с обработчиком из репозитория ISPsystem. Подробнее о структуре обработчика см. в статье Создание обработчика PDU.

  2. Авторизуйтесь в DCImanager 6 с правами администратора: 

    curl -o- -k https://domain.com/api/auth/v4/public/token \
        -H "isp-box-instance: true" \
        -d '{
            "email": "<admin_email>",
            "password": "<admin_pass>"
        }'
    
    BASH

    domain.com — доменное имя сервера c DCImanager 6

    <admin_email> — email администратора DCImanager 6

    <admin_pass> — пароль администратора DCImanager 6

    В ответ придёт сообщение вида: 

    {"id":"24","token":"24-cee181d2-ccaa-4b64-a229-234aa7a25db6"}
    YML

    Сохраните из полученного ответа значение параметра token — токена авторизации.

  3. Создайте описание для обработчика: 

    curl -o- -k https://domain.com/api/eservice/v3/custom_equipment \
        -H "isp-box-instance: true" \
        -H "x-xsrf-token: <token>" \
        -d '{
            "device_type": "pdu",
            "handler": "<internal_handler_name>",
            "name": "<handler_name>",
            "protocol": ["custom"],
            "features": []
        }'
    BASH

    domain.com — доменное имя сервера c DCImanager 6

    <token> — токен авторизации

    <internal_handler_name> — уникальное внутреннее имя обработчика. Например, "dummy_pdu"

    <handler_name> — имя обработчика для отображения в интерфейсе платформы. Например, "Dummy PDU"

    Ответ будет содержать id созданного обработчика. Сохраните это значение.

    Пример ответа

    {"id": 1}
    CODE
  4. Загрузите архив с обработчиком в платформу: 

    curl -o- -k https://domain.com/api/eservice/v3/custom_equipment/<handler_id>/content \
        -H "isp-box-instance: true" \
        -H "x-xsrf-token: <token>" \
        -F "data=@dummy_pdu_handler.tar.gz" \
        -F "handler_import=dummy_handler.dummy_pdu"
    BASH

    domain.com — доменное имя сервера c DCImanager 6

    <handler_id> — id обработчика

    <token> — токен авторизации

    dummy_pdu_handler.tar.gz — имя архива с обработчиком

  5. Добавьте виртуальное PDU с использованием загруженного обработчика: 

    curl -o- -k https://domain.com/api/dci/v3/pdu \
        -H "isp-box-instance: true" \
        -H "x-xsrf-token: <token>" \
        -d '{
             "device":"<internal_handler_name>",
             "ip":"<ip_address>",
             "name":"<pdu_name>",
             "note":"<comments>",
             "rack":<rack_id>,
             "size":<device_size>,
             "unit":<unit_id>,
             "custom_params": {
                               "port_count":<port_number>,
                               "port_name_template":"<port_template>"
                              }
        }'
    BASH

    domain.com — доменное имя сервера c DCImanager 6

    <token> — токен авторизации

    <internal_handler_name> — внутреннее имя обработчика

    <ip_address> — произвольный IP-адрес

    <pdu_name> — имя виртуального PDU

    <comments> — произвольное примечание

    <rack_id> — id стойки, в которой будет размещён PDU

    <device_size> — количество юнитов, занимаемое PDU в стойке

    <unit_id> — id первого юнита, занимаемого устройством

    <port_number> — количество портов PDU

    <port_template> — шаблон наменования портов. Например, если указать "Порт #{id}", порты устройства будут называться Порт #1, Порт #2 и т.д. Необязательный параметр. Значение по умолчанию — "Port {id}"

    Вы можете добавить виртуальный PDU через интерфейс платформы. Подробнее см. в статье Добавление PDU. При добавлении:

    1. В поле Обработчик выберите внутреннее имя обработчика.
    2. Укажите произвольный IP-адрес PDU.
    3. В разделе Настройка обработчика:
      1. Укажите Ключ port_count и Значение равное количеству портов PDU.
      2. Чтобы задать шаблон наименования портов:
        1. Нажмите кнопку Добавить настройку.
        2. Укажите Ключ port_name_template и Значение, соответствующее шаблону наменования портов. Например, если указать шаблон "Порт #{id}", порты устройства будут называться Порт #1, Порт #2 и т.д.