bitkeeper revision 1.1159.118.1 (417793c6qIRlR7frVP0OIQu1cEa0Tg)

Merge http://xen.bkbits.net:8080/xeno-unstable.bk
into gandalf.hpl.hp.com:/var/bk/xeno-unstable.bk
This commit is contained in:
xenbk@gandalf.hpl.hp.com committed 2004-10-21 10:47:34 +00:00
commit 301524ab4b
3 files changed
+26 -8

No files matched your search

+19 -6
View File
@@ -288,6 +288,18 @@ def append_deferred(dlist, v):
if isinstance(v, defer.Deferred):
dlist.append(v)
def dlist_err(val):
"""Error callback suitable for a deferred list.
In a deferred list the error callback is called with with Failure((error, index)).
This callback extracts the error and returns it.
@param val: Failure containing (error, index)
@type val: twisted.internet.failure.Failure
"""
(error, index) = val.value
return error
class XendDomainInfo:
"""Virtual machine object."""
@@ -701,6 +713,10 @@ class XendDomainInfo:
"""Build the domain boot image.
"""
if self.recreate or self.restore: return
if not os.path.isfile(kernel):
raise VmError('Kernel image does not exist: %s' % kernel)
if ramdisk and not os.path.isfile(ramdisk):
raise VmError('Kernel ramdisk does not exist: %s' % ramdisk)
if len(cmdline) >= 256:
log.warning('kernel cmdline too long, domain %d', self.dom)
dom = self.dom
@@ -726,11 +742,6 @@ class XendDomainInfo:
@param ramdisk: kernel ramdisk
@param cmdline: kernel commandline
"""
if not self.recreate:
if not os.path.isfile(kernel):
raise VmError('Kernel image does not exist: %s' % kernel)
if ramdisk and not os.path.isfile(ramdisk):
raise VmError('Kernel ramdisk does not exist: %s' % ramdisk)
#self.init_domain()
if self.console:
self.console.registerChannel()
@@ -763,6 +774,7 @@ class XendDomainInfo:
append_deferred(dlist, v)
index[dev_name] = dev_index + 1
deferred = defer.DeferredList(dlist, fireOnOneErrback=1)
deferred.addErrback(dlist_err)
return deferred
def device_create(self, dev_config):
@@ -994,6 +1006,7 @@ class XendDomainInfo:
log.warning("Unknown config field %s", field_name)
index[field_name] = field_index + 1
d = defer.DeferredList(dlist, fireOnOneErrback=1)
d.addErrback(dlist_err)
return d
@@ -1007,7 +1020,7 @@ def vm_image_linux(vm, image):
"""
kernel = sxp.child_value(image, "kernel")
cmdline = ""
ip = sxp.child_value(image, "ip", "dhcp")
ip = sxp.child_value(image, "ip", None)
if ip:
cmdline += " ip=" + ip
root = sxp.child_value(image, "root")
@@ -5,6 +5,7 @@ from StringIO import StringIO
from twisted.protocols import http
from twisted.web import error
from twisted.python.failure import Failure
from xen.xend import sxp
from xen.xend import XendDomain
@@ -94,6 +95,8 @@ class SrvDomainDir(SrvDir):
def _op_create_err(self, err, req):
"""Callback to handle errors in deferred domain creation.
"""
if isinstance(err, Failure):
err = err.getErrorMessage()
print 'op_create> Deferred Exception creating domain:', err
req.setResponseCode(http.BAD_REQUEST, "Error creating domain: " + str(err))
return str(err)
@@ -127,6 +130,8 @@ class SrvDomainDir(SrvDir):
return val
def _op_restore_err(self, err, req):
if isinstance(err, Failure):
err = err.getErrorMessage()
print 'op_create> Deferred Exception restoring domain:', err
req.setResponseCode(http.BAD_REQUEST, "Error restoring domain: "+ str(err))
return str(err)
+2 -2
View File
@@ -340,8 +340,8 @@ class BlkDev(controller.SplitDev):
val = unpackMsg('blkif_be_vbd_grow_t', msg)
status = val['status']
if status != BLKIF_BE_STATUS_OKAY:
raise XendError("Adding extent to vbd failed: device %d, error %d"
% (self.vdev, status))
raise XendError("Adding extent to vbd failed: device %s, error %d"
% (sxp.to_string(self.config), status))
return self
def send_be_vbd_destroy(self):
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.