def _make_disks(self): for drive in self.boot_caps.drives: path = self.image.abspath(drive.disk.file) size = None if drive.disk.size is not None: size = float(drive.disk.size) / 1024 # FIXME: This is awkward; the image should be able to express # whether the disk is expected to be there or not independently # of its classification, especially for user disks # FIXME: We ignore the target for the mapping in m.target if (drive.disk.use == Disk.USE_SYSTEM and not os.path.exists(path)): raise RuntimeError(_("System disk %s does not exist") % path) device = VirtualDisk.DEVICE_DISK if drive.disk.format == Disk.FORMAT_ISO: device = VirtualDisk.DEVICE_CDROM disk = VirtualDisk(self.conn) disk.path = path disk.device = device disk.target = drive.target disk.set_create_storage(size=size, fmt=drive.disk.format) disk.validate() self.install_devices.append(disk)
def testManyVirtio(self): d = VirtualDisk(conn=utils.get_conn(), bus="virtio", path="/default-pool/testvol1.img") targetlist = [] for ignore in range(0, (26 * 2) + 1): d.target = None d.generate_target(targetlist) targetlist.append(d.target) self.assertEquals("vdaa", targetlist[26]) self.assertEquals("vdba", targetlist[26 * 2])