Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from xml.etree import cElementTree as et
from StringIO import StringIO
def uuid(dom):
"""Unique identifier of the domain."""
return dom.uuid
def status(dom):
return dom.state
def hv(dom):
#FIXME: what shoud be the value of this tag ?
return dom.hypervisor.name
def htype(dom):
return dom.hypervisor.type
def arch(dom):
"""VM CPU architecture."""
try:
return dict(i686='x86', x86_64='x64')[et.ElementTree().parse(
StringIO(dom.lv_dom.XMLDesc(0))).find('os/type').get('arch')]
except Exception:
logger.exception('Error while get Architecture tag')
def h():
pass
def cpu(dom):
"""Number of CPU of the VM."""
return dom.lv_dom.info()[3]
def cpuuse():
pass
def mem(dom):
"""Memory currently allocated."""
return dom.lv_dom.info()[2] * 1024
def memmax(dom):
"""Maximum memory allocation."""
return dom.lv_dom.info()[1] * 1024
def vncport(dom):
"""VNC port for the VM console access."""
try:
return et.ElementTree().parse(
StringIO(dom.lv_dom.XMLDesc(0))
).find('devices/graphics').get('port')
except Exception:
logger.exception('VNCPort')
def status(dom):
return dom.state
status.ttl = 1
def disk(dom):
"""Get backend disks."""
return u' '.join(map(str, xrange(len(dom.disks))))