9553ccc6b6
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@6484 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
71 lines
2.0 KiB
PHP
71 lines
2.0 KiB
PHP
<?php
|
|
/*
|
|
* rpowerstat.php
|
|
* display the rpower status of all nodes in the whole cluster
|
|
* one graph and one table will be used to display them
|
|
*/
|
|
|
|
if(!isset($TOPDIR)) { $TOPDIR=".";}
|
|
|
|
require_once "$TOPDIR/lib/security.php";
|
|
require_once "$TOPDIR/lib/functions.php";
|
|
require_once "$TOPDIR/lib/display.php";
|
|
require_once "$TOPDIR/lib/monitor_display.php";
|
|
|
|
$type = $_REQUEST['type'];
|
|
|
|
#if $type == "json", it will return data in json-format
|
|
#if $type == "table", it will return the data in one table.
|
|
|
|
#this hashed table records all the nodes with their status
|
|
|
|
$xml = docmd("rpower","all",array("stat"));
|
|
$nodestat_arr = array();
|
|
foreach($xml->children() as $response){
|
|
if($response->errorcode == 0) {
|
|
$key = $response->node->name;
|
|
$nodestat_arr["$key"] = $response->node->data->contents;
|
|
}
|
|
}
|
|
|
|
#print_r($nodestat_arr);
|
|
if($type == "table") {
|
|
#output the data into One table
|
|
echo "<table width=100%>";
|
|
echo <<<TH00
|
|
<thead>
|
|
<tr><th width=67%>Node Name</th><th width=32%>Status</th></tr>
|
|
</thead>
|
|
TH00;
|
|
echo "<tbody>";
|
|
foreach($nodestat_arr as $k => $v) {
|
|
echo "<tr><td>$k</td><td>$v</td></tr>";
|
|
}
|
|
echo "</tbody></table>";
|
|
}else if($type == "json") {
|
|
#Currently, we only return the numbers of nodes in different status
|
|
$num_arr = array( array(label => "Operating", data => 0), array( label => "Running", data => 0), array(label => "Not Activated", data => 0), array(label => "Open Firmware", data => 0));
|
|
foreach ($nodestat_arr as $k => $v) {
|
|
switch ($v) {
|
|
case "Operating":
|
|
$num_arr[0][data]++;
|
|
break;
|
|
case "Running":
|
|
$num_arr[1][data]++;
|
|
break;
|
|
case "Not Activated":
|
|
$num_arr[2][data]++;
|
|
break;
|
|
case "Open Firmware":
|
|
$num_arr[3][data]++;
|
|
break;
|
|
}
|
|
}
|
|
#convert the array to JSON-type
|
|
#print_r($num_arr);
|
|
echo json_encode($num_arr);
|
|
return json_encode($num_arr);
|
|
}
|
|
|
|
?>
|