/[projects]/misc/xenconsole/ajaxdata.php
ViewVC logotype

Diff of /misc/xenconsole/ajaxdata.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1884 by torben, Fri Nov 30 15:54:54 2012 UTC revision 1889 by torben, Sat Dec 1 16:12:51 2012 UTC
# Line 27  include('xenapi.php'); Line 27  include('xenapi.php');
27    
28  /* Establish session with Xenserver */  /* Establish session with Xenserver */
29  $xenserver = new XenApi($url, $login, $password);  $xenserver = new XenApi($url, $login, $password);
30    
31    $hosts_array = $xenserver->host__get_all();
32    $host = $xenserver->host__get_record($hosts_array[0]);
33    $host_metrics = $xenserver->host_metrics__get_record($host["metrics"]);
34    
35    $mem_total = $host_metrics["memory_total"];
36    $mem_free = $host_metrics["memory_free"];
37    
38  $vms_array = $xenserver->VM__get_all_records();  $vms_array = $xenserver->VM__get_all_records();
39    
40    
41  header("Content-Type: text/xml");  header("Content-Type: text/xml");
42  echo "<xen>";  echo "<xen>";
43    echo "<host>";
44    echo "<memtotal>{$mem_total}</memtotal>";
45    echo "<memfree>{$mem_free}</memfree>";
46    echo "</host>";
47    
48  // List all machines  // List all machines
49  foreach($vms_array as $vm) {  foreach($vms_array as $vm) {
# Line 39  foreach($vms_array as $vm) { Line 51  foreach($vms_array as $vm) {
51                  continue;                  continue;
52          }          }
53    
54    
55          $name = $vm["name_label"];          $name = $vm["name_label"];
56          $uuid = $vm["uuid"];          $uuid = $vm["uuid"];
57          $state = $vm["power_state"] ;          $state = $vm["power_state"] ;
58          $memory = $vm['memory_target'];  
59          $harddrive_size = 0;  
60          $cpu_count = $vm["VCPUs_max"];          $network = "";
61            $url = "";
62            $session = "";
63            $os = "";
64            if ( $vm["power_state"] == "Running" ) {
65                    if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed
66                            $guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );
67                            $network = implode( ",",  $guest_metrics["networks"])  ;
68                            $os =  $guest_metrics["os_version"]["name"];
69                    }
70    
71                    foreach($vm["consoles"] as $conref) {
72                            $con = $xenserver->console__get_record( $conref );
73    
74                            if ($con["protocol"] == "rfb") {
75                                    $url = urlencode( $con["location"] );
76                                    $session = $xenserver->get_id();
77                            }
78                    }
79    
80            }
81    
82    
83    
84          echo "<vm>";          echo "<vm>";
85          echo "<name>{$name}</name>";          echo "<name>{$name}</name>";
86          echo "<state>{$state}</state>";          echo "<state>{$state}</state>";
87            echo "<network>{$network}</network>";
88            echo "<conurl>{$url}</conurl>";
89            echo "<session>{$session}</session>";
90            echo "<os>{$os}</os>";
91            
92          echo "</vm>";            echo "</vm>";  
93  }  }
94  echo "</xen>";  echo "</xen>";

Legend:
Removed from v.1884  
changed lines
  Added in v.1889

  ViewVC Help
Powered by ViewVC 1.1.20