mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 17:34:18 +03:00
xenconfig: add support for parsing type= xl config entry
builder="hvm" is deprecated since Xen 4.10, new syntax is type="hvm" (or type="pv", which is default). Since the old one is still supported, still use it when writing native config, so the config will work on older Xen too (and will also not complicate tests). Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> Reviewed-by: Jim Fehlig <jfehlig@suse.com>
This commit is contained in:
parent
45ea5688ab
commit
494fa1fd1b
@ -1098,9 +1098,21 @@ xenParseGeneralMeta(virConfPtr conf, virDomainDefPtr def, virCapsPtr caps)
|
||||
if (xenConfigGetUUID(conf, "uuid", def->uuid) < 0)
|
||||
goto out;
|
||||
|
||||
if ((xenConfigGetString(conf, "builder", &str, "linux") == 0) &&
|
||||
STREQ(str, "hvm"))
|
||||
hvm = 1;
|
||||
if (xenConfigGetString(conf, "type", &str, NULL) == 0 && str) {
|
||||
if (STREQ(str, "pv")) {
|
||||
hvm = 0;
|
||||
} else if (STREQ(str, "hvm")) {
|
||||
hvm = 1;
|
||||
} else {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("type %s is not supported"), str);
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
if ((xenConfigGetString(conf, "builder", &str, "linux") == 0) &&
|
||||
STREQ(str, "hvm"))
|
||||
hvm = 1;
|
||||
}
|
||||
|
||||
def->os.type = (hvm ? VIR_DOMAIN_OSTYPE_HVM : VIR_DOMAIN_OSTYPE_XEN);
|
||||
|
||||
|
21
tests/xlconfigdata/test-fullvirt-type.cfg
Normal file
21
tests/xlconfigdata/test-fullvirt-type.cfg
Normal file
@ -0,0 +1,21 @@
|
||||
name = "XenGuest2"
|
||||
uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
|
||||
maxmem = 579
|
||||
memory = 394
|
||||
vcpus = 1
|
||||
pae = 1
|
||||
acpi = 1
|
||||
apic = 1
|
||||
viridian = 0
|
||||
rtc_timeoffset = 0
|
||||
localtime = 0
|
||||
on_poweroff = "destroy"
|
||||
on_reboot = "restart"
|
||||
on_crash = "restart"
|
||||
device_model = "/usr/lib/xen/bin/qemu-system-i386"
|
||||
sdl = 0
|
||||
vnc = 0
|
||||
parallel = "none"
|
||||
serial = "none"
|
||||
type = "hvm"
|
||||
boot = "d"
|
27
tests/xlconfigdata/test-fullvirt-type.xml
Normal file
27
tests/xlconfigdata/test-fullvirt-type.xml
Normal file
@ -0,0 +1,27 @@
|
||||
<domain type='xen'>
|
||||
<name>XenGuest2</name>
|
||||
<uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>592896</memory>
|
||||
<currentMemory unit='KiB'>403456</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='x86_64' machine='xenfv'>hvm</type>
|
||||
<loader type='rom'>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='cdrom'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='variable' adjustment='0' basis='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/lib/xen/bin/qemu-system-i386</emulator>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<input type='keyboard' bus='ps2'/>
|
||||
<memballoon model='xen'/>
|
||||
</devices>
|
||||
</domain>
|
13
tests/xlconfigdata/test-paravirt-type.cfg
Normal file
13
tests/xlconfigdata/test-paravirt-type.cfg
Normal file
@ -0,0 +1,13 @@
|
||||
name = "XenGuest2"
|
||||
uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
|
||||
type = "pv"
|
||||
maxmem = 579
|
||||
memory = 394
|
||||
vcpus = 1
|
||||
localtime = 0
|
||||
on_poweroff = "destroy"
|
||||
on_reboot = "restart"
|
||||
on_crash = "restart"
|
||||
kernel = "/tmp/vmlinuz"
|
||||
ramdisk = "/tmp/initrd"
|
||||
cmdline = "root=/dev/xvda1 console=hvc0"
|
25
tests/xlconfigdata/test-paravirt-type.xml
Normal file
25
tests/xlconfigdata/test-paravirt-type.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<domain type='xen'>
|
||||
<name>XenGuest2</name>
|
||||
<uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>592896</memory>
|
||||
<currentMemory unit='KiB'>403456</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='x86_64' machine='xenpv'>linux</type>
|
||||
<kernel>/tmp/vmlinuz</kernel>
|
||||
<initrd>/tmp/initrd</initrd>
|
||||
<cmdline>root=/dev/xvda1 console=hvc0</cmdline>
|
||||
</os>
|
||||
<clock offset='utc' adjustment='reset'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<console type='pty'>
|
||||
<target type='xen' port='0'/>
|
||||
</console>
|
||||
<input type='mouse' bus='xen'/>
|
||||
<input type='keyboard' bus='xen'/>
|
||||
<memballoon model='xen'/>
|
||||
</devices>
|
||||
</domain>
|
@ -279,6 +279,8 @@ mymain(void)
|
||||
DO_TEST_FORMAT("paravirt-cmdline-extra-root", false);
|
||||
DO_TEST_FORMAT("paravirt-cmdline-bogus-extra-root", false);
|
||||
DO_TEST("rbd-multihost-noauth");
|
||||
DO_TEST_FORMAT("paravirt-type", false);
|
||||
DO_TEST_FORMAT("fullvirt-type", false);
|
||||
|
||||
#ifdef LIBXL_HAVE_DEVICE_CHANNEL
|
||||
DO_TEST("channel-pty");
|
||||
|
Loading…
Reference in New Issue
Block a user