Skip to content

Latest commit

 

History

History

extend_bmc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

BMC manager

Общее описание модуля расширения

BMC manager - модуль расширения, предназначенный для обеспечения функционала управления и мониторинга оборудования (в том числе и на BMC устройства).

  1. Мониторинг и сбор данных включает в себя:

    • Сбор справочной информации устройства (модель, вендор, серийный номер, ОС, сетевые интерфейсы);
    • Сбор информации о дисках устройства;
    • Сбор статистической информации о оперативной памяти устройства;
    • Сбор инвентарной информации о оперативной памяти устройства;
    • Сбор статистической информации о процессорах устройства;
    • Сбор инвентарной информации о процессорах устройства;
    • Сбор информации и оповещение о событиях устройства;
    • Сбор инвентарной информации устройства;
    • Сбор статуса доступности устройства;
    • Сбор статуса питания устройства;
    • Сбор значения энергопотребления устройства;
    • Сбор значений сенсоров устройства;
    • Сбор информации о версиях прошивок bmc/bios;
    • Сбор текущего статуса BMC устройства;
    • Сбор текущего перечня PCI устройств оборудования;
    • Сбор значения температуры всех устройств;
    • Получение sel логов (system event log).
  2. Управление включает в себя:

    • Включение оборудования;
    • Soft-включение оборудования;
    • Выключение оборудования;
    • Soft-выключение оборудования;
    • Перезагрузка оборудования;
    • Soft-перезагрузка оборудования;
    • Эмуляция нажатия кнопки (PowerPushButton);
    • Аппаратное прерывание (nmi);
    • Перезагрузка BMC;
    • Soft-перезагрузка BMC;
    • Смена режима загрузки BIOS/UEFI;
    • Включение Led подсветки оборудования;
    • Выключение Led подсветки оборудования;
    • Смена загрузочного носителя;
    • Обновление прошивок BMC и BIOS/UEFI;
    • Установка максимального энергопотребления оборудования.

Разработка собственного Bmc модуля расширения

Используемые технологии

gRPC

gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google в 2015 году.

В качестве транспорта используется HTTP/2, в качестве языка описания интерфейса — Protocol Buffers.

Данный протокол используется для межсервисного общения в системе. Для корректной работы протокола необходимо, чтобы отправляющая и принимающая сторона имели одинаковые прото-файлы.

Прото-файлы описывают классы и их атрибуты, используемые для общения и выглядят следующим образом:

syntax = "proto3";

// Описание источника сбора данных.
message DeviceDataIdentity
{
  // Идентификатор устройства.
  string device_id = 1;
  // Идентификатор объекта прав доступа.
  string access_object_id = 2;
}

Ссылки:

Redfish

Redfish — это набор спецификаций, которые обеспечивают стандартный отраслевой протокол, обеспечивающий интерфейс RESTful для управления серверами, хранилищем, сетью и конвергентной инфраструктурой.

Ссылки: