diff options
Diffstat (limited to 'core/modules/qemu/runvirt-plugin-qemu/src/test')
11 files changed, 1567 insertions, 17 deletions
diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/AppTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/AppTest.java index 126fd26d..9f8f925f 100644 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/AppTest.java +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/AppTest.java @@ -63,7 +63,7 @@ public class AppTest assertTrue( shortHelpOptionCorrectOutput.contains( App.APP_DESC ) ); // test that no error was logged and output is available - assertEquals( 1641, shortHelpOptionCorrectOutput.length() ); + assertEquals( 2026, shortHelpOptionCorrectOutput.length() ); assertEquals( 0, shortHelpOptionCorrectErrOutput.length() ); } @@ -91,7 +91,7 @@ public class AppTest assertTrue( longHelpOptionCorrectOutput.contains( App.APP_DESC ) ); // test that no error was logged and output is available - assertEquals( 1641, longHelpOptionCorrectOutput.length() ); + assertEquals( 2026, longHelpOptionCorrectOutput.length() ); assertEquals( 0, longHelpOptionCorrectErrOutput.length() ); } @@ -119,7 +119,7 @@ public class AppTest assertTrue( shortHelpOptionIncorrectOutput.contains( App.APP_DESC ) ); // test that error was logged and output is available - assertEquals( 1641, shortHelpOptionIncorrectOutput.length() ); + assertEquals( 2026, shortHelpOptionIncorrectOutput.length() ); assertEquals( 0, shortHelpOptionIncorrectErrOutput.length() ); } @@ -147,7 +147,7 @@ public class AppTest assertTrue( longHelpOptionIncorrectOutput.contains( App.APP_DESC ) ); // test that error was logged and output is available - assertEquals( 1641, longHelpOptionIncorrectOutput.length() ); + assertEquals( 2026, longHelpOptionIncorrectOutput.length() ); assertEquals( 0, longHelpOptionIncorrectErrOutput.length() ); } diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/cmdln/CommandLineArgsTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/cmdln/CommandLineArgsTest.java index 1399f9a4..ee3e0d1d 100644 --- a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/cmdln/CommandLineArgsTest.java +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/cmdln/CommandLineArgsTest.java @@ -13,8 +13,8 @@ import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs.CmdLnOption; public class CommandLineArgsTest { // @formatter:off - private static final String CMDLN_PREFIX_OPTION_SHORT = "-"; - private static final String CMDLN_PREFIX_OPTION_LONG = "--"; + public static final String CMDLN_PREFIX_OPTION_SHORT = "-"; + public static final String CMDLN_PREFIX_OPTION_LONG = "--"; private static final String CMDLN_TEST_NAME = "test"; private static final String CMDLN_TEST_FILENAME = System.getProperty( "user.dir" ) + File.separator + CMDLN_TEST_NAME; @@ -25,7 +25,6 @@ public class CommandLineArgsTest private static final String CMDLN_TEST_PARPORT = "/dev/parport0"; private static final String CMDLN_TEST_SERPORT = "/dev/ttyS0"; private static final String CMDLN_TEST_MAC = "02:42:8e:77:1b:e6"; - private static final String CMDLN_TEST_AUDIO_MODEL = "sb16"; // @formatter:on @Test @@ -519,30 +518,114 @@ public class CommandLineArgsTest } @Test - @DisplayName( "Test the parsing of the VM first sound card type command line option (short version)" ) - public void testCmdlnOptionVmAudio0Short() throws CommandLineArgsException + @DisplayName( "Test the parsing of the VM first file system source command line option (short version)" ) + public void testCmdlnOptionVmFsSrc0Short() throws CommandLineArgsException { final String[] args = { - CMDLN_PREFIX_OPTION_SHORT + CmdLnOption.VM_AUDIO0.getShortOption(), - CMDLN_TEST_AUDIO_MODEL + CMDLN_PREFIX_OPTION_SHORT + CmdLnOption.VM_FSSRC0.getShortOption(), + CMDLN_TEST_FILENAME + }; + + CommandLineArgs cmdLn = new CommandLineArgs( args ); + + assertEquals( CMDLN_TEST_FILENAME, cmdLn.getVmFsSrc0() ); + } + + @Test + @DisplayName( "Test the parsing of the VM first file system source command line option (long version)" ) + public void testCmdlnOptionVmFsSrc0Long() throws CommandLineArgsException + { + final String[] args = { + CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC0.getLongOption(), + CMDLN_TEST_FILENAME + }; + + CommandLineArgs cmdLn = new CommandLineArgs( args ); + + assertEquals( CMDLN_TEST_FILENAME, cmdLn.getVmFsSrc0() ); + } + + @Test + @DisplayName( "Test the parsing of the VM first file system target command line option (short version)" ) + public void testCmdlnOptionVmFsTgt0Short() throws CommandLineArgsException + { + final String[] args = { + CMDLN_PREFIX_OPTION_SHORT + CmdLnOption.VM_FSTGT0.getShortOption(), + CMDLN_TEST_NAME + }; + + CommandLineArgs cmdLn = new CommandLineArgs( args ); + + assertEquals( CMDLN_TEST_NAME, cmdLn.getVmFsTgt0() ); + } + + @Test + @DisplayName( "Test the parsing of the VM first file system target command line option (long version)" ) + public void testCmdlnOptionVmFsTgt0Long() throws CommandLineArgsException + { + final String[] args = { + CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT0.getLongOption(), + CMDLN_TEST_NAME }; CommandLineArgs cmdLn = new CommandLineArgs( args ); - assertEquals( CMDLN_TEST_AUDIO_MODEL, cmdLn.getVmModelSoundCard0() ); + assertEquals( CMDLN_TEST_NAME, cmdLn.getVmFsTgt0() ); } @Test - @DisplayName( "Test the parsing of the VM first sound card type command line option (long version)" ) - public void testCmdlnOptionVmAudio0Long() throws CommandLineArgsException + @DisplayName( "Test the parsing of the VM second file system source command line option (short version)" ) + public void testCmdlnOptionVmFsSrc1Short() throws CommandLineArgsException { final String[] args = { - CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_AUDIO0.getLongOption(), - CMDLN_TEST_AUDIO_MODEL + CMDLN_PREFIX_OPTION_SHORT + CmdLnOption.VM_FSSRC1.getShortOption(), + CMDLN_TEST_FILENAME + }; + + CommandLineArgs cmdLn = new CommandLineArgs( args ); + + assertEquals( CMDLN_TEST_FILENAME, cmdLn.getVmFsSrc1() ); + } + + @Test + @DisplayName( "Test the parsing of the VM second file system source command line option (long version)" ) + public void testCmdlnOptionVmFsSrc1Long() throws CommandLineArgsException + { + final String[] args = { + CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC1.getLongOption(), + CMDLN_TEST_FILENAME + }; + + CommandLineArgs cmdLn = new CommandLineArgs( args ); + + assertEquals( CMDLN_TEST_FILENAME, cmdLn.getVmFsSrc1() ); + } + + @Test + @DisplayName( "Test the parsing of the VM second file system target command line option (short version)" ) + public void testCmdlnOptionVmFsTgt1Short() throws CommandLineArgsException + { + final String[] args = { + CMDLN_PREFIX_OPTION_SHORT + CmdLnOption.VM_FSTGT1.getShortOption(), + CMDLN_TEST_NAME + }; + + CommandLineArgs cmdLn = new CommandLineArgs( args ); + + assertEquals( CMDLN_TEST_NAME, cmdLn.getVmFsTgt1() ); + } + + @Test + @DisplayName( "Test the parsing of the VM second file system target command line option (long version)" ) + public void testCmdlnOptionVmFsTgt1Long() throws CommandLineArgsException + { + final String[] args = { + CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT1.getLongOption(), + CMDLN_TEST_NAME }; CommandLineArgs cmdLn = new CommandLineArgs( args ); - assertEquals( CMDLN_TEST_AUDIO_MODEL, cmdLn.getVmModelSoundCard0() ); + assertEquals( CMDLN_TEST_NAME, cmdLn.getVmFsTgt1() ); } } diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java new file mode 100644 index 00000000..3814bfb6 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericCpuTest.java @@ -0,0 +1,34 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.domain.Domain.CpuCheck; +import org.openslx.libvirt.domain.Domain.CpuMode; +import org.openslx.runvirt.configuration.FilterException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; + +public class FilterGenericCpuTest +{ + @Test + @DisplayName( "Test filtering of VM CPU configuration" ) + public void testFilterGenericCpu() throws FilterException + { + final FilterGenericCpu filter = new FilterGenericCpu(); + final Domain config = FilterTestUtils.getDefaultDomain(); + final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); + + assertNotEquals( Integer.parseInt( FilterTestUtils.DEFAULT_VM_NCPUS ), config.getVCpu() ); + assertNotEquals( CpuMode.HOST_PASSTHROUGH, config.getCpuMode() ); + assertEquals( CpuCheck.PARTIAL, config.getCpuCheck() ); + + filter.filter( config, args ); + + assertEquals( Integer.parseInt( FilterTestUtils.DEFAULT_VM_NCPUS ), config.getVCpu() ); + assertEquals( CpuMode.HOST_PASSTHROUGH, config.getCpuMode() ); + assertEquals( CpuCheck.PARTIAL, config.getCpuCheck() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java new file mode 100644 index 00000000..93282e78 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericDiskStorageDevicesTest.java @@ -0,0 +1,61 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import java.util.ArrayList; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.domain.device.Disk.StorageType; +import org.openslx.libvirt.domain.device.DiskStorage; +import org.openslx.runvirt.configuration.FilterException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; + +public class FilterGenericDiskStorageDevicesTest +{ + @Test + @DisplayName( "Test filtering of VM disk storage devices configuration with specified input data" ) + public void testFilterGenericDiskStorageDevices() throws FilterException + { + final FilterGenericDiskStorageDevices filter = new FilterGenericDiskStorageDevices(); + final Domain config = FilterTestUtils.getDefaultDomain(); + final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); + + final ArrayList<DiskStorage> devicesBeforeFiltering = config.getDiskStorageDevices(); + assertEquals( 1, devicesBeforeFiltering.size() ); + assertNotEquals( StorageType.FILE, devicesBeforeFiltering.get( 0 ).getStorageType() ); + assertNotEquals( FilterTestUtils.DEFAULT_VM_HDD0, devicesBeforeFiltering.get( 0 ).getStorageSource() ); + + filter.filter( config, args ); + + final ArrayList<DiskStorage> devicesAfterFiltering = config.getDiskStorageDevices(); + assertEquals( 1, devicesAfterFiltering.size() ); + assertEquals( StorageType.FILE, devicesAfterFiltering.get( 0 ).getStorageType() ); + assertEquals( FilterTestUtils.DEFAULT_VM_HDD0, devicesAfterFiltering.get( 0 ).getStorageSource() ); + } + + @Test + @DisplayName( "Test filtering of VM disk storage devices configuration with unspecified input data" ) + public void testFilterGenericDiskStorageDevicesNoData() throws FilterException + { + final FilterGenericDiskStorageDevices filter = new FilterGenericDiskStorageDevices(); + final Domain config = FilterTestUtils.getDefaultDomain(); + final CommandLineArgs args = FilterTestUtils.getEmptyCmdLnArgs(); + + final ArrayList<DiskStorage> devicesBeforeFiltering = config.getDiskStorageDevices(); + assertEquals( 1, devicesBeforeFiltering.size() ); + + filter.filter( config, args ); + + final ArrayList<DiskStorage> devicesAfterFiltering = config.getDiskStorageDevices(); + assertEquals( 0, devicesAfterFiltering.size() ); + } + + public static void main( String[] args ) throws FilterException + { + FilterGenericDiskStorageDevicesTest test = new FilterGenericDiskStorageDevicesTest(); + test.testFilterGenericDiskStorageDevicesNoData(); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java new file mode 100644 index 00000000..794e251c --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericMemoryTest.java @@ -0,0 +1,35 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import java.math.BigInteger; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.domain.DomainUtils; +import org.openslx.runvirt.configuration.FilterException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; + +public class FilterGenericMemoryTest +{ + @Test + @DisplayName( "Test filtering of VM memory configuration" ) + public void testFilterGenericMemory() throws FilterException + { + final FilterGenericMemory filter = new FilterGenericMemory(); + final Domain config = FilterTestUtils.getDefaultDomain(); + final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); + + final BigInteger defaultMemory = DomainUtils.decodeMemory( FilterTestUtils.DEFAULT_VM_MEM, "MiB" ); + + assertNotEquals( defaultMemory.toString(), config.getMemory().toString() ); + assertNotEquals( defaultMemory.toString(), config.getCurrentMemory().toString() ); + + filter.filter( config, args ); + + assertEquals( defaultMemory.toString(), config.getMemory().toString() ); + assertEquals( defaultMemory.toString(), config.getCurrentMemory().toString() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java new file mode 100644 index 00000000..93224702 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericNameTest.java @@ -0,0 +1,30 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.runvirt.configuration.FilterException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; + +public class FilterGenericNameTest +{ + @Test + @DisplayName( "Test filtering of VM (display) name configuration" ) + public void testFilterGenericName() throws FilterException + { + final FilterGenericName filter = new FilterGenericName(); + final Domain config = FilterTestUtils.getDefaultDomain(); + final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); + + assertNotEquals( FilterTestUtils.DEFAULT_VM_NAME, config.getName() ); + assertNotEquals( FilterTestUtils.DEFAULT_VM_DSPLNAME, config.getTitle() ); + + filter.filter( config, args ); + + assertEquals( FilterTestUtils.DEFAULT_VM_NAME, config.getName() ); + assertEquals( FilterTestUtils.DEFAULT_VM_DSPLNAME, config.getTitle() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java new file mode 100644 index 00000000..c206b0e9 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterGenericUuidTest.java @@ -0,0 +1,28 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.openslx.libvirt.domain.Domain; +import org.openslx.runvirt.configuration.FilterException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; + +public class FilterGenericUuidTest +{ + @Test + @DisplayName( "Test filtering of VM UUID configuration" ) + public void testFilterGenericUuid() throws FilterException + { + final FilterGenericUuid filter = new FilterGenericUuid(); + final Domain config = FilterTestUtils.getDefaultDomain(); + final CommandLineArgs args = FilterTestUtils.getDefaultCmdLnArgs(); + + assertNotEquals( FilterTestUtils.DEFAULT_VM_UUID, config.getUuid() ); + + filter.filter( config, args ); + + assertEquals( FilterTestUtils.DEFAULT_VM_UUID, config.getUuid() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java new file mode 100644 index 00000000..80fa2636 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestResources.java @@ -0,0 +1,17 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import java.io.File; +import java.net.URL; + +public class FilterTestResources +{ + private static final String LIBVIRT_PREFIX_PATH = File.separator + "libvirt"; + private static final String LIBVIRT_PREFIX_PATH_XML = LIBVIRT_PREFIX_PATH + File.separator + "xml"; + + public static File getLibvirtXmlFile( String libvirtXmlFileName ) + { + String libvirtXmlPath = FilterTestResources.LIBVIRT_PREFIX_PATH_XML + File.separator + libvirtXmlFileName; + URL libvirtXml = FilterTestResources.class.getResource( libvirtXmlPath ); + return new File( libvirtXml.getFile() ); + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java new file mode 100644 index 00000000..45abb025 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/java/org/openslx/runvirt/plugin/qemu/configuration/FilterTestUtils.java @@ -0,0 +1,112 @@ +package org.openslx.runvirt.plugin.qemu.configuration; + +import static org.junit.jupiter.api.Assertions.fail; + +import org.openslx.libvirt.domain.Domain; +import org.openslx.libvirt.xml.LibvirtXmlDocumentException; +import org.openslx.libvirt.xml.LibvirtXmlSerializationException; +import org.openslx.libvirt.xml.LibvirtXmlValidationException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgs.CmdLnOption; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgsException; +import org.openslx.runvirt.plugin.qemu.cmdln.CommandLineArgsTest; + +public class FilterTestUtils +{ + // @formatter:off + public static final String DEFAULT_VM_NAME = "archlinux"; + public static final String DEFAULT_VM_UUID = "4ec504d5-5eac-482f-a344-dbf1dd4956c8"; + public static final String DEFAULT_VM_DSPLNAME = "Archlinux"; + public static final String DEFAULT_VM_OS = "Windows 10 (x64)"; + public static final String DEFAULT_VM_NCPUS = "16"; + public static final String DEFAULT_VM_MEM = "1024"; + public static final String DEFAULT_VM_HDD0 = "/mnt/vm/windows.qcow2"; + public static final String DEFAULT_VM_FLOPPY0 = "/mnt/vm/floppy0.qcow2"; + public static final String DEFAULT_VM_FLOPPY1 = "/mnt/vm/floppy1.qcow2"; + public static final String DEFAULT_VM_CDROM0 = "/dev/sr0"; + public static final String DEFAULT_VM_CDROM1 = "/mnt/vm/cdrom1.qcow2"; + public static final String DEFAULT_VM_PARALLEL0 = "/dev/parport0"; + public static final String DEFAULT_VM_SERIAL0 = "/dev/ttyS0"; + public static final String DEFAULT_VM_MAC0 = "ca:06:29:84:f0:6d"; + public static final String DEFAULT_VM_FSSRC0 = "/mnt/shared/folder0"; + public static final String DEFAULT_VM_FSTGT0 = "folder0"; + public static final String DEFAULT_VM_FSSRC1 = "/mnt/shared/folder1"; + public static final String DEFAULT_VM_FSTGT1 = "folder1"; + // @formatter:on + + private static final String[] DEFAULT_CMDLN_ARGS = { + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_NAME.getLongOption(), + FilterTestUtils.DEFAULT_VM_NAME, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_UUID.getLongOption(), + FilterTestUtils.DEFAULT_VM_UUID, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_DSPLNAME.getLongOption(), + FilterTestUtils.DEFAULT_VM_DSPLNAME, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_OS.getLongOption(), + FilterTestUtils.DEFAULT_VM_OS, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_NCPUS.getLongOption(), + FilterTestUtils.DEFAULT_VM_NCPUS, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_MEM.getLongOption(), + FilterTestUtils.DEFAULT_VM_MEM, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_HDD0.getLongOption(), + FilterTestUtils.DEFAULT_VM_HDD0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FLOPPY0.getLongOption(), + FilterTestUtils.DEFAULT_VM_FLOPPY0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FLOPPY1.getLongOption(), + FilterTestUtils.DEFAULT_VM_FLOPPY1, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_CDROM0.getLongOption(), + FilterTestUtils.DEFAULT_VM_CDROM0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_CDROM1.getLongOption(), + FilterTestUtils.DEFAULT_VM_CDROM1, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_PARALLEL0.getLongOption(), + FilterTestUtils.DEFAULT_VM_PARALLEL0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_SERIAL0.getLongOption(), + FilterTestUtils.DEFAULT_VM_SERIAL0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_MAC0.getLongOption(), + FilterTestUtils.DEFAULT_VM_MAC0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC0.getLongOption(), + FilterTestUtils.DEFAULT_VM_FSSRC0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT0.getLongOption(), + FilterTestUtils.DEFAULT_VM_FSTGT0, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSSRC1.getLongOption(), + FilterTestUtils.DEFAULT_VM_FSSRC1, + CommandLineArgsTest.CMDLN_PREFIX_OPTION_LONG + CmdLnOption.VM_FSTGT1.getLongOption(), + FilterTestUtils.DEFAULT_VM_FSTGT1 + }; + + private static CommandLineArgs getCmdLnArgs( String[] args ) + { + final CommandLineArgs cmdLnArgs = new CommandLineArgs(); + + try { + cmdLnArgs.parseCmdLnArgs( args ); + } catch ( CommandLineArgsException e ) { + fail( e.getLocalizedMessage() ); + } + + return cmdLnArgs; + } + + public static CommandLineArgs getDefaultCmdLnArgs() + { + return FilterTestUtils.getCmdLnArgs( FilterTestUtils.DEFAULT_CMDLN_ARGS ); + } + + public static CommandLineArgs getEmptyCmdLnArgs() + { + return FilterTestUtils.getCmdLnArgs( new String[] {} ); + } + + public static Domain getDefaultDomain() + { + Domain domain = null; + + try { + domain = new Domain( FilterTestResources.getLibvirtXmlFile( "qemu-kvm_default-ubuntu-20-04-vm.xml" ) ); + } catch ( LibvirtXmlDocumentException | LibvirtXmlSerializationException | LibvirtXmlValidationException e ) { + fail( "Cannot prepare requested Libvirt domain XML file from the resources folder: " + + e.getLocalizedMessage() ); + } + + return domain; + } +} diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/resources/libvirt/xml/qemu-kvm_capabilities_default.xml b/core/modules/qemu/runvirt-plugin-qemu/src/test/resources/libvirt/xml/qemu-kvm_capabilities_default.xml new file mode 100644 index 00000000..4f2a94f2 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/resources/libvirt/xml/qemu-kvm_capabilities_default.xml @@ -0,0 +1,986 @@ +<capabilities> + + <host> + <uuid>9b2f12af-1fba-444c-b72b-9cbc43fb3ca5</uuid> + <cpu> + <arch>x86_64</arch> + <model>Skylake-Client-IBRS</model> + <vendor>Intel</vendor> + <microcode version='226'/> + <counter name='tsc' frequency='3191999000' scaling='no'/> + <topology sockets='1' dies='1' cores='4' threads='1'/> + <feature name='ds'/> + <feature name='acpi'/> + <feature name='ss'/> + <feature name='ht'/> + <feature name='tm'/> + <feature name='pbe'/> + <feature name='dtes64'/> + <feature name='monitor'/> + <feature name='ds_cpl'/> + <feature name='vmx'/> + <feature name='smx'/> + <feature name='est'/> + <feature name='tm2'/> + <feature name='xtpr'/> + <feature name='pdcm'/> + <feature name='osxsave'/> + <feature name='tsc_adjust'/> + <feature name='clflushopt'/> + <feature name='intel-pt'/> + <feature name='md-clear'/> + <feature name='stibp'/> + <feature name='ssbd'/> + <feature name='xsaves'/> + <feature name='pdpe1gb'/> + <feature name='invtsc'/> + <pages unit='KiB' size='4'/> + <pages unit='KiB' size='2048'/> + <pages unit='KiB' size='1048576'/> + </cpu> + <power_management> + <suspend_mem/> + </power_management> + <iommu support='yes'/> + <migration_features> + <live/> + <uri_transports> + <uri_transport>tcp</uri_transport> + <uri_transport>rdma</uri_transport> + </uri_transports> + </migration_features> + <topology> + <cells num='1'> + <cell id='0'> + <memory unit='KiB'>16161320</memory> + <pages unit='KiB' size='4'>4040330</pages> + <pages unit='KiB' size='2048'>0</pages> + <pages unit='KiB' size='1048576'>0</pages> + <distances> + <sibling id='0' value='10'/> + </distances> + <cpus num='4'> + <cpu id='0' socket_id='0' die_id='0' core_id='0' siblings='0'/> + <cpu id='1' socket_id='0' die_id='0' core_id='1' siblings='1'/> + <cpu id='2' socket_id='0' die_id='0' core_id='2' siblings='2'/> + <cpu id='3' socket_id='0' die_id='0' core_id='3' siblings='3'/> + </cpus> + </cell> + </cells> + </topology> + <cache> + <bank id='0' level='3' type='both' size='6' unit='MiB' cpus='0-3'/> + </cache> + <secmodel> + <model>none</model> + <doi>0</doi> + </secmodel> + </host> + + <guest> + <os_type>hvm</os_type> + <arch name='alpha'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-alpha</emulator> + <machine maxCpus='4'>clipper</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='armv6l'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-arm</emulator> + <machine maxCpus='1'>integratorcp</machine> + <machine maxCpus='2'>ast2600-evb</machine> + <machine maxCpus='1'>borzoi</machine> + <machine maxCpus='1'>spitz</machine> + <machine maxCpus='255'>virt-2.7</machine> + <machine maxCpus='2'>nuri</machine> + <machine maxCpus='2'>mcimx7d-sabre</machine> + <machine maxCpus='1'>romulus-bmc</machine> + <machine maxCpus='512'>virt-3.0</machine> + <machine maxCpus='512'>virt-5.0</machine> + <machine maxCpus='2'>npcm750-evb</machine> + <machine maxCpus='255'>virt-2.10</machine> + <machine maxCpus='2'>musca-b1</machine> + <machine maxCpus='255'>virt-2.8</machine> + <machine maxCpus='4'>realview-pbx-a9</machine> + <machine maxCpus='1'>versatileab</machine> + <machine maxCpus='1'>kzm</machine> + <machine maxCpus='2'>musca-a</machine> + <machine maxCpus='512'>virt-3.1</machine> + <machine maxCpus='1'>mcimx6ul-evk</machine> + <machine maxCpus='512'>virt-5.1</machine> + <machine maxCpus='2'>smdkc210</machine> + <machine maxCpus='1'>sx1</machine> + <machine maxCpus='255'>virt-2.11</machine> + <machine maxCpus='1'>imx25-pdk</machine> + <machine maxCpus='255'>virt-2.9</machine> + <machine maxCpus='4'>orangepi-pc</machine> + <machine maxCpus='1'>z2</machine> + <machine maxCpus='512'>virt-5.2</machine> + <machine canonical='virt-5.2' maxCpus='512'>virt</machine> + <machine maxCpus='1'>xilinx-zynq-a9</machine> + <machine maxCpus='1'>tosa</machine> + <machine maxCpus='1'>mps2-an500</machine> + <machine maxCpus='255'>virt-2.12</machine> + <machine maxCpus='2'>mps2-an521</machine> + <machine maxCpus='4'>sabrelite</machine> + <machine maxCpus='1'>mps2-an511</machine> + <machine maxCpus='1'>canon-a1100</machine> + <machine maxCpus='1'>realview-eb</machine> + <machine maxCpus='1'>emcraft-sf2</machine> + <machine maxCpus='1'>realview-pb-a8</machine> + <machine maxCpus='512'>virt-4.0</machine> + <machine maxCpus='1'>raspi1ap</machine> + <machine maxCpus='1'>palmetto-bmc</machine> + <machine maxCpus='1'>sx1-v1</machine> + <machine maxCpus='1'>n810</machine> + <machine maxCpus='2'>tacoma-bmc</machine> + <machine maxCpus='1'>n800</machine> + <machine maxCpus='512'>virt-4.1</machine> + <machine maxCpus='2'>quanta-gsj</machine> + <machine maxCpus='1'>versatilepb</machine> + <machine maxCpus='1'>terrier</machine> + <machine maxCpus='1'>mainstone</machine> + <machine maxCpus='4'>realview-eb-mpcore</machine> + <machine maxCpus='1'>supermicrox11-bmc</machine> + <machine maxCpus='512'>virt-4.2</machine> + <machine maxCpus='1'>witherspoon-bmc</machine> + <machine maxCpus='1'>swift-bmc</machine> + <machine maxCpus='4'>vexpress-a9</machine> + <machine maxCpus='4'>midway</machine> + <machine maxCpus='1'>musicpal</machine> + <machine maxCpus='1'>lm3s811evb</machine> + <machine maxCpus='1'>lm3s6965evb</machine> + <machine maxCpus='1'>microbit</machine> + <machine maxCpus='1'>mps2-an505</machine> + <machine maxCpus='1'>mps2-an385</machine> + <machine maxCpus='1'>cubieboard</machine> + <machine maxCpus='1'>verdex</machine> + <machine maxCpus='1'>netduino2</machine> + <machine maxCpus='1'>mps2-an386</machine> + <machine maxCpus='4'>raspi2b</machine> + <machine canonical='raspi2b' maxCpus='4'>raspi2</machine> + <machine maxCpus='4'>vexpress-a15</machine> + <machine maxCpus='1'>sonorapass-bmc</machine> + <machine maxCpus='1'>cheetah</machine> + <machine maxCpus='255'>virt-2.6</machine> + <machine maxCpus='1'>ast2500-evb</machine> + <machine maxCpus='4'>highbank</machine> + <machine maxCpus='1'>akita</machine> + <machine maxCpus='1'>connex</machine> + <machine maxCpus='1'>netduinoplus2</machine> + <machine maxCpus='1'>collie</machine> + <machine maxCpus='1'>raspi0</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='armv7l'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-arm</emulator> + <machine maxCpus='1'>integratorcp</machine> + <machine maxCpus='2'>ast2600-evb</machine> + <machine maxCpus='1'>borzoi</machine> + <machine maxCpus='1'>spitz</machine> + <machine maxCpus='255'>virt-2.7</machine> + <machine maxCpus='2'>nuri</machine> + <machine maxCpus='2'>mcimx7d-sabre</machine> + <machine maxCpus='1'>romulus-bmc</machine> + <machine maxCpus='512'>virt-3.0</machine> + <machine maxCpus='512'>virt-5.0</machine> + <machine maxCpus='2'>npcm750-evb</machine> + <machine maxCpus='255'>virt-2.10</machine> + <machine maxCpus='2'>musca-b1</machine> + <machine maxCpus='255'>virt-2.8</machine> + <machine maxCpus='4'>realview-pbx-a9</machine> + <machine maxCpus='1'>versatileab</machine> + <machine maxCpus='1'>kzm</machine> + <machine maxCpus='2'>musca-a</machine> + <machine maxCpus='512'>virt-3.1</machine> + <machine maxCpus='1'>mcimx6ul-evk</machine> + <machine maxCpus='512'>virt-5.1</machine> + <machine maxCpus='2'>smdkc210</machine> + <machine maxCpus='1'>sx1</machine> + <machine maxCpus='255'>virt-2.11</machine> + <machine maxCpus='1'>imx25-pdk</machine> + <machine maxCpus='255'>virt-2.9</machine> + <machine maxCpus='4'>orangepi-pc</machine> + <machine maxCpus='1'>z2</machine> + <machine maxCpus='512'>virt-5.2</machine> + <machine canonical='virt-5.2' maxCpus='512'>virt</machine> + <machine maxCpus='1'>xilinx-zynq-a9</machine> + <machine maxCpus='1'>tosa</machine> + <machine maxCpus='1'>mps2-an500</machine> + <machine maxCpus='255'>virt-2.12</machine> + <machine maxCpus='2'>mps2-an521</machine> + <machine maxCpus='4'>sabrelite</machine> + <machine maxCpus='1'>mps2-an511</machine> + <machine maxCpus='1'>canon-a1100</machine> + <machine maxCpus='1'>realview-eb</machine> + <machine maxCpus='1'>emcraft-sf2</machine> + <machine maxCpus='1'>realview-pb-a8</machine> + <machine maxCpus='512'>virt-4.0</machine> + <machine maxCpus='1'>raspi1ap</machine> + <machine maxCpus='1'>palmetto-bmc</machine> + <machine maxCpus='1'>sx1-v1</machine> + <machine maxCpus='1'>n810</machine> + <machine maxCpus='2'>tacoma-bmc</machine> + <machine maxCpus='1'>n800</machine> + <machine maxCpus='512'>virt-4.1</machine> + <machine maxCpus='2'>quanta-gsj</machine> + <machine maxCpus='1'>versatilepb</machine> + <machine maxCpus='1'>terrier</machine> + <machine maxCpus='1'>mainstone</machine> + <machine maxCpus='4'>realview-eb-mpcore</machine> + <machine maxCpus='1'>supermicrox11-bmc</machine> + <machine maxCpus='512'>virt-4.2</machine> + <machine maxCpus='1'>witherspoon-bmc</machine> + <machine maxCpus='1'>swift-bmc</machine> + <machine maxCpus='4'>vexpress-a9</machine> + <machine maxCpus='4'>midway</machine> + <machine maxCpus='1'>musicpal</machine> + <machine maxCpus='1'>lm3s811evb</machine> + <machine maxCpus='1'>lm3s6965evb</machine> + <machine maxCpus='1'>microbit</machine> + <machine maxCpus='1'>mps2-an505</machine> + <machine maxCpus='1'>mps2-an385</machine> + <machine maxCpus='1'>cubieboard</machine> + <machine maxCpus='1'>verdex</machine> + <machine maxCpus='1'>netduino2</machine> + <machine maxCpus='1'>mps2-an386</machine> + <machine maxCpus='4'>raspi2b</machine> + <machine canonical='raspi2b' maxCpus='4'>raspi2</machine> + <machine maxCpus='4'>vexpress-a15</machine> + <machine maxCpus='1'>sonorapass-bmc</machine> + <machine maxCpus='1'>cheetah</machine> + <machine maxCpus='255'>virt-2.6</machine> + <machine maxCpus='1'>ast2500-evb</machine> + <machine maxCpus='4'>highbank</machine> + <machine maxCpus='1'>akita</machine> + <machine maxCpus='1'>connex</machine> + <machine maxCpus='1'>netduinoplus2</machine> + <machine maxCpus='1'>collie</machine> + <machine maxCpus='1'>raspi0</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='aarch64'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-aarch64</emulator> + <machine maxCpus='1'>integratorcp</machine> + <machine maxCpus='2'>ast2600-evb</machine> + <machine maxCpus='1'>borzoi</machine> + <machine maxCpus='1'>spitz</machine> + <machine maxCpus='255'>virt-2.7</machine> + <machine maxCpus='2'>nuri</machine> + <machine maxCpus='2'>mcimx7d-sabre</machine> + <machine maxCpus='1'>romulus-bmc</machine> + <machine maxCpus='512'>virt-3.0</machine> + <machine maxCpus='512'>virt-5.0</machine> + <machine maxCpus='2'>npcm750-evb</machine> + <machine maxCpus='255'>virt-2.10</machine> + <machine maxCpus='2'>musca-b1</machine> + <machine maxCpus='255'>virt-2.8</machine> + <machine maxCpus='4'>realview-pbx-a9</machine> + <machine maxCpus='1'>versatileab</machine> + <machine maxCpus='1'>kzm</machine> + <machine maxCpus='2'>musca-a</machine> + <machine maxCpus='512'>virt-3.1</machine> + <machine maxCpus='1'>mcimx6ul-evk</machine> + <machine maxCpus='512'>virt-5.1</machine> + <machine maxCpus='2'>smdkc210</machine> + <machine maxCpus='1'>sx1</machine> + <machine maxCpus='255'>virt-2.11</machine> + <machine maxCpus='1'>imx25-pdk</machine> + <machine maxCpus='255'>virt-2.9</machine> + <machine maxCpus='4'>orangepi-pc</machine> + <machine maxCpus='1'>z2</machine> + <machine maxCpus='512'>virt-5.2</machine> + <machine canonical='virt-5.2' maxCpus='512'>virt</machine> + <machine maxCpus='1'>xilinx-zynq-a9</machine> + <machine maxCpus='6'>xlnx-zcu102</machine> + <machine maxCpus='1'>tosa</machine> + <machine maxCpus='1'>mps2-an500</machine> + <machine maxCpus='255'>virt-2.12</machine> + <machine maxCpus='2'>mps2-an521</machine> + <machine maxCpus='4'>sabrelite</machine> + <machine maxCpus='1'>mps2-an511</machine> + <machine maxCpus='1'>canon-a1100</machine> + <machine maxCpus='1'>realview-eb</machine> + <machine maxCpus='1'>emcraft-sf2</machine> + <machine maxCpus='1'>realview-pb-a8</machine> + <machine maxCpus='512'>sbsa-ref</machine> + <machine maxCpus='512'>virt-4.0</machine> + <machine maxCpus='1'>raspi1ap</machine> + <machine maxCpus='1'>palmetto-bmc</machine> + <machine maxCpus='1'>sx1-v1</machine> + <machine maxCpus='1'>n810</machine> + <machine maxCpus='2'>tacoma-bmc</machine> + <machine maxCpus='1'>n800</machine> + <machine maxCpus='512'>virt-4.1</machine> + <machine maxCpus='2'>quanta-gsj</machine> + <machine maxCpus='1'>versatilepb</machine> + <machine maxCpus='1'>terrier</machine> + <machine maxCpus='1'>mainstone</machine> + <machine maxCpus='4'>realview-eb-mpcore</machine> + <machine maxCpus='1'>supermicrox11-bmc</machine> + <machine maxCpus='512'>virt-4.2</machine> + <machine maxCpus='1'>witherspoon-bmc</machine> + <machine maxCpus='1'>swift-bmc</machine> + <machine maxCpus='4'>vexpress-a9</machine> + <machine maxCpus='4'>midway</machine> + <machine maxCpus='1'>musicpal</machine> + <machine maxCpus='1'>lm3s811evb</machine> + <machine maxCpus='1'>lm3s6965evb</machine> + <machine maxCpus='1'>microbit</machine> + <machine maxCpus='1'>mps2-an505</machine> + <machine maxCpus='1'>mps2-an385</machine> + <machine maxCpus='4'>raspi3ap</machine> + <machine maxCpus='1'>cubieboard</machine> + <machine maxCpus='1'>verdex</machine> + <machine maxCpus='1'>netduino2</machine> + <machine maxCpus='2'>xlnx-versal-virt</machine> + <machine maxCpus='1'>mps2-an386</machine> + <machine maxCpus='4'>raspi3b</machine> + <machine canonical='raspi3b' maxCpus='4'>raspi3</machine> + <machine maxCpus='4'>raspi2b</machine> + <machine canonical='raspi2b' maxCpus='4'>raspi2</machine> + <machine maxCpus='4'>vexpress-a15</machine> + <machine maxCpus='1'>sonorapass-bmc</machine> + <machine maxCpus='1'>cheetah</machine> + <machine maxCpus='255'>virt-2.6</machine> + <machine maxCpus='1'>ast2500-evb</machine> + <machine maxCpus='4'>highbank</machine> + <machine maxCpus='1'>akita</machine> + <machine maxCpus='1'>connex</machine> + <machine maxCpus='1'>netduinoplus2</machine> + <machine maxCpus='1'>collie</machine> + <machine maxCpus='1'>raspi0</machine> + <domain type='qemu'/> + </arch> + <features> + <acpi default='on' toggle='yes'/> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='cris'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-cris</emulator> + <machine maxCpus='1'>axis-dev88</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='i686'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-i386</emulator> + <machine maxCpus='255'>pc-i440fx-5.2</machine> + <machine canonical='pc-i440fx-5.2' maxCpus='255'>pc</machine> + <machine maxCpus='288'>pc-q35-5.2</machine> + <machine canonical='pc-q35-5.2' maxCpus='288'>q35</machine> + <machine maxCpus='255'>pc-i440fx-2.12</machine> + <machine maxCpus='255'>pc-i440fx-2.0</machine> + <machine maxCpus='288'>pc-q35-4.2</machine> + <machine maxCpus='255'>pc-i440fx-2.5</machine> + <machine maxCpus='255'>pc-i440fx-4.2</machine> + <machine maxCpus='255'>pc-i440fx-1.5</machine> + <machine maxCpus='255'>pc-q35-2.7</machine> + <machine maxCpus='255'>pc-i440fx-2.2</machine> + <machine maxCpus='255'>pc-1.1</machine> + <machine maxCpus='255'>pc-i440fx-2.7</machine> + <machine maxCpus='255'>pc-q35-2.4</machine> + <machine maxCpus='288'>pc-q35-2.10</machine> + <machine maxCpus='255'>pc-i440fx-1.7</machine> + <machine maxCpus='288'>pc-q35-5.1</machine> + <machine maxCpus='288'>pc-q35-2.9</machine> + <machine maxCpus='255'>pc-i440fx-2.11</machine> + <machine maxCpus='288'>pc-q35-3.1</machine> + <machine maxCpus='288'>pc-q35-4.1</machine> + <machine maxCpus='255'>pc-i440fx-2.4</machine> + <machine maxCpus='255'>pc-1.3</machine> + <machine maxCpus='255'>pc-i440fx-4.1</machine> + <machine maxCpus='255'>pc-i440fx-5.1</machine> + <machine maxCpus='255'>pc-i440fx-2.9</machine> + <machine maxCpus='1'>isapc</machine> + <machine maxCpus='255'>pc-i440fx-1.4</machine> + <machine maxCpus='255'>pc-q35-2.6</machine> + <machine maxCpus='255'>pc-i440fx-3.1</machine> + <machine maxCpus='288'>pc-q35-2.12</machine> + <machine maxCpus='255'>pc-i440fx-2.1</machine> + <machine maxCpus='255'>pc-1.0</machine> + <machine maxCpus='255'>pc-i440fx-2.6</machine> + <machine maxCpus='288'>pc-q35-4.0.1</machine> + <machine maxCpus='255'>pc-i440fx-1.6</machine> + <machine maxCpus='288'>pc-q35-5.0</machine> + <machine maxCpus='288'>pc-q35-2.8</machine> + <machine maxCpus='255'>pc-i440fx-2.10</machine> + <machine maxCpus='288'>pc-q35-3.0</machine> + <machine maxCpus='288'>pc-q35-4.0</machine> + <machine maxCpus='288'>microvm</machine> + <machine maxCpus='255'>pc-i440fx-2.3</machine> + <machine maxCpus='255'>pc-1.2</machine> + <machine maxCpus='255'>pc-i440fx-4.0</machine> + <machine maxCpus='255'>pc-i440fx-5.0</machine> + <machine maxCpus='255'>pc-i440fx-2.8</machine> + <machine maxCpus='255'>pc-q35-2.5</machine> + <machine maxCpus='255'>pc-i440fx-3.0</machine> + <machine maxCpus='288'>pc-q35-2.11</machine> + <domain type='qemu'/> + <domain type='kvm'/> + </arch> + <features> + <pae/> + <nonpae/> + <acpi default='on' toggle='yes'/> + <apic default='on' toggle='no'/> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='m68k'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-m68k</emulator> + <machine maxCpus='1'>mcf5208evb</machine> + <machine maxCpus='1'>an5206</machine> + <machine maxCpus='1'>q800</machine> + <machine maxCpus='1'>next-cube</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='microblaze'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-microblaze</emulator> + <machine maxCpus='1'>petalogix-s3adsp1800</machine> + <machine maxCpus='1'>petalogix-ml605</machine> + <machine maxCpus='1'>xlnx-zynqmp-pmu</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='microblazeel'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-microblazeel</emulator> + <machine maxCpus='1'>petalogix-s3adsp1800</machine> + <machine maxCpus='1'>petalogix-ml605</machine> + <machine maxCpus='1'>xlnx-zynqmp-pmu</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='mips'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-mips</emulator> + <machine maxCpus='16'>malta</machine> + <machine maxCpus='1'>mipssim</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='mipsel'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-mipsel</emulator> + <machine maxCpus='16'>malta</machine> + <machine maxCpus='1'>mipssim</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='mips64'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-mips64</emulator> + <machine maxCpus='16'>malta</machine> + <machine maxCpus='1'>pica61</machine> + <machine maxCpus='1'>mipssim</machine> + <machine maxCpus='1'>magnum</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='mips64el'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-mips64el</emulator> + <machine maxCpus='16'>malta</machine> + <machine maxCpus='1'>mipssim</machine> + <machine maxCpus='1'>pica61</machine> + <machine maxCpus='1'>magnum</machine> + <machine maxCpus='16'>boston</machine> + <machine maxCpus='1'>fuloong2e</machine> + <machine canonical='fuloong2e' maxCpus='1'>fulong2e</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='ppc'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-ppc</emulator> + <machine maxCpus='1'>g3beige</machine> + <machine maxCpus='1'>virtex-ml507</machine> + <machine maxCpus='1'>mac99</machine> + <machine maxCpus='32'>ppce500</machine> + <machine maxCpus='1'>sam460ex</machine> + <machine maxCpus='1'>bamboo</machine> + <machine maxCpus='1'>40p</machine> + <machine maxCpus='1'>ref405ep</machine> + <machine maxCpus='15'>mpc8544ds</machine> + <machine maxCpus='1'>taihu</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='ppc64'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-ppc64</emulator> + <machine maxCpus='1024'>pseries-5.2</machine> + <machine canonical='pseries-5.2' maxCpus='1024'>pseries</machine> + <machine maxCpus='2048'>powernv9</machine> + <machine canonical='powernv9' maxCpus='2048'>powernv</machine> + <machine maxCpus='1'>taihu</machine> + <machine maxCpus='1024'>pseries-4.1</machine> + <machine maxCpus='15'>mpc8544ds</machine> + <machine maxCpus='1024'>pseries-2.5</machine> + <machine maxCpus='2048'>powernv10</machine> + <machine maxCpus='1024'>pseries-4.2</machine> + <machine maxCpus='1024'>pseries-2.6</machine> + <machine maxCpus='32'>ppce500</machine> + <machine maxCpus='1024'>pseries-2.7</machine> + <machine maxCpus='1024'>pseries-3.0</machine> + <machine maxCpus='1024'>pseries-5.0</machine> + <machine maxCpus='1'>40p</machine> + <machine maxCpus='1024'>pseries-2.8</machine> + <machine maxCpus='1024'>pseries-3.1</machine> + <machine maxCpus='1024'>pseries-5.1</machine> + <machine maxCpus='1024'>pseries-2.9</machine> + <machine maxCpus='1'>bamboo</machine> + <machine maxCpus='1'>g3beige</machine> + <machine maxCpus='1024'>pseries-2.12-sxxm</machine> + <machine maxCpus='1024'>pseries-2.10</machine> + <machine maxCpus='1'>virtex-ml507</machine> + <machine maxCpus='1024'>pseries-2.11</machine> + <machine maxCpus='1024'>pseries-2.1</machine> + <machine maxCpus='1024'>pseries-2.12</machine> + <machine maxCpus='1024'>pseries-2.2</machine> + <machine maxCpus='1'>mac99</machine> + <machine maxCpus='1'>sam460ex</machine> + <machine maxCpus='1'>ref405ep</machine> + <machine maxCpus='1024'>pseries-2.3</machine> + <machine maxCpus='2048'>powernv8</machine> + <machine maxCpus='1024'>pseries-4.0</machine> + <machine maxCpus='1024'>pseries-2.4</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='ppc64le'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-ppc64</emulator> + <machine maxCpus='1024'>pseries-5.2</machine> + <machine canonical='pseries-5.2' maxCpus='1024'>pseries</machine> + <machine maxCpus='2048'>powernv9</machine> + <machine canonical='powernv9' maxCpus='2048'>powernv</machine> + <machine maxCpus='1'>taihu</machine> + <machine maxCpus='1024'>pseries-4.1</machine> + <machine maxCpus='15'>mpc8544ds</machine> + <machine maxCpus='1024'>pseries-2.5</machine> + <machine maxCpus='2048'>powernv10</machine> + <machine maxCpus='1024'>pseries-4.2</machine> + <machine maxCpus='1024'>pseries-2.6</machine> + <machine maxCpus='32'>ppce500</machine> + <machine maxCpus='1024'>pseries-2.7</machine> + <machine maxCpus='1024'>pseries-3.0</machine> + <machine maxCpus='1024'>pseries-5.0</machine> + <machine maxCpus='1'>40p</machine> + <machine maxCpus='1024'>pseries-2.8</machine> + <machine maxCpus='1024'>pseries-3.1</machine> + <machine maxCpus='1024'>pseries-5.1</machine> + <machine maxCpus='1024'>pseries-2.9</machine> + <machine maxCpus='1'>bamboo</machine> + <machine maxCpus='1'>g3beige</machine> + <machine maxCpus='1024'>pseries-2.12-sxxm</machine> + <machine maxCpus='1024'>pseries-2.10</machine> + <machine maxCpus='1'>virtex-ml507</machine> + <machine maxCpus='1024'>pseries-2.11</machine> + <machine maxCpus='1024'>pseries-2.1</machine> + <machine maxCpus='1024'>pseries-2.12</machine> + <machine maxCpus='1024'>pseries-2.2</machine> + <machine maxCpus='1'>mac99</machine> + <machine maxCpus='1'>sam460ex</machine> + <machine maxCpus='1'>ref405ep</machine> + <machine maxCpus='1024'>pseries-2.3</machine> + <machine maxCpus='2048'>powernv8</machine> + <machine maxCpus='1024'>pseries-4.0</machine> + <machine maxCpus='1024'>pseries-2.4</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='riscv32'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-riscv32</emulator> + <machine maxCpus='8'>spike</machine> + <machine maxCpus='8'>virt</machine> + <machine maxCpus='1'>opentitan</machine> + <machine maxCpus='1'>sifive_e</machine> + <machine maxCpus='5'>sifive_u</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='riscv64'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-riscv64</emulator> + <machine maxCpus='8'>spike</machine> + <machine maxCpus='8'>virt</machine> + <machine maxCpus='1'>sifive_e</machine> + <machine maxCpus='5'>sifive_u</machine> + <machine maxCpus='5'>microchip-icicle-kit</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='s390x'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-s390x</emulator> + <machine maxCpus='248'>s390-ccw-virtio-5.2</machine> + <machine canonical='s390-ccw-virtio-5.2' maxCpus='248'>s390-ccw-virtio</machine> + <machine maxCpus='248'>s390-ccw-virtio-4.0</machine> + <machine maxCpus='248'>s390-ccw-virtio-3.1</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.6</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.12</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.9</machine> + <machine maxCpus='248'>s390-ccw-virtio-5.1</machine> + <machine maxCpus='248'>s390-ccw-virtio-3.0</machine> + <machine maxCpus='248'>s390-ccw-virtio-4.2</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.5</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.11</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.8</machine> + <machine maxCpus='248'>s390-ccw-virtio-5.0</machine> + <machine maxCpus='248'>s390-ccw-virtio-4.1</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.4</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.10</machine> + <machine maxCpus='248'>s390-ccw-virtio-2.7</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='sh4'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-sh4</emulator> + <machine maxCpus='1'>shix</machine> + <machine maxCpus='1'>r2d</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='sh4eb'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-sh4eb</emulator> + <machine maxCpus='1'>shix</machine> + <machine maxCpus='1'>r2d</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='sparc'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-sparc</emulator> + <machine maxCpus='1'>SS-5</machine> + <machine maxCpus='4'>SS-20</machine> + <machine maxCpus='1'>LX</machine> + <machine maxCpus='1'>SPARCClassic</machine> + <machine maxCpus='1'>leon3_generic</machine> + <machine maxCpus='1'>SPARCbook</machine> + <machine maxCpus='1'>SS-4</machine> + <machine maxCpus='4'>SS-600MP</machine> + <machine maxCpus='4'>SS-10</machine> + <machine maxCpus='1'>Voyager</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='sparc64'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-sparc64</emulator> + <machine maxCpus='1'>sun4u</machine> + <machine maxCpus='1'>niagara</machine> + <machine maxCpus='1'>sun4v</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='x86_64'> + <wordsize>64</wordsize> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <machine maxCpus='255'>pc-i440fx-5.2</machine> + <machine canonical='pc-i440fx-5.2' maxCpus='255'>pc</machine> + <machine maxCpus='288'>pc-q35-5.2</machine> + <machine canonical='pc-q35-5.2' maxCpus='288'>q35</machine> + <machine maxCpus='255'>pc-i440fx-2.12</machine> + <machine maxCpus='255'>pc-i440fx-2.0</machine> + <machine maxCpus='288'>pc-q35-4.2</machine> + <machine maxCpus='255'>pc-i440fx-2.5</machine> + <machine maxCpus='255'>pc-i440fx-4.2</machine> + <machine maxCpus='255'>pc-i440fx-1.5</machine> + <machine maxCpus='255'>pc-q35-2.7</machine> + <machine maxCpus='255'>pc-i440fx-2.2</machine> + <machine maxCpus='255'>pc-1.1</machine> + <machine maxCpus='255'>pc-i440fx-2.7</machine> + <machine maxCpus='255'>pc-q35-2.4</machine> + <machine maxCpus='288'>pc-q35-2.10</machine> + <machine maxCpus='255'>pc-i440fx-1.7</machine> + <machine maxCpus='288'>pc-q35-5.1</machine> + <machine maxCpus='288'>pc-q35-2.9</machine> + <machine maxCpus='255'>pc-i440fx-2.11</machine> + <machine maxCpus='288'>pc-q35-3.1</machine> + <machine maxCpus='288'>pc-q35-4.1</machine> + <machine maxCpus='255'>pc-i440fx-2.4</machine> + <machine maxCpus='255'>pc-1.3</machine> + <machine maxCpus='255'>pc-i440fx-4.1</machine> + <machine maxCpus='255'>pc-i440fx-5.1</machine> + <machine maxCpus='255'>pc-i440fx-2.9</machine> + <machine maxCpus='1'>isapc</machine> + <machine maxCpus='255'>pc-i440fx-1.4</machine> + <machine maxCpus='255'>pc-q35-2.6</machine> + <machine maxCpus='255'>pc-i440fx-3.1</machine> + <machine maxCpus='288'>pc-q35-2.12</machine> + <machine maxCpus='255'>pc-i440fx-2.1</machine> + <machine maxCpus='255'>pc-1.0</machine> + <machine maxCpus='255'>pc-i440fx-2.6</machine> + <machine maxCpus='288'>pc-q35-4.0.1</machine> + <machine maxCpus='255'>pc-i440fx-1.6</machine> + <machine maxCpus='288'>pc-q35-5.0</machine> + <machine maxCpus='288'>pc-q35-2.8</machine> + <machine maxCpus='255'>pc-i440fx-2.10</machine> + <machine maxCpus='288'>pc-q35-3.0</machine> + <machine maxCpus='288'>pc-q35-4.0</machine> + <machine maxCpus='288'>microvm</machine> + <machine maxCpus='255'>pc-i440fx-2.3</machine> + <machine maxCpus='255'>pc-1.2</machine> + <machine maxCpus='255'>pc-i440fx-4.0</machine> + <machine maxCpus='255'>pc-i440fx-5.0</machine> + <machine maxCpus='255'>pc-i440fx-2.8</machine> + <machine maxCpus='255'>pc-q35-2.5</machine> + <machine maxCpus='255'>pc-i440fx-3.0</machine> + <machine maxCpus='288'>pc-q35-2.11</machine> + <domain type='qemu'/> + <domain type='kvm'/> + </arch> + <features> + <acpi default='on' toggle='yes'/> + <apic default='on' toggle='no'/> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='xtensa'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-xtensa</emulator> + <machine maxCpus='4'>sim</machine> + <machine maxCpus='32'>kc705</machine> + <machine maxCpus='32'>ml605</machine> + <machine maxCpus='32'>ml605-nommu</machine> + <machine maxCpus='32'>virt</machine> + <machine maxCpus='32'>lx60-nommu</machine> + <machine maxCpus='32'>lx200</machine> + <machine maxCpus='32'>lx200-nommu</machine> + <machine maxCpus='32'>lx60</machine> + <machine maxCpus='32'>kc705-nommu</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + + <guest> + <os_type>hvm</os_type> + <arch name='xtensaeb'> + <wordsize>32</wordsize> + <emulator>/usr/bin/qemu-system-xtensaeb</emulator> + <machine maxCpus='4'>sim</machine> + <machine maxCpus='32'>kc705</machine> + <machine maxCpus='32'>ml605</machine> + <machine maxCpus='32'>ml605-nommu</machine> + <machine maxCpus='32'>virt</machine> + <machine maxCpus='32'>lx60-nommu</machine> + <machine maxCpus='32'>lx200</machine> + <machine maxCpus='32'>lx200-nommu</machine> + <machine maxCpus='32'>lx60</machine> + <machine maxCpus='32'>kc705-nommu</machine> + <domain type='qemu'/> + </arch> + <features> + <cpuselection/> + <deviceboot/> + <disksnapshot default='on' toggle='no'/> + </features> + </guest> + +</capabilities> + + diff --git a/core/modules/qemu/runvirt-plugin-qemu/src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm.xml b/core/modules/qemu/runvirt-plugin-qemu/src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm.xml new file mode 100644 index 00000000..241a6807 --- /dev/null +++ b/core/modules/qemu/runvirt-plugin-qemu/src/test/resources/libvirt/xml/qemu-kvm_default-ubuntu-20-04-vm.xml @@ -0,0 +1,164 @@ +<domain type='kvm'> + <name>ubuntu-20-04</name> + <uuid>8dc5433c-0228-49e4-b019-fa2b606aa544</uuid> + <title>Ubuntu 20.04</title> + <description>Ubuntu 20.04 desktop installation</description> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://ubuntu.com/ubuntu/20.04"/> + </libosinfo:libosinfo> + </metadata> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <vcpu placement='static'>2</vcpu> + <os> + <type arch='x86_64' machine='pc-q35-5.1'>hvm</type> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <vmport state='off'/> + </features> + <cpu mode='host-model' check='partial'/> + <clock offset='utc'> + <timer name='rtc' tickpolicy='catchup'/> + <timer name='pit' tickpolicy='delay'/> + <timer name='hpet' present='no'/> + </clock> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <pm> + <suspend-to-mem enabled='no'/> + <suspend-to-disk enabled='no'/> + </pm> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <disk type='block' device='disk'> + <driver name='qemu' type='raw' cache='none' io='native'/> + <source dev='/dev/data/ubuntu-20-04.img'/> + <target dev='vda' bus='virtio'/> + <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> + </disk> + <disk type='file' device='cdrom'> + <driver name='qemu' type='raw'/> + <target dev='sda' bus='sata'/> + <readonly/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <disk type='file' device='floppy'> + <driver name='qemu' type='raw'/> + <target dev='fda' bus='fdc'/> + <address type='drive' controller='0' bus='0' target='0' unit='0'/> + </disk> + <controller type='usb' index='0' model='ich9-ehci1'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x7'/> + </controller> + <controller type='usb' index='0' model='ich9-uhci1'> + <master startport='0'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x0' multifunction='on'/> + </controller> + <controller type='usb' index='0' model='ich9-uhci2'> + <master startport='2'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x1'/> + </controller> + <controller type='usb' index='0' model='ich9-uhci3'> + <master startport='4'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1d' function='0x2'/> + </controller> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <controller type='pci' index='1' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='1' port='0x10'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='2' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='2' port='0x11'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> + </controller> + <controller type='pci' index='3' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='3' port='0x12'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> + </controller> + <controller type='pci' index='4' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='4' port='0x13'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> + </controller> + <controller type='pci' index='5' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='5' port='0x14'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> + </controller> + <controller type='pci' index='6' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='6' port='0x15'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> + </controller> + <controller type='virtio-serial' index='0'> + <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> + </controller> + <controller type='scsi' index='0' model='virtio-scsi'> + <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> + </controller> + <controller type='fdc' index='0'/> + <interface type='network'> + <mac address='52:54:00:0d:90:0c'/> + <source network='default'/> + <model type='virtio'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </interface> + <serial type='pty'> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + <channel type='unix'> + <target type='virtio' name='org.qemu.guest_agent.0'/> + <address type='virtio-serial' controller='0' bus='0' port='1'/> + </channel> + <channel type='spicevmc'> + <target type='virtio' name='com.redhat.spice.0'/> + <address type='virtio-serial' controller='0' bus='0' port='2'/> + </channel> + <input type='tablet' bus='usb'> + <address type='usb' bus='0' port='1'/> + </input> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <graphics type='spice' autoport='yes'> + <listen type='address'/> + <image compression='off'/> + </graphics> + <sound model='ich9'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/> + </sound> + <video> + <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> + </video> + <redirdev bus='usb' type='spicevmc'> + <address type='usb' bus='0' port='2'/> + </redirdev> + <redirdev bus='usb' type='spicevmc'> + <address type='usb' bus='0' port='3'/> + </redirdev> + <memballoon model='virtio'> + <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> + </memballoon> + <rng model='virtio'> + <backend model='random'>/dev/urandom</backend> + <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> + </rng> + </devices> +</domain> + |