serverzone/supermicro-ipmi

Supermicro IPMI management connector - via http

0.1 2019-09-13 13:46 UTC

This package is auto-updated.

Last update: 2024-03-20 13:50:14 UTC


README

This library is GuzzleHttp based control class for Supermicro servers.

Our main motivation to write web based wrapper class was lack of support of ipmi protocol over IPv6. As we move towards IPv6 only network, we wanted to get rid of IPv4 addresses on our management cards. Supermicro however supports web interface over IPv6, which is how this library was created.

Please, use this library only on older servers without redfish support. Redfish protocol should fix the problem with deprecated IPMI protocol and should already be accessible via IPv6.

Instalation

composer require serverzone/supermicro-ipmi

Usage

Inicialization

<?php

require __DIR__ . '/vendor/autoload.php';

$instance = new ServerZone\SupermicroIpmi\Client('my-ipmi.local', 'ADMIN', 'ADMIN');
$instance = new ServerZone\SupermicroIpmi\Client('192.168.0.1', 'ADMIN', 'ADMIN');
$instance = new ServerZone\SupermicroIpmi\Client('[2001:db8::1]', 'ADMIN', 'ADMIN');

Power status

var_dump($instance->getPowerStatus());

Power consumption reading

var_dump($instance->getPowerConsumption());

Power on

$instance->powerOn();

Power off

$instance->powerOff();

Power reset

$instance->powerReset();

Sensors reading

foreach($i->getSensors() as $row) {
    printf("%20s %8s %10s %10s\n", $row->getName(), $row->getValue(), $row->getUnits(), $row->getStatus(), $row->getLimit('UNC'));
}

Testing

This library has been tested on several servers we had available:

  • X9SCL-F
  • X9SRW-F
  • X11SSL-F
  • And several others

Contribution

Feel free to send us merge requests, we will be happy to merge them.