本文整理汇总了Python中xmlbuilder.XMLBuilder.disk方法的典型用法代码示例。如果您正苦于以下问题:Python XMLBuilder.disk方法的具体用法?Python XMLBuilder.disk怎么用?Python XMLBuilder.disk使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xmlbuilder.XMLBuilder
的用法示例。
在下文中一共展示了XMLBuilder.disk方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: build_snapshot_xml
# 需要导入模块: from xmlbuilder import XMLBuilder [as 别名]
# 或者: from xmlbuilder.XMLBuilder import disk [as 别名]
def build_snapshot_xml(self, name=None, description=None, node=None,
disk_only=False, external=False, external_dir=None):
"""Generate snapshot XML
:rtype : String
:type name: String
:type description: String
"""
xml_builder = XMLBuilder('domainsnapshot')
if name is not None:
xml_builder.name(name)
if description is not None:
xml_builder.description(description)
if external:
domain = self.driver.conn.lookupByUUIDString(node.uuid)
# Add memory file for active machines
if domain.isActive() and not disk_only:
memory_file = '{0}/snapshot-memory-{1}_{2}.{3}'.format(
external_dir,
node.environment.name,
node.name,
name)
file_count = 0
tmp_memory_file = memory_file
while os.path.exists(tmp_memory_file):
tmp_memory_file = memory_file + '-' + str(file_count)
file_count += 1
xml_builder.memory(
file=tmp_memory_file,
snapshot='external')
else:
xml_builder.memory(snapshot='no')
for disk in node.disk_devices:
if disk.device == 'disk':
with xml_builder.disks:
xml_builder.disk(name=disk.target_dev,
file=disk.volume.get_path(),
snapshot='external')
return str(xml_builder)
示例2: build_node_xml
# 需要导入模块: from xmlbuilder import XMLBuilder [as 别名]
# 或者: from xmlbuilder.XMLBuilder import disk [as 别名]
def build_node_xml(self, node, spec):
node_xml = XMLBuilder("domain", type=spec.hypervisor)
node_xml.name(node.id)
node_xml.vcpu(str(node.cpu))
node_xml.memory(str(node.memory * 1024), unit='KiB')
with node_xml.os:
node_xml.type(spec.os_type, arch=node.arch)
for boot_dev in node.boot:
if boot_dev == 'disk':
node_xml.boot(dev="hd")
else:
node_xml.boot(dev=boot_dev)
ide_disk_names = deque(
['hd' + c for c in list('abcdefghijklmnopqrstuvwxyz')])
serial_disk_names = deque(
['sd' + c for c in list('abcdefghijklmnopqrstuvwxyz')])
def disk_name(bus='ide'):
if str(bus) == 'ide':
return ide_disk_names.popleft()
return serial_disk_names.popleft()
with node_xml.devices:
node_xml.emulator(spec.emulator)
if len(node.disks) > 0:
node_xml.controller(type="ide")
for disk in node.disks:
with node_xml.disk(type="file", device="disk"):
node_xml.driver(
name="qemu", type=disk.format,
cache="unsafe")
node_xml.source(file=disk.path)
node_xml.target(dev=disk_name(disk.bus), bus=disk.bus)
if node.cdrom:
with node_xml.disk(type="file", device="cdrom"):
node_xml.driver(name="qemu", type="raw")
node_xml.source(file=node.cdrom.isopath)
node_xml.target(
dev=disk_name(node.cdrom.bus),
bus=node.cdrom.bus)
for interface in node.interfaces:
with node_xml.interface(type="network"):
node_xml.source(network=interface.network.id)
if not (interface.type is None):
node_xml.model(type=interface.type)
for interface in node.bridged_interfaces:
with node_xml.interface(type="bridge"):
node_xml.source(bridge=interface.bridge)
if not (interface.type is None):
node_xml.model(type=interface.type)
if node.vnc:
node_xml.graphics(type='vnc', listen='0.0.0.0', autoport='yes')
return str(node_xml)