MCPcopy
hub / github.com/retspen/webvirtcloud / wvmHostDetails

Class wvmHostDetails

vrtManager/hostdetails.py:14–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12
13
14class wvmHostDetails(wvmConnect):
15 def get_memory_usage(self):
16 """
17 Function return memory usage on node.
18 """
19 get_all_mem = self.wvm.getInfo()[1] * 1048576
20 get_freemem = self.wvm.getMemoryStats(-1, 0)
21 if type(get_freemem) == dict:
22 free = (get_freemem.values()[0] +
23 get_freemem.values()[2] +
24 get_freemem.values()[3]) * 1024
25 percent = (100 - ((free * 100) / get_all_mem))
26 usage = (get_all_mem - free)
27 mem_usage = {'usage': usage, 'percent': percent}
28 else:
29 mem_usage = {'usage': None, 'percent': None}
30 return mem_usage
31
32 def get_cpu_usage(self):
33 """
34 Function return cpu usage on node.
35 """
36 prev_idle = 0
37 prev_total = 0
38 cpu = self.wvm.getCPUStats(-1, 0)
39 if type(cpu) == dict:
40 for num in range(2):
41 idle = self.wvm.getCPUStats(-1, 0).values()[1]
42 total = sum(self.wvm.getCPUStats(-1, 0).values())
43 diff_idle = idle - prev_idle
44 diff_total = total - prev_total
45 diff_usage = (1000 * (diff_total - diff_idle) / diff_total + 5) / 10
46 prev_total = total
47 prev_idle = idle
48 if num == 0:
49 time.sleep(1)
50 else:
51 if diff_usage < 0:
52 diff_usage = 0
53 else:
54 return {'usage': None}
55 return {'usage': diff_usage}
56
57 def get_node_info(self):
58 """
59 Function return host server information: hostname, cpu, memory, ...
60 """
61 info = []
62 info.append(self.wvm.getHostname())
63 info.append(self.wvm.getInfo()[0])
64 info.append(self.wvm.getInfo()[1] * 1048576)
65 info.append(self.wvm.getInfo()[2])
66 info.append(get_xml_path(self.wvm.getSysinfo(0), func=cpu_version))
67 info.append(self.wvm.getURI())
68 return info
69
70 def hypervisor_type(self):
71 """Return hypervisor type"""

Callers 3

instancesFunction · 0.90
overviewFunction · 0.90
compute_graphFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected