summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorLorin Hochstein <lorin@isi.edu>2011-10-27 20:35:48 -0400
committerLorin Hochstein <lorin@isi.edu>2011-10-27 21:37:12 -0400
commit0cf3789014ccccacb435d3a5c3d74afd304c7b42 (patch)
tree45e69328a2171467c8c3dfb4d3291b2a80ac148b /nova/tests
parent3c3fbaf552948d07c80a5f22aada5f046c3be67b (diff)
Added code to libvirt backend to report state info.
Also renamed property variable in Xen code to make it consistent with nova conventions. Implements blueprint kvm-report-capabilities Change-Id: I7953e857d9b8ce4b410c31b82cead7aaa3fb911f
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_libvirt.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py
index b7864c9dd..d4db164c9 100644
--- a/nova/tests/test_libvirt.py
+++ b/nova/tests/test_libvirt.py
@@ -1076,6 +1076,68 @@ class LibvirtConnTestCase(test.TestCase):
self.assertRaises(NotImplementedError, compute_driver.reboot, *args)
+class HostStateTestCase(test.TestCase):
+
+ cpu_info = '{"vendor": "Intel", "model": "pentium", "arch": "i686", '\
+ '"features": ["ssse3", "monitor", "pni", "sse2", "sse", "fxsr", '\
+ '"clflush", "pse36", "pat", "cmov", "mca", "pge", "mtrr", "sep", '\
+ '"apic"], "topology": {"cores": "1", "threads": "1", "sockets": "1"}}'
+
+ class FakeConnection(object):
+ """Fake connection object"""
+
+ def get_vcpu_total(self):
+ return 1
+
+ def get_vcpu_used(self):
+ return 0
+
+ def get_cpu_info(self):
+ return HostStateTestCase.cpu_info
+
+ def get_local_gb_total(self):
+ return 100
+
+ def get_local_gb_used(self):
+ return 20
+
+ def get_memory_mb_total(self):
+ return 497
+
+ def get_memory_mb_used(self):
+ return 88
+
+ def get_hypervisor_type(self):
+ return 'QEMU'
+
+ def get_hypervisor_version(self):
+ return 13091
+
+ def test_update_status(self):
+ self.mox.StubOutWithMock(connection, 'get_connection')
+ connection.get_connection(True).AndReturn(self.FakeConnection())
+
+ self.mox.ReplayAll()
+ hs = connection.HostState(True)
+ stats = hs._stats
+ self.assertEquals(stats["vcpus"], 1)
+ self.assertEquals(stats["vcpus_used"], 0)
+ self.assertEquals(stats["cpu_info"], \
+ {"vendor": "Intel", "model": "pentium", "arch": "i686",
+ "features": ["ssse3", "monitor", "pni", "sse2", "sse", "fxsr",
+ "clflush", "pse36", "pat", "cmov", "mca", "pge",
+ "mtrr", "sep", "apic"],
+ "topology": {"cores": "1", "threads": "1", "sockets": "1"}
+ })
+ self.assertEquals(stats["disk_total"], 100)
+ self.assertEquals(stats["disk_used"], 20)
+ self.assertEquals(stats["disk_available"], 80)
+ self.assertEquals(stats["host_memory_total"], 497)
+ self.assertEquals(stats["host_memory_free"], 409)
+ self.assertEquals(stats["hypervisor_type"], 'QEMU')
+ self.assertEquals(stats["hypervisor_version"], 13091)
+
+
class NWFilterFakes:
def __init__(self):
self.filters = {}