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

Contents of /misc/xenconsole/ajaxdata.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1888 - (show annotations) (download)
Sat Dec 1 11:27:10 2012 UTC (11 years, 5 months ago) by torben
File size: 2025 byte(s)
add more data
1 <?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
43 $name = $vm["name_label"];
44 $uuid = $vm["uuid"];
45 $state = $vm["power_state"] ;
46
47
48 $network = "";
49 $url = "";
50 $session = "";
51 $os = "";
52 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 $os = $guest_metrics["os_version"]["name"];
57 }
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 echo "<vm>";
73 echo "<name>{$name}</name>";
74 echo "<state>{$state}</state>";
75 echo "<network>{$network}</network>";
76 echo "<conurl>{$url}</conurl>";
77 echo "<session>{$session}</session>";
78 echo "<os>{$os}</os>";
79
80 echo "</vm>";
81 }
82 echo "</xen>";
83 ?>

  ViewVC Help
Powered by ViewVC 1.1.20