When defining new domains containing more than one tap device, only the
first has 'bootable' entry set. Subsequent tap devices have no bootable
entry and generate a KeyError when the entry is accessed in
XendDomainInfo._configureBootloader, e.g.
[2007-04-30 15:34:47 4147] ERROR (xmlrpclib2:178) Internal error
handling xend.domain.start
Traceback (most recent call last):
File "/usr/lib64/python2.4/site-packages/xen/util/xmlrpclib2.py", line
131, in _marshaled_dispatch
response = self._dispatch(method, params)
File "/usr/lib64/python2.4/SimpleXMLRPCServer.py", line 406, in _dispatch
return func(*params)
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomain.py", line
985, in domain_start
dominfo.start(is_managed = True)
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 396, in start
XendTask.log_progress(31, 60, self._initDomain)
File "/usr/lib64/python2.4/site-packages/xen/xend/XendTask.py", line
209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 1487, in _initDomain
self._configureBootloader()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
line 1806, in _configureBootloader
disks = [x for x in self.info['vbd_refs']
KeyError: 'bootable'
This patch adds to the 'compat hack' in XendConfig.py, ensuring a
bootable entry exists for all tap devices.
Regards,
Jim
# HG changeset patch
# User Jim Fehlig <jfehlig@xxxxxxxxxx>
# Date 1177975982 21600
# Node ID d89ce902508ed4d5f1afa1fbb85b30a6a9ed805e
# Parent 0f9b97523450aae06d42852bdac9bbca3d6033d1
Ensure 'bootable' entry is set for domains containing multiple tap devices.
When defining new domains containing more than one tap device, only the first
has 'bootable' entry set. Subsequent tap devices have no bootable entry and
generate a KeyError when the entry is accessed in
XendDomainInfo._configureBootloader.
Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxxxx>
diff -r 0f9b97523450 -r d89ce902508e tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py Sat Apr 28 09:44:24 2007 +0100
+++ b/tools/python/xen/xend/XendConfig.py Mon Apr 30 17:33:02 2007 -0600
@@ -1001,6 +1001,8 @@ class XendConfig(dict):
# Compat hack -- this is the first disk, so mark it
# bootable.
dev_info['bootable'] = 1
+ else:
+ dev_info['bootable'] = 0
target['vbd_refs'].append(dev_uuid)
elif dev_type == 'vfb':
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|