Создание собственных обработчиков оборудования в DCImanager
Инфраструктура дата‑центра зачастую состоит из оборудования разных поколений и производителей. Контроллеры BMC реализуют IPMI или Redfish по‑разному, коммутаторы возвращают статистику в собственных форматах, сенсоры отдают значения в разнородных единицах. В результате стандартные операции включения питания, перезагрузки, чтения телеметрии, управления портами ведут себя неодинаково. Для систем управления это часто превращается в постоянную борьбу с несовместимостями.
DCImanager решает эту проблему через обработчик — изолированный модуль, который инкапсулирует специфику конкретного устройства и переводит ее в унифицированный интерфейс. Он выступает адаптационным слоем между «нативным» протоколом оборудования и внутренней моделью управления в платформе. Вся логика, связанная с особенностями реализации, локализуется внутри обработчика, поэтому ядро системы остается чистым и работает только с согласованными данными и предсказуемыми операциями.
Для контроллеров BMC обработчик формализует полный цикл управления питанием и перезагрузкой, нормализует показания сенсоров, унифицирует единицы измерения и форматы, а также стабилизирует поведение команд, которые в разных прошивках могут иметь разные таймауты или статусы возврата.
Для коммутаторов обработчик обеспечивает консистентную модель портов, трансляцию статистики трафика и ошибок в единый формат, а также оборачивает нативные CLI- или API-вызовы в стабильно повторяющиеся операции с четкой диагностикой.
DCImanager предоставляет разработчику SDK шаблоны, позволяющие реализовать обработчик под конкретное оборудование.
Архитектурно обработчик — это Python-модуль, который реализует обязательный набор методов. Для контроллера BMC — это операции управления питанием
Читать на habr.com
