New patch submitted by Saggi Mizrahi (smizrahi(a)redhat.com)
You can review this change at:
http://gerrit.usersys.redhat.com/886
commit 0589ac6f1edda30ecfcf026aca15e3551dbd87fa
Author: Saggi Mizrahi <smizrahi(a)redhat.com>
Date: Wed Aug 31 18:13:23 2011 +0300
BZ#734768 - Handle 'guest' element being missing in libvrit caps
Change-Id: Ia25d6e4abbf33da991bcb09fcb55b5bdbca512ec
diff --git a/vdsm/caps.py b/vdsm/caps.py
index 0a75510..37ffd3e 100644
--- a/vdsm/caps.py
+++ b/vdsm/caps.py
@@ -80,9 +80,14 @@ class CpuInfo(object):
def _getEmulatedMachines():
c = libvirtconnection.get()
caps = minidom.parseString(c.getCapabilities())
- return [ m.firstChild.toxml() for m
- in caps.getElementsByTagName('guest')[0]
- .getElementsByTagName('machine') ]
+ guestTag = caps.getElementsByTagName('guest')
+ # Guest element is missing if kvm modules are not loaded
+ if len(guestTag) == 0:
+ return []
+
+ guestTag = guestTag[0]
+
+ return [ m.firstChild.toxml() for m in
guestTag.getElementsByTagName('machine') ]
@utils.memoized
def _getCompatibleCpuModels():