serverzone / supermicro-ipmi
Supermicro IPMI management connector - via http
Installs: 34
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 3
Forks: 1
Open Issues: 0
Language:HTML
Requires
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- nette/tester: ^2.3
- ninjify/qa: ^0.9.0
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.