本文整理汇总了Python中xen.xend.server.DevController.DevController.destroyDevice方法的典型用法代码示例。如果您正苦于以下问题:Python DevController.destroyDevice方法的具体用法?Python DevController.destroyDevice怎么用?Python DevController.destroyDevice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xen.xend.server.DevController.DevController
的用法示例。
在下文中一共展示了DevController.destroyDevice方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: destroyDevice
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import destroyDevice [as 别名]
def destroyDevice(self, devid):
try:
DevController.destroyDevice(self, int(devid))
time.sleep(5)
t = xstransact()
frontpath = self.frontendPath(int(devid))
backpath = t.Read(frontpath, "backend")
if backpath:
t.Remove(backpath)
log.debug("in try: removed %s" % backpath)
t.Remove(frontpath)
log.debug("in try: removed %s" % frontpath)
except ValueError:
devid_end = type(devid) is str and devid.split("/")[-1] or None
for i in self.deviceIDs():
d = self.readBackend(i, "dev")
if d == devid or (devid_end and d == devid_end):
DevController.destroyDevice(self, i)
time.sleep(5)
frontpath = self.frontendPath(int(devid))
backpath = t.Read(frontpath, "backend")
if backpath:
t.Remove(backpath)
log.debug("in err: removed %s" % backpath)
t.Remove(frontpath)
log.debug("in err: removed %s" % frontpath)
return
raise VmError("Device %s not connected" % devid)
示例2: destroyDevice
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import destroyDevice [as 别名]
def destroyDevice(self, devid):
try:
DevController.destroyDevice(self, int(devid))
except ValueError:
devid_end = type(devid) is str and devid.split('/')[-1] or None
for i in self.deviceIDs():
d = self.readBackend(i, 'dev')
if d == devid or (devid_end and d == devid_end):
DevController.destroyDevice(self, i)
return
raise VmError("Device %s not connected" % devid)
示例3: destroyDevice
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import destroyDevice [as 别名]
def destroyDevice(self, devid):
"""@see DevController.destroyDevice"""
# If we are given a device name, then look up the device ID from it,
# and destroy that ID instead. If what we are given is an integer,
# then assume it's a device ID and pass it straight through to our
# superclass's method.
try:
DevController.destroyDevice(self, int(devid))
except ValueError:
devid_end = type(devid) is str and devid.split('/')[-1] or None
for i in self.deviceIDs():
d = self.readBackend(i, 'dev')
if d == devid or (devid_end and d == devid_end):
DevController.destroyDevice(self, i)
return
raise VmError("Device %s not connected" % devid)
示例4: destroyDevice
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import destroyDevice [as 别名]
def destroyDevice(self, devid, force):
"""@see DevController.destroyDevice"""
# vbd device IDs can be either string or integer. Further, the
# following string values are possible:
# - devicetype/deviceid (vbd/51728)
# - devicetype/devicename (/dev/xvdb)
# - devicename (xvdb)
# Let our superclass handle integer or devicetype/deviceid forms.
# If we are given a device name form, then look up the device ID
# from it, and destroy that ID instead.
try:
DevController.destroyDevice(self, devid, force)
except ValueError:
dev = self.convertToDeviceNumber(devid)
for i in self.deviceIDs():
if i == dev:
DevController.destroyDevice(self, i, force)
return
raise VmError("Device %s not connected" % devid)
示例5: destroyDevice
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import destroyDevice [as 别名]
def destroyDevice(self, devid, force):
DevController.destroyDevice(self, devid, True)
log.debug('pci: unregister aer watch')
self.unwatchAerState()
示例6: destroyDevice
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import destroyDevice [as 别名]
def destroyDevice(self, devid, force):
# remove the backend xenstore entries no matter what
# because we kill qemu-dm with extreme prejudice
# not giving it a chance to remove them itself
DevController.destroyDevice(self, devid, True)