Подключение обработчика-заглушки PDU
Обработчик-заглушка позволяет добавить в платформу виртуальный распределитель питания (PDU). Использование виртуального устройства может быть полезно при тестировании платформы.
Особенности работы
Возможности обработчика:
- создание PDU с требуемым количеством портов;
- опрос портов;
- включение и выключение портов;
- сбор статистики энергопотребления — для статистики генерируются случайные значения.
Особенности обработчика:
- при периодическом опросе устройства статус выключенных вручную портов изменяется на "Включён";
- добавление PDU и редактирование его параметров доступно только через API.
Добавление обработчика в платформу
Скачайте архив с обработчиком из репозитория ISPsystem. Подробнее о структуре обработчика см. в статье Создание обработчика PDU.
Авторизуйтесь в 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 — токена авторизации.
Создайте описание для обработчика:
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Загрузите архив с обработчиком в платформу:
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 — имя архива с обработчиком
Добавьте виртуальное 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. При добавлении:
- В поле Обработчик выберите внутреннее имя обработчика.
- Укажите произвольный IP-адрес PDU.
- В разделе Настройка обработчика:
- Укажите Ключ port_count и Значение равное количеству портов PDU.
- Чтобы задать шаблон наименования портов:
- Нажмите кнопку Добавить настройку.
- Укажите Ключ port_name_template и Значение, соответствующее шаблону наменования портов. Например, если указать шаблон "Порт #{id}", порты устройства будут называться Порт #1, Порт #2 и т.д.