From 41ad518c250c8d94e4f934d931605df28b3c2a8f Mon Sep 17 00:00:00 2001 From: Rudy Hardeman Date: Wed, 13 May 2015 08:33:48 +0200 Subject: [PATCH] Initial IPMI type detect version --- includes/defaults.inc.php | 6 ++++++ includes/discovery/ipmi.inc.php | 9 ++++++++- includes/polling/ipmi.inc.php | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index 305e2cc4d9..30ed7df075 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -655,4 +655,10 @@ $config['callback_clear'] = 'https://stats.libren // Stat graphs $config['alert_graph_date_format'] = '%Y-%m-%d %H:%i'; +// IPMI type +$config['ipmi']['type'][] = "lanplus"; +$config['ipmi']['type'][] = "lan"; +$config['ipmi']['type'][] = "imb"; +$config['ipmi']['type'][] = "open"; + ?> diff --git a/includes/discovery/ipmi.inc.php b/includes/discovery/ipmi.inc.php index 1ebb71c004..44989d0486 100644 --- a/includes/discovery/ipmi.inc.php +++ b/includes/discovery/ipmi.inc.php @@ -13,7 +13,14 @@ if ($ipmi['host'] = get_dev_attrib($device,'ipmi_hostname')) $remote = " -H " . $ipmi['host'] . " -U " . $ipmi['user'] . " -P " . $ipmi['password']; } - $results = external_exec($config['ipmitool'] . $remote . " sensor 2>/dev/null|sort"); + foreach ($config['ipmi']['type'] as $ipmi_type) { + $results = external_exec($config['ipmitool'] . " -I $ipmi_type". $remote . " sensor 2>/dev/null|sort"); + if ($results != "") + { + set_dev_attrib($device, 'ipmi_type', $ipmi_type); + break; + } + } $index = 0; diff --git a/includes/polling/ipmi.inc.php b/includes/polling/ipmi.inc.php index a1c1177ee6..7b6a881f97 100644 --- a/includes/polling/ipmi.inc.php +++ b/includes/polling/ipmi.inc.php @@ -6,7 +6,7 @@ if ($ipmi['host'] = get_dev_attrib($device,'ipmi_hostname')) { $ipmi['user'] = get_dev_attrib($device,'ipmi_username'); $ipmi['password'] = get_dev_attrib($device,'ipmi_password'); - + $ipmi['type'] = get_dev_attrib($device,'ipmi_type'); echo("Fetching IPMI sensor data..."); if ($config['own_hostname'] != $device['hostname'] || $ipmi['host'] != 'localhost') @@ -14,7 +14,7 @@ if ($ipmi['host'] = get_dev_attrib($device,'ipmi_hostname')) $remote = " -H " . $ipmi['host'] . " -U " . $ipmi['user'] . " -P " . $ipmi['password']; } - $results = external_exec($config['ipmitool'] . " -c " . $remote . " sdr 2>/dev/null"); + $results = external_exec($config['ipmitool'] . " -I ".$ipmi['type']." -c " . $remote . " sdr 2>/dev/null"); echo(" done.\n"); foreach (explode("\n",$results) as $row)