def get_vm_disk_xml(dev_type, dev_name, **options): """ Create a disk xml object and return it. :param dev_type. Disk type. :param dev_name. Disk device name. :param options. Disk options. :return: Disk xml object. """ # Create disk xml disk_xml = Disk(type_name=dev_type) disk_xml.device = options["disk_device"] if "sgio" in options and options["sgio"] != "": disk_xml.sgio = options["sgio"] disk_xml.device = "lun" disk_xml.rawio = "no" if dev_type == "block": disk_attr = "dev" else: disk_attr = "file" disk_xml.target = {'dev': options["target"], 'bus': options["bus"]} disk_xml.source = disk_xml.new_disk_source( **{'attrs': { disk_attr: dev_name }}) # Add driver options from parameters. driver_dict = {"name": "qemu"} if "driver" in options: for driver_option in options["driver"].split(','): if driver_option != "": d = driver_option.split('=') logging.debug("disk driver option: %s=%s", d[0], d[1]) driver_dict.update({d[0].strip(): d[1].strip()}) disk_xml.driver = driver_dict if "share" in options: if options["share"] == "shareable": disk_xml.share = True if "readonly" in options: if options["readonly"] == "readonly": disk_xml.readonly = True logging.debug("The disk xml is: %s" % disk_xml.xmltreefile) return disk_xml
def get_vm_disk_xml(dev_type, dev_name, **options): """ Create a disk xml object and return it. :param dev_type. Disk type. :param dev_name. Disk device name. :param options. Disk options. :return: Disk xml object. """ # Create disk xml disk_xml = Disk(type_name=dev_type) disk_xml.device = options["disk_device"] if options.has_key("sgio") and options["sgio"] != "": disk_xml.sgio = options["sgio"] disk_xml.device = "lun" disk_xml.rawio = "no" if dev_type == "block": disk_attr = "dev" else: disk_attr = "file" disk_xml.target = {'dev': options["target"], 'bus': options["bus"]} disk_xml.source = disk_xml.new_disk_source( **{'attrs': {disk_attr: dev_name}}) # Add driver options from parameters. driver_dict = {"name": "qemu"} if options.has_key("driver"): for driver_option in options["driver"].split(','): if driver_option != "": d = driver_option.split('=') logging.debug("disk driver option: %s=%s", d[0], d[1]) driver_dict.update({d[0].strip(): d[1].strip()}) disk_xml.driver = driver_dict if options.has_key("share"): if options["share"] == "shareable": disk_xml.share = True if options.has_key("readonly"): if options["readonly"] == "readonly": disk_xml.readonly = True logging.debug("The disk xml is: %s" % disk_xml.xmltreefile) return disk_xml
def add_cdrom_device(v_xml, iso_file, target_dev, device_bus): """ Add cdrom disk in VM XML :param v_xml: The instance of VMXML class :param iso_file: The iso file path :param target_dev: The target dev in Disk XML :param device_bus: The target bus in Disk XML """ disk_xml = Disk(type_name="file") disk_xml.device = "cdrom" disk_xml.target = {"dev": target_dev, "bus": device_bus} disk_xml.driver = {"name": "qemu", "type": "raw"} src_dict = {"file": iso_file} disk_xml.source = disk_xml.new_disk_source(**{"attrs": src_dict}) disk_xml.readonly = False v_xml.add_device(disk_xml) return v_xml
def add_cdrom_device(v_xml, iso_file, target_dev, device_bus): """ Add cdrom disk in VM XML :param v_xml: The instance of VMXML class :param iso_file: The iso file path :param target_dev: The target dev in Disk XML :param device_bus: The target bus in Disk XML """ disk_xml = Disk(type_name="file") disk_xml.device = "cdrom" disk_xml.target = {"dev": target_dev, "bus": device_bus} disk_xml.driver = {"name": "qemu", "type": "raw"} src_dict = {"file": iso_file} disk_xml.source = disk_xml.new_disk_source( **{"attrs": src_dict}) disk_xml.readonly = False v_xml.add_device(disk_xml) return v_xml
"logical_block_size": logical_block_size, "physical_block_size": physical_block_size } if wwn != "": disk_xml.wwn = wwn if serial != "": disk_xml.serial = serial if vendor != "": disk_xml.vendor = vendor if product != "": disk_xml.product = product disk_xml.target = {"dev": device_targets[i], "bus": device_bus[i]} if len(device_readonly) > i: disk_xml.readonly = "yes" == device_readonly[i] # Add driver options from parameters driver_dict = {"name": "qemu"} if len(driver_options) > i: for driver_option in driver_options[i].split(','): if driver_option != "": d = driver_option.split('=') driver_dict.update({d[0].strip(): d[1].strip()}) disk_xml.driver = driver_dict # Add disk address from parameters. if len(device_address) > i: addr_dict = {} for addr_option in device_address[i].split(','): if addr_option != "":
if test_block_size: disk_xml.blockio = {"logical_block_size": logical_block_size, "physical_block_size": physical_block_size} if wwn != "": disk_xml.wwn = wwn if serial != "": disk_xml.serial = serial if vendor != "": disk_xml.vendor = vendor if product != "": disk_xml.product = product disk_xml.target = {"dev": device_targets[i], "bus": device_bus[i]} if len(device_readonly) > i: disk_xml.readonly = "yes" == device_readonly[i] # Add driver options from parameters driver_dict = {"name": "qemu"} if len(driver_options) > i: for driver_option in driver_options[i].split(','): if driver_option != "": d = driver_option.split('=') driver_dict.update({d[0].strip(): d[1].strip()}) disk_xml.driver = driver_dict # Add disk address from parameters. if len(device_address) > i: addr_dict = {} for addr_option in device_address[i].split(','): if addr_option != "":