def testAddRemoveDevices(self): guest, outfile = self._get_test_content("add-devices") # Basic removal of existing device rmdev = guest.get_devices("disk")[2] guest.remove_device(rmdev) # Basic device add guest.add_device(virtinst.VirtualWatchdog(conn)) # Test adding device with child properties (address value) adddev = virtinst.VirtualNetworkInterface(conn=conn) adddev.type = "network" adddev.source = "default" adddev.macaddr = "1A:2A:3A:4A:5A:6A" adddev.address.set_addrstr("spapr-vio") # Test adding and removing the same device guest.add_device(adddev) guest.remove_device(adddev) guest.add_device(adddev) # Test adding device built from parsed XML guest.add_device( virtinst.VirtualAudio(conn, parsexml="""<sound model='pcspk'/>""")) self._alter_compare(guest.get_xml_config(), outfile)
def define_domain(self, config, meter): location = None extra = None kickstart = None if config.get_install_type() == DomainConfig.LOCAL_INSTALL: if config.get_use_cdrom_source(): iclass = virtinst.DistroInstaller location = config.get_install_media() else: iclass = virtinst.LiveCDInstaller location = config.get_iso_path() elif config.get_install_type() == DomainConfig.NETWORK_INSTALL: iclass = virtinst.DistroInstaller location = config.get_install_url() extra = config.get_kernel_options() kickstart = config.get_kickstart_url() elif config.get_install_type() == DomainConfig.PXE_INSTALL: iclass = virtinst.PXEInstaller installer = iclass(conn=self.__conn, type=self.get_hypervisor(config.get_virt_type()), os_type=self.get_os_type(config.get_virt_type())) self.__guest = installer.guest_from_installer() self.__guest.name = config.get_guest_name() self.__guest.vcpus = config.get_cpus() self.__guest.memory = config.get_memory() self.__guest.maxmemory = config.get_memory() self.__guest.installer.location = location if config.get_use_cdrom_source(): self.__guest.installer.cdrom = True extraargs = "" if extra: extraargs += extra if kickstart: extraargs += " ks=%s" % kickstart if extraargs: self.__guest.installer.extraarags = extraargs self.__guest.uuid = virtinst.util.uuidToString( virtinst.util.randomUUID()) if config.get_os_type() != "generic": self.__guest.os_type = config.get_os_type() if config.get_os_variant() != "generic": self.__guest.os_variant = config.get_os_variant() self.__guest._graphics_dev = virtinst.VirtualGraphics( type=virtinst.VirtualGraphics.TYPE_VNC) self.__guest.sound_devs = [] self.__guest.sound_devs.append(virtinst.VirtualAudio(model="es1370")) #ÉèÖÃÍø¿¨ self._setup_nics(config) self._setup_disks(config) self.__guest.conn = self.__conn self.__domain = self.__guest.start_install(False, meter=meter)
def testAddRemoveDevices(self): guest, outfile = self._get_test_content("add-devices") rmdev = guest.get_devices("disk")[2] guest.remove_device(rmdev) adddev = virtinst.VirtualNetworkInterface(conn=conn) adddev.type = "network" adddev.source = "default" adddev.macaddr = "1A:2A:3A:4A:5A:6A" adddev.address.set_addrstr("spapr-vio") guest.add_device(virtinst.VirtualWatchdog(conn)) guest.add_device(adddev) guest.remove_device(adddev) guest.add_device(adddev) guest.add_device( virtinst.VirtualAudio(conn, parsexml="""<sound model='pcspk'/>""")) self._alter_compare(guest.get_xml_config(), outfile)
def _make_guest(installer=None, conn=None, os_variant=None): if conn is None: conn = _default_conn g = conn.caps.lookup_virtinst_guest() g.type = "kvm" g.name = "TestGuest" g.memory = int(200 * 1024) g.maxmemory = int(400 * 1024) g.uuid = "12345678-1234-1234-1234-123456789012" gdev = virtinst.VirtualGraphics(conn) gdev.type = "vnc" gdev.keymap = "ja" g.add_device(gdev) g.features.pae = False g.vcpus = 5 if not installer: installer = _make_installer(conn=conn) g.installer = installer g.emulator = "/usr/lib/xen/bin/qemu-dm" g.os.arch = "i686" g.os.os_type = "hvm" if os_variant: g.os_variant = os_variant g.add_default_input_device() g.add_default_console_device() g.add_device(virtinst.VirtualAudio(g.conn)) # Floppy disk path = "/dev/default-pool/testvol1.img" d = VirtualDisk(conn) d.path = path d.device = d.DEVICE_FLOPPY d.validate() g.add_device(d) # File disk path = "/dev/default-pool/new-test-suite.img" d = virtinst.VirtualDisk(conn) d.path = path if d.wants_storage_creation(): parent_pool = d.get_parent_pool() vol_install = virtinst.VirtualDisk.build_vol_install(conn, os.path.basename(path), parent_pool, .0000001, True) d.set_vol_install(vol_install) d.validate() g.add_device(d) # Block disk path = "/dev/disk-pool/diskvol1" d = virtinst.VirtualDisk(conn) d.path = path d.validate() g.add_device(d) # Network device dev = virtinst.VirtualNetworkInterface(conn) dev.macaddr = "22:22:33:44:55:66" dev.type = virtinst.VirtualNetworkInterface.TYPE_VIRTUAL dev.source = "default" g.add_device(dev) return g