mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-30 02:42:41 +00:00 
			
		
		
		
	git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@4944 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);
 | |
| }
 | |
| 
 | |
| ?>
 |