From e2bf709a7f1b5a375e359f4a75512c76b36216a7 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 11 Dec 2012 17:37:22 +0000 Subject: Add support for parsing the from libvirt host capabilities The libvirt host capabilities provide a element which uniquely identifies the host platform. Change-Id: Ic619a24b4b90c757b868aa78396d6cdee56ccb4b Signed-off-by: Daniel P. Berrange --- nova/tests/test_libvirt_config.py | 2 ++ nova/virt/libvirt/config.py | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/nova/tests/test_libvirt_config.py b/nova/tests/test_libvirt_config.py index ed01cc4fd..e5ed1b528 100644 --- a/nova/tests/test_libvirt_config.py +++ b/nova/tests/test_libvirt_config.py @@ -65,6 +65,7 @@ class LibvirtConfigCapsTest(LibvirtConfigBaseTest): xmlin = """ + c7a5fdbd-edaf-9455-926a-d65c16db1809 x86_64 Opteron_G3 @@ -88,6 +89,7 @@ class LibvirtConfigCapsTest(LibvirtConfigBaseTest): obj.parse_str(xmlin) self.assertEqual(type(obj.host), config.LibvirtConfigCapsHost) + self.assertEqual(obj.host.uuid, "c7a5fdbd-edaf-9455-926a-d65c16db1809") xmlout = obj.to_xml() diff --git a/nova/virt/libvirt/config.py b/nova/virt/libvirt/config.py index 14d940269..7e27f3925 100644 --- a/nova/virt/libvirt/config.py +++ b/nova/virt/libvirt/config.py @@ -106,6 +106,7 @@ class LibvirtConfigCapsHost(LibvirtConfigObject): **kwargs) self.cpu = None + self.uuid = None def parse_dom(self, xmldoc): super(LibvirtConfigCapsHost, self).parse_dom(xmldoc) @@ -115,10 +116,14 @@ class LibvirtConfigCapsHost(LibvirtConfigObject): cpu = LibvirtConfigCPU() cpu.parse_dom(c) self.cpu = cpu + elif c.tag == "uuid": + self.uuid = c.text def format_dom(self): caps = super(LibvirtConfigCapsHost, self).format_dom() + if self.uuid: + caps.append(self._text_node("uuid", self.uuid)) if self.cpu: caps.append(self.cpu.format_dom()) -- cgit