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

Annotation of /misc/xenconsole/ajaxdata.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1888 - (hide annotations) (download)
Sat Dec 1 11:27:10 2012 UTC (11 years, 6 months ago) by torben
File size: 2025 byte(s)
add more data
1 torben 1884 <?php
2     include("config.php");
3    
4     function format_memory($size) {
5     if (1024 > $size) {
6     return "$size B";
7     } else if (pow(1024,2) > $size) {
8     return round(($size / 1024),2) . " kB";
9     } else {
10     return round(($size / pow(1024,2)), 2) . " MB";
11     }
12     }
13    
14     function format_storage($size) {
15     if (1024 > $size) {
16     return "$size B";
17     } else if (pow(1024,2) > $size) {
18     return round(($size / 1024),2) . " kB";
19     } else if (pow(1024,3) > $size) {
20     return round(($size / pow(1024,2)), 2) . " MB";
21     } else if (pow(1024,4) > $size) {
22     return round(($size / pow(1024,3)), 2). " GB";
23     }
24     }
25    
26     include('xenapi.php');
27    
28     /* Establish session with Xenserver */
29     $xenserver = new XenApi($url, $login, $password);
30     $vms_array = $xenserver->VM__get_all_records();
31    
32    
33     header("Content-Type: text/xml");
34     echo "<xen>";
35    
36     // List all machines
37     foreach($vms_array as $vm) {
38     if ($vm["is_a_template"] != 0 || $vm["is_control_domain"] != 0) {
39     continue;
40     }
41    
42 torben 1885
43 torben 1884 $name = $vm["name_label"];
44     $uuid = $vm["uuid"];
45     $state = $vm["power_state"] ;
46    
47 torben 1885
48     $network = "";
49     $url = "";
50     $session = "";
51 torben 1888 $os = "";
52 torben 1885 if ( $vm["power_state"] == "Running" ) {
53     if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed
54     $guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );
55     $network = implode( ",", $guest_metrics["networks"]) ;
56 torben 1888 $os = $guest_metrics["os_version"]["name"];
57 torben 1885 }
58    
59     foreach($vm["consoles"] as $conref) {
60     $con = $xenserver->console__get_record( $conref );
61    
62     if ($con["protocol"] == "rfb") {
63     $url = urlencode( $con["location"] );
64     $session = $xenserver->get_id();
65     }
66     }
67    
68     }
69    
70    
71    
72 torben 1884 echo "<vm>";
73     echo "<name>{$name}</name>";
74     echo "<state>{$state}</state>";
75 torben 1885 echo "<network>{$network}</network>";
76     echo "<conurl>{$url}</conurl>";
77     echo "<session>{$session}</session>";
78 torben 1888 echo "<os>{$os}</os>";
79 torben 1885
80 torben 1884 echo "</vm>";
81     }
82     echo "</xen>";
83     ?>

  ViewVC Help
Powered by ViewVC 1.1.20