本文整理汇总了Python中xen.xend.server.DevController.DevController.getDeviceConfiguration方法的典型用法代码示例。如果您正苦于以下问题:Python DevController.getDeviceConfiguration方法的具体用法?Python DevController.getDeviceConfiguration怎么用?Python DevController.getDeviceConfiguration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xen.xend.server.DevController.DevController
的用法示例。
在下文中一共展示了DevController.getDeviceConfiguration方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
result = DevController.getDeviceConfiguration(self, devid, transaction)
if transaction is None:
devinfo = self.readBackend(devid, *CONFIG_ENTRIES)
else:
devinfo = self.readBackendTxn(transaction, devid, *CONFIG_ENTRIES)
return dict([(CONFIG_ENTRIES[i], devinfo[i])
for i in range(len(CONFIG_ENTRIES))
if devinfo[i] is not None])
示例2: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
result = DevController.getDeviceConfiguration(self, devid, transaction)
if transaction is None:
devinfo = self.readBackend(devid, *self.valid_cfg)
else:
devinfo = self.readBackendTxn(transaction, devid, *self.valid_cfg)
config = dict(zip(self.valid_cfg, devinfo))
config = dict([(key, val) for key, val in config.items()
if val != None])
return config
示例3: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
"""@see DevController.configuration"""
result = DevController.getDeviceConfiguration(self, devid, transaction)
for x in ( 'script', 'ip', 'bridge', 'mac',
'type', 'vifname', 'rate', 'uuid', 'model', 'accel',
'security_label'):
if transaction is None:
y = self.readBackend(devid, x)
else:
y = self.readBackendTxn(transaction, devid, x)
if y:
result[x] = y
return result
示例4: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
"""@see DevController.configuration"""
if transaction is None:
read_fn = xstransact.Read
else:
read_fn = transaction.read
def front_read(x):
return read_fn(frontpath + x)
def back_read(x):
return read_fn(backpath + x)
result = DevController.getDeviceConfiguration(self, devid, transaction)
dev = self.convertToDeviceNumber(devid)
frontpath = self.frontendPath(dev) + "/"
backpath = front_read("backend") + "/"
front_mac = front_read("mac")
back_mac = back_read("mac")
front_trusted = back_read("remote-trusted")
back_trusted = back_read("local-trusted")
max_bypasses = back_read("max-bypasses")
bridge = back_read("bridge")
pdev = back_read("pdev")
if front_mac:
result["front_mac"] = front_mac
if back_mac:
result["back_mac"] = back_mac
if front_trusted:
result["front_trusted"] = front_trusted
if back_trusted:
result["back_trusted"] = back_trusted
if bridge:
result["bridge"] = bridge
if pdev:
result["pdev"] = pdev
if max_bypasses:
result["max-bypasses"] = max_bypasses
return result
示例5: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
"""@see DevController.configuration"""
config = DevController.getDeviceConfiguration(self, devid, transaction)
if transaction is None:
hcinfo = self.readBackend(devid, 'usb-ver', 'num-ports')
else:
hcinfo = self.readBackendTxn(transaction, devid,
'usb-ver', 'num-ports')
(usbver, numports) = hcinfo
config['usb-ver'] = str(usbver)
config['num-ports'] = str(numports)
for i in range(1, int(numports) + 1):
if transaction is None:
config['port-%i' % i] = self.readBackend(devid, 'port/%i' % i)
else:
config['port-%i' % i] = self.readBackendTxn(transaction, devid,
'port/%i' % i)
return config
示例6: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
"""@see DevController.configuration"""
result = DevController.getDeviceConfiguration(self, devid, transaction)
config_path = "device/%s/%d/" % (self.deviceClass, devid)
devinfo = ()
for x in ( 'script', 'ip', 'bridge', 'mac',
'type', 'vifname', 'rate', 'uuid', 'model', 'accel',
'security_label'):
if transaction is None:
y = self.vm._readVm(config_path + x)
else:
y = self.vm._readVmTxn(transaction, config_path + x)
devinfo += (y,)
(script, ip, bridge, mac, typ, vifname, rate, uuid,
model, accel, security_label) = devinfo
if script:
result['script'] = script
if ip:
result['ip'] = ip
if bridge:
result['bridge'] = bridge
if mac:
result['mac'] = mac
if typ:
result['type'] = typ
if vifname:
result['vifname'] = vifname
if rate:
result['rate'] = rate
if uuid:
result['uuid'] = uuid
if model:
result['model'] = model
if accel:
result['accel'] = accel
if security_label:
result['security_label'] = security_label
return result
示例7: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
result = DevController.getDeviceConfiguration(self, devid, transaction)
num_devs = self.readBackend(devid, 'num_devs')
pci_devs = []
vslots = self.readBackend(devid, 'vslots')
if vslots is not None:
if vslots[-1] == ";":
vslots = vslots[:-1]
slot_list = vslots.split(';')
for i in range(int(num_devs)):
dev_config = self.readBackend(devid, 'dev-%d' % i)
pci_match = re.match(r"((?P<domain>[0-9a-fA-F]{1,4})[:,])?" +
r"(?P<bus>[0-9a-fA-F]{1,2})[:,]" +
r"(?P<slot>[0-9a-fA-F]{1,2})[.,]" +
r"(?P<func>[0-7]{1,2})$", dev_config)
if pci_match!=None:
pci_dev_info = pci_match.groupdict()
dev_dict = {'domain': '0x%(domain)s' % pci_dev_info,
'bus': '0x%(bus)s' % pci_dev_info,
'slot': '0x%(slot)s' % pci_dev_info,
'func': '0x%(func)s' % pci_dev_info}
# Per device uuid info
dev_dict['uuid'] = self.readBackend(devid, 'uuid-%d' % i)
#append vslot info
if vslots is not None:
try:
dev_dict['vslt'] = slot_list[i]
except IndexError:
dev_dict['vslt'] = '0x0'
pci_devs.append(dev_dict)
result['devs'] = pci_devs
result['uuid'] = self.readBackend(devid, 'uuid')
return result
示例8: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction=None):
"""Returns the configuration of a device"""
result = DevController.getDeviceConfiguration(self, devid, transaction)
(instance, uuid, type) = self.readBackend(devid, "instance", "uuid", "type")
if instance:
result["instance"] = instance
if uuid:
result["uuid"] = uuid
if type:
result["type"] = type
if uuid:
data = self.vm.info["devices"].get(uuid)
if data:
other = data[1].get("other_config")
if other:
result["other_config"] = other
return result
示例9: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction=None):
config = DevController.getDeviceConfiguration(self, devid, transaction)
vscsi_devs = []
devs = self.readBackendList(devid, "vscsi-devs")
vscsipath = "vscsi-devs/"
for dev in devs:
devpath = vscsipath + dev
pdev = self.readBackend(devid, devpath + "/p-dev")
pdevname = self.readBackend(devid, devpath + "/p-devname")
vdev = self.readBackend(devid, devpath + "/v-dev")
state = self.readBackend(devid, devpath + "/state")
localdevid = self.readBackend(devid, devpath + "/devid")
dev_dict = {"p-dev": pdev, "p-devname": pdevname, "v-dev": vdev, "state": state, "devid": localdevid}
vscsi_devs.append(dev_dict)
config["devs"] = vscsi_devs
config["feature-host"] = self.readBackend(devid, "feature-host")
config["uuid"] = self.readBackend(devid, "uuid")
return config
示例10: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
"""Returns the configuration of a device.
@note: Similar to L{configuration} except it returns a dict.
@return: dict
"""
config = DevController.getDeviceConfiguration(self, devid, transaction)
if transaction is None:
devinfo = self.readBackend(devid, 'dev', 'type', 'params', 'mode',
'uuid', 'bootable')
else:
devinfo = self.readBackendTxn(transaction, devid,
'dev', 'type', 'params', 'mode', 'uuid',
'bootable')
dev, typ, params, mode, uuid, bootable = devinfo
if dev:
if transaction is None:
dev_type = self.readFrontend(devid, 'device-type')
else:
dev_type = self.readFrontendTxn(transaction, devid, 'device-type')
if dev_type:
dev += ':' + dev_type
config['dev'] = dev
if typ and params:
config['uname'] = typ +':' + params
else:
config['uname'] = None
if mode:
config['mode'] = mode
if uuid:
config['uuid'] = uuid
if bootable != None:
config['bootable'] = int(bootable)
proto = self.readFrontend(devid, 'protocol')
if proto:
config['protocol'] = proto
return config
示例11: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
result = DevController.getDeviceConfiguration(self, devid, transaction)
num_devs = self.readBackend(devid, 'num_devs')
pci_devs = []
for i in range(int(num_devs)):
dev_config = self.readBackend(devid, 'dev-%d' % i)
pci_match = re.match(r"((?P<domain>[0-9a-fA-F]{1,4})[:,])?" +
r"(?P<bus>[0-9a-fA-F]{1,2})[:,]" +
r"(?P<slot>[0-9a-fA-F]{1,2})[.,]" +
r"(?P<func>[0-9a-fA-F]{1,2})", dev_config)
if pci_match!=None:
pci_dev_info = pci_match.groupdict()
pci_devs.append({'domain': '0x%(domain)s' % pci_dev_info,
'bus': '0x%(bus)s' % pci_dev_info,
'slot': '0x%(slot)s' % pci_dev_info,
'func': '0x%(func)s' % pci_dev_info})
result['devs'] = pci_devs
result['uuid'] = self.readBackend(devid, 'uuid')
return result
示例12: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
result = DevController.getDeviceConfiguration(self, devid, transaction)
num_devs = self.readBackend(devid, 'num_devs')
pci_devs = []
for i in range(int(num_devs)):
pci_dev = parse_pci_name(self.readBackend(devid, 'dev-%d' % i))
# Per device uuid info
pci_dev['uuid'] = self.readBackend(devid, 'uuid-%d' % i)
pci_dev['key'] = self.readBackend(devid, 'key-%d' % i)
pci_dev['vdevfn'] = '0x%s' % self.readBackend(devid,
'vdevfn-%d' % i)
#append opts info
opts = self.readBackend(devid, 'opts-%d' % i)
if opts is not None:
pci_dev['opts'] = opts
pci_devs.append(pci_dev)
result['devs'] = pci_devs
result['uuid'] = self.readBackend(devid, 'uuid')
return result
示例13: getDeviceConfiguration
# 需要导入模块: from xen.xend.server.DevController import DevController [as 别名]
# 或者: from xen.xend.server.DevController.DevController import getDeviceConfiguration [as 别名]
def getDeviceConfiguration(self, devid, transaction = None):
config = DevController.getDeviceConfiguration(self, devid, transaction)
vscsi_devs = []
devs = self.readBackendList(devid, "vscsi-devs")
vscsipath = "vscsi-devs/"
for dev in devs:
devpath = vscsipath + dev
pdev = self.readBackend(devid, devpath + '/p-dev')
pdevname = self.readBackend(devid, devpath + '/p-devname')
vdev = self.readBackend(devid, devpath + '/v-dev')
state = self.readBackend(devid, devpath + '/state')
localdevid = self.readBackend(devid, devpath + '/devid')
dev_dict = {'p-dev': pdev,
'p-devname': pdevname,
'v-dev': pdevname,
'state': state,
'devid': localdevid }
vscsi_devs.append(dev_dict)
config['devs'] = vscsi_devs
config['uuid'] = self.readBackend(devid, 'uuid')
return config