mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 10:52:22 +00:00
Added new <clock/> element in XML for choosing utc/localtime
This commit is contained in:
parent
657b5eb50c
commit
67c346b102
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
Mon Jul 16 16:59:24 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
* src/qemu_conf.c, src/qemu_conf.h, src/xend_internal.c,
|
||||||
|
src/xm_internal.c, src/xml.c: Added support for the <clock/>
|
||||||
|
element to switch between UTC and localtime in guests
|
||||||
|
* tests/sexpr2xmltest.c, tests/xmconfigtest.c,
|
||||||
|
tests/xml2sexprtest.c, tests/sexpr2xmldata/*,
|
||||||
|
tests/xml2sexprdata/*, tests/xmconfigdata/*: Added test
|
||||||
|
cases for new <clock/> element, and adapted existing expected
|
||||||
|
data files where needed.
|
||||||
|
* docs/libvir.html, docs/format.html: Added docs about the
|
||||||
|
new <clock/> element
|
||||||
|
|
||||||
Fri Jul 13 14:25:16 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
Fri Jul 13 14:25:16 CEST 2007 Daniel Veillard <veillard@redhat.com>
|
||||||
|
|
||||||
* src/xml.c: applied modified patch from Masayuki Sunou for
|
* src/xml.c: applied modified patch from Masayuki Sunou for
|
||||||
|
@ -117,6 +117,7 @@ systems:</p><pre><domain type='xen' id='3'>
|
|||||||
<acpi/>
|
<acpi/>
|
||||||
<apic/></span>
|
<apic/></span>
|
||||||
</features>
|
</features>
|
||||||
|
<span style="color: #0000E5; background-color: #FFFFFF"><clock sync="localtime"/></span>
|
||||||
<devices>
|
<devices>
|
||||||
<span style="color: #0000E5; background-color: #FFFFFF"><emulator>/usr/lib/xen/bin/qemu-dm</emulator></span>
|
<span style="color: #0000E5; background-color: #FFFFFF"><emulator>/usr/lib/xen/bin/qemu-dm</emulator></span>
|
||||||
<interface type='bridge'>
|
<interface type='bridge'>
|
||||||
@ -146,6 +147,11 @@ systems:</p><pre><domain type='xen' id='3'>
|
|||||||
<li><code>apic</code> - enable IO APIC</li>
|
<li><code>apic</code> - enable IO APIC</li>
|
||||||
<li><code>acpi</code> - enable ACPI bios</li>
|
<li><code>acpi</code> - enable ACPI bios</li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
|
<li>the optional <code><clock></code> element is used to specify
|
||||||
|
whether the emulated BIOS clock in the guest is synced to either
|
||||||
|
<code>localtime</code> or <code>utc</code>. In general Windows will
|
||||||
|
want <code>localtime</code> while all other operating systems will
|
||||||
|
want <code>utc</code>. The default is thus <code>utc</code></li>
|
||||||
<li>the <code><os></code> block description is very different, first
|
<li>the <code><os></code> block description is very different, first
|
||||||
it indicates that the type is 'hvm' for hardware virtualization, then
|
it indicates that the type is 'hvm' for hardware virtualization, then
|
||||||
instead of a kernel, boot and command line arguments, it points to an os
|
instead of a kernel, boot and command line arguments, it points to an os
|
||||||
@ -194,6 +200,7 @@ XML description is quite similar, here is a simple example:</p><pre><domain <
|
|||||||
<os>
|
<os>
|
||||||
<type>hvm</type>
|
<type>hvm</type>
|
||||||
</os>
|
</os>
|
||||||
|
<span style="color: #0000E5; background-color: #FFFFFF"><clock sync="localtime"/></span>
|
||||||
<devices>
|
<devices>
|
||||||
<span style="color: #FF0000; background-color: #FFFFFF"><emulator>/home/user/usr/kvm-devel/bin/qemu-system-x86_64</emulator></span>
|
<span style="color: #FF0000; background-color: #FFFFFF"><emulator>/home/user/usr/kvm-devel/bin/qemu-system-x86_64</emulator></span>
|
||||||
<disk type='file' device='disk'>
|
<disk type='file' device='disk'>
|
||||||
@ -206,6 +213,7 @@ XML description is quite similar, here is a simple example:</p><pre><domain <
|
|||||||
<graphics type='vnc' port='-1'/>
|
<graphics type='vnc' port='-1'/>
|
||||||
</devices>
|
</devices>
|
||||||
</domain></pre><p>The specific points to note if using KVM are:</p><ul><li>the top level domain element carries a type of 'kvm'</li>
|
</domain></pre><p>The specific points to note if using KVM are:</p><ul><li>the top level domain element carries a type of 'kvm'</li>
|
||||||
|
<li>the <clock> optional is supported as with Xen HVM</li>
|
||||||
<li>the <devices> emulator points to the special qemu binary required
|
<li>the <devices> emulator points to the special qemu binary required
|
||||||
for KVM</li>
|
for KVM</li>
|
||||||
<li>networking interface definitions definitions are somewhat different due
|
<li>networking interface definitions definitions are somewhat different due
|
||||||
|
@ -738,6 +738,7 @@ systems:</p>
|
|||||||
<acpi/>
|
<acpi/>
|
||||||
<apic/></span>
|
<apic/></span>
|
||||||
</features>
|
</features>
|
||||||
|
<span style="color: #0000E5; background-color: #FFFFFF"><clock sync="localtime"/></span>
|
||||||
<devices>
|
<devices>
|
||||||
<span style="color: #0000E5; background-color: #FFFFFF"><emulator>/usr/lib/xen/bin/qemu-dm</emulator></span>
|
<span style="color: #0000E5; background-color: #FFFFFF"><emulator>/usr/lib/xen/bin/qemu-dm</emulator></span>
|
||||||
<interface type='bridge'>
|
<interface type='bridge'>
|
||||||
@ -773,6 +774,11 @@ systems:</p>
|
|||||||
<li><code>acpi</code> - enable ACPI bios</li>
|
<li><code>acpi</code> - enable ACPI bios</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li>the optional <code><clock></code> element is used to specify
|
||||||
|
whether the emulated BIOS clock in the guest is synced to either
|
||||||
|
<code>localtime</code> or <code>utc</code>. In general Windows will
|
||||||
|
want <code>localtime</code> while all other operating systems will
|
||||||
|
want <code>utc</code>. The default is thus <code>utc</code></li>
|
||||||
<li>the <code><os></code> block description is very different, first
|
<li>the <code><os></code> block description is very different, first
|
||||||
it indicates that the type is 'hvm' for hardware virtualization, then
|
it indicates that the type is 'hvm' for hardware virtualization, then
|
||||||
instead of a kernel, boot and command line arguments, it points to an os
|
instead of a kernel, boot and command line arguments, it points to an os
|
||||||
@ -832,6 +838,7 @@ XML description is quite similar, here is a simple example:</p>
|
|||||||
<os>
|
<os>
|
||||||
<type>hvm</type>
|
<type>hvm</type>
|
||||||
</os>
|
</os>
|
||||||
|
<span style="color: #0000E5; background-color: #FFFFFF"><clock sync="localtime"/></span>
|
||||||
<devices>
|
<devices>
|
||||||
<span style="color: #FF0000; background-color: #FFFFFF"><emulator>/home/user/usr/kvm-devel/bin/qemu-system-x86_64</emulator></span>
|
<span style="color: #FF0000; background-color: #FFFFFF"><emulator>/home/user/usr/kvm-devel/bin/qemu-system-x86_64</emulator></span>
|
||||||
<disk type='file' device='disk'>
|
<disk type='file' device='disk'>
|
||||||
@ -848,6 +855,7 @@ XML description is quite similar, here is a simple example:</p>
|
|||||||
<p>The specific points to note if using KVM are:</p>
|
<p>The specific points to note if using KVM are:</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>the top level domain element carries a type of 'kvm'</li>
|
<li>the top level domain element carries a type of 'kvm'</li>
|
||||||
|
<li>the <clock> optional is supported as with Xen HVM</li>
|
||||||
<li>the <devices> emulator points to the special qemu binary required
|
<li>the <devices> emulator points to the special qemu binary required
|
||||||
for KVM</li>
|
for KVM</li>
|
||||||
<li>networking interface definitions definitions are somewhat different due
|
<li>networking interface definitions definitions are somewhat different due
|
||||||
|
@ -967,6 +967,20 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
|
|||||||
if (obj)
|
if (obj)
|
||||||
xmlXPathFreeObject(obj);
|
xmlXPathFreeObject(obj);
|
||||||
|
|
||||||
|
/* See if we set clock to localtime */
|
||||||
|
obj = xmlXPathEval(BAD_CAST "string(/domain/clock/@offset)", ctxt);
|
||||||
|
if ((obj == NULL) || (obj->type != XPATH_STRING) ||
|
||||||
|
(obj->stringval == NULL) || (obj->stringval[0] == 0)) {
|
||||||
|
def->localtime = 0;
|
||||||
|
} else {
|
||||||
|
if (!strcmp((char*)obj->stringval, "localtime"))
|
||||||
|
def->localtime = 1;
|
||||||
|
else
|
||||||
|
def->localtime = 0;
|
||||||
|
}
|
||||||
|
if (obj)
|
||||||
|
xmlXPathFreeObject(obj);
|
||||||
|
|
||||||
|
|
||||||
/* Extract OS type info */
|
/* Extract OS type info */
|
||||||
obj = xmlXPathEval(BAD_CAST "string(/domain/os/type[1])", ctxt);
|
obj = xmlXPathEval(BAD_CAST "string(/domain/os/type[1])", ctxt);
|
||||||
@ -1338,6 +1352,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
2 + /* cpus */
|
2 + /* cpus */
|
||||||
2 + /* boot device */
|
2 + /* boot device */
|
||||||
2 + /* monitor */
|
2 + /* monitor */
|
||||||
|
(vm->def->localtime ? 1 : 0) + /* localtime */
|
||||||
(driver->qemuCmdFlags & QEMUD_CMD_FLAG_NO_REBOOT &&
|
(driver->qemuCmdFlags & QEMUD_CMD_FLAG_NO_REBOOT &&
|
||||||
vm->def->noReboot ? 1 : 0) + /* no-reboot */
|
vm->def->noReboot ? 1 : 0) + /* no-reboot */
|
||||||
(vm->def->features & QEMUD_FEATURE_ACPI ? 0 : 1) + /* acpi */
|
(vm->def->features & QEMUD_FEATURE_ACPI ? 0 : 1) + /* acpi */
|
||||||
@ -1376,6 +1391,11 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
|||||||
if (!((*argv)[++n] = strdup("pty")))
|
if (!((*argv)[++n] = strdup("pty")))
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
|
|
||||||
|
if (vm->def->localtime) {
|
||||||
|
if (!((*argv)[++n] = strdup("-localtime")))
|
||||||
|
goto no_memory;
|
||||||
|
}
|
||||||
|
|
||||||
if (driver->qemuCmdFlags & QEMUD_CMD_FLAG_NO_REBOOT &&
|
if (driver->qemuCmdFlags & QEMUD_CMD_FLAG_NO_REBOOT &&
|
||||||
vm->def->noReboot) {
|
vm->def->noReboot) {
|
||||||
if (!((*argv)[++n] = strdup("-no-reboot")))
|
if (!((*argv)[++n] = strdup("-no-reboot")))
|
||||||
@ -2623,6 +2643,8 @@ char *qemudGenerateXML(virConnectPtr conn,
|
|||||||
goto no_memory;
|
goto no_memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virBufferVSprintf(buf, " <clock offset='%s'/>\n", def->localtime ? "localtime" : "utc");
|
||||||
|
|
||||||
if (virBufferAdd(buf, " <on_poweroff>destroy</on_poweroff>\n", -1) < 0)
|
if (virBufferAdd(buf, " <on_poweroff>destroy</on_poweroff>\n", -1) < 0)
|
||||||
goto no_memory;
|
goto no_memory;
|
||||||
if (def->noReboot) {
|
if (def->noReboot) {
|
||||||
|
@ -164,6 +164,7 @@ struct qemud_vm_def {
|
|||||||
|
|
||||||
struct qemud_vm_os_def os;
|
struct qemud_vm_os_def os;
|
||||||
|
|
||||||
|
int localtime;
|
||||||
int features;
|
int features;
|
||||||
int graphicsType;
|
int graphicsType;
|
||||||
int vncPort;
|
int vncPort;
|
||||||
|
@ -1442,6 +1442,8 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root, int xendConfigVersi
|
|||||||
virBufferVSprintf(&buf, " <on_crash>%s</on_crash>\n", tmp);
|
virBufferVSprintf(&buf, " <on_crash>%s</on_crash>\n", tmp);
|
||||||
|
|
||||||
if (hvm) {
|
if (hvm) {
|
||||||
|
int clockLocal;
|
||||||
|
|
||||||
virBufferAdd(&buf, " <features>\n", 13);
|
virBufferAdd(&buf, " <features>\n", 13);
|
||||||
if (sexpr_int(root, "domain/image/hvm/acpi"))
|
if (sexpr_int(root, "domain/image/hvm/acpi"))
|
||||||
virBufferAdd(&buf, " <acpi/>\n", 12);
|
virBufferAdd(&buf, " <acpi/>\n", 12);
|
||||||
@ -1450,6 +1452,9 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root, int xendConfigVersi
|
|||||||
if (sexpr_int(root, "domain/image/hvm/pae"))
|
if (sexpr_int(root, "domain/image/hvm/pae"))
|
||||||
virBufferAdd(&buf, " <pae/>\n", 11);
|
virBufferAdd(&buf, " <pae/>\n", 11);
|
||||||
virBufferAdd(&buf, " </features>\n", 14);
|
virBufferAdd(&buf, " </features>\n", 14);
|
||||||
|
|
||||||
|
clockLocal = sexpr_int(root, "domain/image/hvm/localtime");
|
||||||
|
virBufferVSprintf(&buf, " <clock offset='%s'/>\n", clockLocal ? "localtime" : "utc");
|
||||||
}
|
}
|
||||||
|
|
||||||
virBufferAdd(&buf, " <devices>\n", 12);
|
virBufferAdd(&buf, " <devices>\n", 12);
|
||||||
|
@ -708,6 +708,10 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
|
|||||||
val)
|
val)
|
||||||
virBufferAdd(buf, " <apic/>\n", -1);
|
virBufferAdd(buf, " <apic/>\n", -1);
|
||||||
virBufferAdd(buf, " </features>\n", -1);
|
virBufferAdd(buf, " </features>\n", -1);
|
||||||
|
|
||||||
|
if (xenXMConfigGetInt(conf, "localtime", &val) < 0)
|
||||||
|
val = 0;
|
||||||
|
virBufferVSprintf(buf, " <clock offset='%s'/>\n", val ? "localtime" : "utc");
|
||||||
}
|
}
|
||||||
|
|
||||||
virBufferAdd(buf, " <devices>\n", -1);
|
virBufferAdd(buf, " <devices>\n", -1);
|
||||||
@ -1812,6 +1816,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
|||||||
|
|
||||||
if (hvm) {
|
if (hvm) {
|
||||||
const char *boot = "c";
|
const char *boot = "c";
|
||||||
|
int clockLocal = 0;
|
||||||
if (xenXMConfigSetString(conf, "builder", "hvm") < 0)
|
if (xenXMConfigSetString(conf, "builder", "hvm") < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
@ -1845,6 +1850,16 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
|
|||||||
"cannot set the apic parameter") < 0)
|
"cannot set the apic parameter") < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
obj = xmlXPathEval(BAD_CAST "string(/domain/clock/@offset)", ctxt);
|
||||||
|
if ((obj != NULL) && (obj->type == XPATH_STRING) &&
|
||||||
|
(obj->stringval != NULL)) {
|
||||||
|
if (!strcmp((const char*)obj->stringval, "localtime"))
|
||||||
|
clockLocal = 1;
|
||||||
|
}
|
||||||
|
xmlXPathFreeObject(obj);
|
||||||
|
if (xenXMConfigSetInt(conf, "localtime", clockLocal) < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
if (priv->xendConfigVersion == 1) {
|
if (priv->xendConfigVersion == 1) {
|
||||||
if (xenXMConfigSetStringFromXPath(conn, conf, ctxt, "cdrom", "string(/domain/devices/disk[@device='cdrom']/source/@file)", 1,
|
if (xenXMConfigSetStringFromXPath(conn, conf, ctxt, "cdrom", "string(/domain/devices/disk[@device='cdrom']/source/@file)", 1,
|
||||||
"cannot set the cdrom parameter") < 0)
|
"cannot set the cdrom parameter") < 0)
|
||||||
|
@ -562,6 +562,11 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node, virBufferPtr buf
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
str = virXPathString("string(/domain/clock/@offset)", ctxt);
|
||||||
|
if (str != NULL && !strcmp(str, "localtime")) {
|
||||||
|
virBufferAdd(buf, "(localtime 1)", 13);
|
||||||
|
}
|
||||||
|
|
||||||
virBufferAdd(buf, "))", 2);
|
virBufferAdd(buf, "))", 2);
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
|
1
tests/sexpr2xmldata/sexpr2xml-fv-localtime.sexpr
Normal file
1
tests/sexpr2xmldata/sexpr2xml-fv-localtime.sexpr
Normal file
@ -0,0 +1 @@
|
|||||||
|
(domain (domid 3)(name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)(uuid 'b5d70dd275cdaca517769660b059d8bc')(on_poweroff 'destroy')(on_reboot 'restart')(on_crash 'restart')(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(device_model '/usr/lib64/xen/bin/qemu-dm')(boot c)(cdrom '/root/boot.iso')(acpi 1)(vnc 1)(keymap ja)(localtime 1)))(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')(type ioemu))))
|
38
tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
Normal file
38
tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<domain type='xen' id='3'>
|
||||||
|
<name>fvtest</name>
|
||||||
|
<uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
|
||||||
|
<os>
|
||||||
|
<type>hvm</type>
|
||||||
|
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
<boot dev='hd'/>
|
||||||
|
</os>
|
||||||
|
<memory>409600</memory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<features>
|
||||||
|
<acpi/>
|
||||||
|
</features>
|
||||||
|
<clock offset='localtime'/>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='file'/>
|
||||||
|
<source file='/root/foo.img'/>
|
||||||
|
<target dev='hda'/>
|
||||||
|
</disk>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<source bridge='xenbr0'/>
|
||||||
|
<mac address='00:16:3e:1b:b1:47'/>
|
||||||
|
<script path='vif-bridge'/>
|
||||||
|
</interface>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<driver name='file'/>
|
||||||
|
<source file='/root/boot.iso'/>
|
||||||
|
<target dev='hdc'/>
|
||||||
|
<readonly/>
|
||||||
|
</disk>
|
||||||
|
<graphics type='vnc' port='5903' keymap='ja'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
1
tests/sexpr2xmldata/sexpr2xml-fv-utc.sexpr
Normal file
1
tests/sexpr2xmldata/sexpr2xml-fv-utc.sexpr
Normal file
@ -0,0 +1 @@
|
|||||||
|
(domain (domid 3)(name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)(uuid 'b5d70dd275cdaca517769660b059d8bc')(on_poweroff 'destroy')(on_reboot 'restart')(on_crash 'restart')(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(device_model '/usr/lib64/xen/bin/qemu-dm')(boot c)(cdrom '/root/boot.iso')(acpi 1)(vnc 1)(keymap ja)))(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')(type ioemu))))
|
38
tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
Normal file
38
tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<domain type='xen' id='3'>
|
||||||
|
<name>fvtest</name>
|
||||||
|
<uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
|
||||||
|
<os>
|
||||||
|
<type>hvm</type>
|
||||||
|
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
<boot dev='hd'/>
|
||||||
|
</os>
|
||||||
|
<memory>409600</memory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<features>
|
||||||
|
<acpi/>
|
||||||
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||||
|
<disk type='file' device='disk'>
|
||||||
|
<driver name='file'/>
|
||||||
|
<source file='/root/foo.img'/>
|
||||||
|
<target dev='hda'/>
|
||||||
|
</disk>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<source bridge='xenbr0'/>
|
||||||
|
<mac address='00:16:3e:1b:b1:47'/>
|
||||||
|
<script path='vif-bridge'/>
|
||||||
|
</interface>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<driver name='file'/>
|
||||||
|
<source file='/root/boot.iso'/>
|
||||||
|
<target dev='hdc'/>
|
||||||
|
<readonly/>
|
||||||
|
</disk>
|
||||||
|
<graphics type='vnc' port='5903' keymap='ja'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
@ -14,6 +14,7 @@
|
|||||||
<features>
|
<features>
|
||||||
<acpi/>
|
<acpi/>
|
||||||
</features>
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
<devices>
|
<devices>
|
||||||
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||||
<disk type='file' device='cdrom'>
|
<disk type='file' device='cdrom'>
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
<features>
|
<features>
|
||||||
<acpi/>
|
<acpi/>
|
||||||
</features>
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
<devices>
|
<devices>
|
||||||
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||||
<disk type='file' device='disk'>
|
<disk type='file' device='disk'>
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<apic/>
|
<apic/>
|
||||||
<pae/>
|
<pae/>
|
||||||
</features>
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
<devices>
|
<devices>
|
||||||
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||||
<interface type='bridge'>
|
<interface type='bridge'>
|
||||||
|
@ -28,12 +28,13 @@ static int testCompareFiles(const char *xml, const char *sexpr, int xendConfigVe
|
|||||||
if (!(gotxml = xend_parse_domain_sexp(NULL, sexprData, xendConfigVersion)))
|
if (!(gotxml = xend_parse_domain_sexp(NULL, sexprData, xendConfigVersion)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (getenv("DEBUG_TESTS")) {
|
if (strcmp(xmlData, gotxml)) {
|
||||||
printf("Expect %d '%s'\n", (int)strlen(xmlData), xmlData);
|
if (getenv("DEBUG_TESTS")) {
|
||||||
printf("Actual %d '%s'\n", (int)strlen(gotxml), gotxml);
|
printf("Expect %d '%s'\n", (int)strlen(xmlData), xmlData);
|
||||||
}
|
printf("Actual %d '%s'\n", (int)strlen(gotxml), gotxml);
|
||||||
if (strcmp(xmlData, gotxml))
|
}
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -136,6 +137,19 @@ static int testCompareNoSourceCDRom(void *data ATTRIBUTE_UNUSED) {
|
|||||||
1);
|
1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int testCompareFVclockUTC(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareFiles("sexpr2xmldata/sexpr2xml-fv-utc.xml",
|
||||||
|
"sexpr2xmldata/sexpr2xml-fv-utc.sexpr",
|
||||||
|
1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int testCompareFVclockLocaltime(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareFiles("sexpr2xmldata/sexpr2xml-fv-localtime.xml",
|
||||||
|
"sexpr2xmldata/sexpr2xml-fv-localtime.sexpr",
|
||||||
|
1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
@ -209,6 +223,14 @@ main(int argc, char **argv)
|
|||||||
1, testCompareNoSourceCDRom, NULL) != 0)
|
1, testCompareNoSourceCDRom, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
|
if (virtTestRun("SEXPR-2-XML clock UTC",
|
||||||
|
1, testCompareFVclockUTC, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
|
if (virtTestRun("SEXPR-2-XML clock Localtime",
|
||||||
|
1, testCompareFVclockLocaltime, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
|
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
#else /* WITHOUT_XEN */
|
#else /* WITHOUT_XEN */
|
||||||
|
23
tests/xmconfigdata/test-fullvirt-localtime.cfg
Executable file
23
tests/xmconfigdata/test-fullvirt-localtime.cfg
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
name = "XenGuest2"
|
||||||
|
uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
|
||||||
|
maxmem = 579
|
||||||
|
memory = 394
|
||||||
|
vcpus = 1
|
||||||
|
builder = "hvm"
|
||||||
|
kernel = "/usr/lib/xen/boot/hvmloader"
|
||||||
|
boot = "d"
|
||||||
|
pae = 1
|
||||||
|
acpi = 1
|
||||||
|
apic = 1
|
||||||
|
localtime = 1
|
||||||
|
on_poweroff = "destroy"
|
||||||
|
on_reboot = "restart"
|
||||||
|
on_crash = "restart"
|
||||||
|
device_model = "/usr/lib/xen/bin/qemu-dm"
|
||||||
|
sdl = 0
|
||||||
|
vnc = 1
|
||||||
|
vncunused = 1
|
||||||
|
vnclisten = "127.0.0.1"
|
||||||
|
vncpasswd = "123poi"
|
||||||
|
disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
|
||||||
|
vif = [ "mac=00:16:3E:66:92:9C,bridge=xenbr1,type=ioemu" ]
|
40
tests/xmconfigdata/test-fullvirt-localtime.xml
Normal file
40
tests/xmconfigdata/test-fullvirt-localtime.xml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<domain type='xen'>
|
||||||
|
<name>XenGuest2</name>
|
||||||
|
<uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
|
||||||
|
<os>
|
||||||
|
<type>hvm</type>
|
||||||
|
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
<boot dev='cdrom'/>
|
||||||
|
</os>
|
||||||
|
<currentMemory>403456</currentMemory>
|
||||||
|
<memory>592896</memory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<features>
|
||||||
|
<pae/>
|
||||||
|
<acpi/>
|
||||||
|
<apic/>
|
||||||
|
</features>
|
||||||
|
<clock offset='localtime'/>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||||
|
<disk type='block' device='disk'>
|
||||||
|
<driver name='phy'/>
|
||||||
|
<source dev='/dev/HostVG/XenGuest2'/>
|
||||||
|
<target dev='hda'/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<driver name='file'/>
|
||||||
|
<source file='/root/boot.iso'/>
|
||||||
|
<target dev='hdc'/>
|
||||||
|
<readonly/>
|
||||||
|
</disk>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<mac address='00:16:3E:66:92:9C'/>
|
||||||
|
<source bridge='xenbr1'/>
|
||||||
|
</interface>
|
||||||
|
<graphics type='vnc' port='-1' listen='127.0.0.1' passwd='123poi'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
@ -9,6 +9,7 @@ boot = "d"
|
|||||||
pae = 1
|
pae = 1
|
||||||
acpi = 1
|
acpi = 1
|
||||||
apic = 1
|
apic = 1
|
||||||
|
localtime = 0
|
||||||
on_poweroff = "destroy"
|
on_poweroff = "destroy"
|
||||||
on_reboot = "restart"
|
on_reboot = "restart"
|
||||||
on_crash = "restart"
|
on_crash = "restart"
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<acpi/>
|
<acpi/>
|
||||||
<apic/>
|
<apic/>
|
||||||
</features>
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
<devices>
|
<devices>
|
||||||
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||||
<disk type='block' device='disk'>
|
<disk type='block' device='disk'>
|
||||||
|
@ -9,6 +9,7 @@ boot = "d"
|
|||||||
pae = 1
|
pae = 1
|
||||||
acpi = 1
|
acpi = 1
|
||||||
apic = 1
|
apic = 1
|
||||||
|
localtime = 0
|
||||||
cdrom = "/root/boot.iso"
|
cdrom = "/root/boot.iso"
|
||||||
on_poweroff = "destroy"
|
on_poweroff = "destroy"
|
||||||
on_reboot = "restart"
|
on_reboot = "restart"
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<acpi/>
|
<acpi/>
|
||||||
<apic/>
|
<apic/>
|
||||||
</features>
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
<devices>
|
<devices>
|
||||||
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||||
<disk type='block' device='disk'>
|
<disk type='block' device='disk'>
|
||||||
|
23
tests/xmconfigdata/test-fullvirt-utc.cfg
Executable file
23
tests/xmconfigdata/test-fullvirt-utc.cfg
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
name = "XenGuest2"
|
||||||
|
uuid = "c7a5fdb2cdaf9455926ad65c16db1809"
|
||||||
|
maxmem = 579
|
||||||
|
memory = 394
|
||||||
|
vcpus = 1
|
||||||
|
builder = "hvm"
|
||||||
|
kernel = "/usr/lib/xen/boot/hvmloader"
|
||||||
|
boot = "d"
|
||||||
|
pae = 1
|
||||||
|
acpi = 1
|
||||||
|
apic = 1
|
||||||
|
localtime = 0
|
||||||
|
on_poweroff = "destroy"
|
||||||
|
on_reboot = "restart"
|
||||||
|
on_crash = "restart"
|
||||||
|
device_model = "/usr/lib/xen/bin/qemu-dm"
|
||||||
|
sdl = 0
|
||||||
|
vnc = 1
|
||||||
|
vncunused = 1
|
||||||
|
vnclisten = "127.0.0.1"
|
||||||
|
vncpasswd = "123poi"
|
||||||
|
disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
|
||||||
|
vif = [ "mac=00:16:3E:66:92:9C,bridge=xenbr1,type=ioemu" ]
|
40
tests/xmconfigdata/test-fullvirt-utc.xml
Normal file
40
tests/xmconfigdata/test-fullvirt-utc.xml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<domain type='xen'>
|
||||||
|
<name>XenGuest2</name>
|
||||||
|
<uuid>c7a5fdb2cdaf9455926ad65c16db1809</uuid>
|
||||||
|
<os>
|
||||||
|
<type>hvm</type>
|
||||||
|
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
<boot dev='cdrom'/>
|
||||||
|
</os>
|
||||||
|
<currentMemory>403456</currentMemory>
|
||||||
|
<memory>592896</memory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<features>
|
||||||
|
<pae/>
|
||||||
|
<acpi/>
|
||||||
|
<apic/>
|
||||||
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||||
|
<disk type='block' device='disk'>
|
||||||
|
<driver name='phy'/>
|
||||||
|
<source dev='/dev/HostVG/XenGuest2'/>
|
||||||
|
<target dev='hda'/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<driver name='file'/>
|
||||||
|
<source file='/root/boot.iso'/>
|
||||||
|
<target dev='hdc'/>
|
||||||
|
<readonly/>
|
||||||
|
</disk>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<mac address='00:16:3E:66:92:9C'/>
|
||||||
|
<source bridge='xenbr1'/>
|
||||||
|
</interface>
|
||||||
|
<graphics type='vnc' port='-1' listen='127.0.0.1' passwd='123poi'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
@ -49,7 +49,7 @@ static int testCompareParseXML(const char *xmcfg, const char *xml, int xendConfi
|
|||||||
void *old_priv;
|
void *old_priv;
|
||||||
struct _xenUnifiedPrivate priv;
|
struct _xenUnifiedPrivate priv;
|
||||||
|
|
||||||
conn = virConnectOpen("test:///default");
|
conn = virConnectOpenReadOnly("test:///default");
|
||||||
if (!conn) goto fail;
|
if (!conn) goto fail;
|
||||||
old_priv = conn->privateData;
|
old_priv = conn->privateData;
|
||||||
|
|
||||||
@ -70,12 +70,13 @@ static int testCompareParseXML(const char *xmcfg, const char *xml, int xendConfi
|
|||||||
goto fail;
|
goto fail;
|
||||||
gotxmcfgPtr[wrote] = '\0';
|
gotxmcfgPtr[wrote] = '\0';
|
||||||
|
|
||||||
if (getenv("DEBUG_TESTS")) {
|
if (strcmp(xmcfgData, gotxmcfgData)) {
|
||||||
printf("Expect %d '%s'\n", (int)strlen(xmcfgData), xmcfgData);
|
if (getenv("DEBUG_TESTS")) {
|
||||||
printf("Actual %d '%s'\n", (int)strlen(gotxmcfgData), gotxmcfgData);
|
printf("Expect %d '%s'\n", (int)strlen(xmcfgData), xmcfgData);
|
||||||
}
|
printf("Actual %d '%s'\n", (int)strlen(gotxmcfgData), gotxmcfgData);
|
||||||
if (strcmp(xmcfgData, gotxmcfgData))
|
}
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -103,7 +104,7 @@ static int testCompareFormatXML(const char *xmcfg, const char *xml, int xendConf
|
|||||||
void *old_priv;
|
void *old_priv;
|
||||||
struct _xenUnifiedPrivate priv;
|
struct _xenUnifiedPrivate priv;
|
||||||
|
|
||||||
conn = virConnectOpen("test:///default");
|
conn = virConnectOpenReadOnly("test:///default");
|
||||||
if (!conn) goto fail;
|
if (!conn) goto fail;
|
||||||
old_priv = conn->privateData;
|
old_priv = conn->privateData;
|
||||||
|
|
||||||
@ -123,12 +124,13 @@ static int testCompareFormatXML(const char *xmcfg, const char *xml, int xendConf
|
|||||||
if (!(gotxml = xenXMDomainFormatXML(conn, conf)))
|
if (!(gotxml = xenXMDomainFormatXML(conn, conf)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (getenv("DEBUG_TESTS")) {
|
if (strcmp(xmlData, gotxml)) {
|
||||||
printf("Expect %d '%s'\n", (int)strlen(xmlData), xmlData);
|
if (getenv("DEBUG_TESTS")) {
|
||||||
printf("Actual %d '%s'\n", (int)strlen(gotxml), gotxml);
|
printf("Expect %d '%s'\n", (int)strlen(xmlData), xmlData);
|
||||||
}
|
printf("Actual %d '%s'\n", (int)strlen(gotxml), gotxml);
|
||||||
if (strcmp(xmlData, gotxml))
|
}
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
@ -190,6 +192,29 @@ static int testCompareFullvirtNewCDROMParse(void *data ATTRIBUTE_UNUSED) {
|
|||||||
2);
|
2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int testCompareFullvirtClockUTCFormat(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareFormatXML("xmconfigdata/test-fullvirt-utc.cfg",
|
||||||
|
"xmconfigdata/test-fullvirt-utc.xml",
|
||||||
|
2);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int testCompareFullvirtClockUTCParse(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareParseXML("xmconfigdata/test-fullvirt-utc.cfg",
|
||||||
|
"xmconfigdata/test-fullvirt-utc.xml",
|
||||||
|
2);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int testCompareFullvirtClockLocaltimeFormat(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareFormatXML("xmconfigdata/test-fullvirt-localtime.cfg",
|
||||||
|
"xmconfigdata/test-fullvirt-localtime.xml",
|
||||||
|
2);
|
||||||
|
}
|
||||||
|
static int testCompareFullvirtClockLocaltimeParse(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareParseXML("xmconfigdata/test-fullvirt-localtime.cfg",
|
||||||
|
"xmconfigdata/test-fullvirt-localtime.xml",
|
||||||
|
2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
@ -203,22 +228,27 @@ main(int argc, char **argv)
|
|||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Config -> XML */
|
||||||
if (virtTestRun("Paravirt old PVFB (Format)",
|
if (virtTestRun("Paravirt old PVFB (Format)",
|
||||||
1, testCompareParavirtOldPVFBFormat, NULL) != 0)
|
1, testCompareParavirtOldPVFBFormat, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
if (virtTestRun("Paravirt new PVFB (Format)",
|
if (virtTestRun("Paravirt new PVFB (Format)",
|
||||||
1, testCompareParavirtNewPVFBFormat, NULL) != 0)
|
1, testCompareParavirtNewPVFBFormat, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
if (virtTestRun("Fullvirt old PVFB (Format)",
|
if (virtTestRun("Fullvirt old PVFB (Format)",
|
||||||
1, testCompareFullvirtOldCDROMFormat, NULL) != 0)
|
1, testCompareFullvirtOldCDROMFormat, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
if (virtTestRun("Fullvirt new PVFB (Format)",
|
if (virtTestRun("Fullvirt new PVFB (Format)",
|
||||||
1, testCompareFullvirtNewCDROMFormat, NULL) != 0)
|
1, testCompareFullvirtNewCDROMFormat, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
if (virtTestRun("Fullvirt clock Localtime (Format)",
|
||||||
|
1, testCompareFullvirtClockLocaltimeFormat, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
if (virtTestRun("Fullvirt clock UTC (Format)",
|
||||||
|
1, testCompareFullvirtClockUTCFormat, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
|
/* XML -> Config */
|
||||||
if (virtTestRun("Paravirt old PVFB (Parse)",
|
if (virtTestRun("Paravirt old PVFB (Parse)",
|
||||||
1, testCompareParavirtOldPVFBParse, NULL) != 0)
|
1, testCompareParavirtOldPVFBParse, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
@ -231,6 +261,12 @@ main(int argc, char **argv)
|
|||||||
if (virtTestRun("Fullvirt new PVFB (Parse)",
|
if (virtTestRun("Fullvirt new PVFB (Parse)",
|
||||||
1, testCompareFullvirtNewCDROMParse, NULL) != 0)
|
1, testCompareFullvirtNewCDROMParse, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
if (virtTestRun("Fullvirt clock Localtime (Parse)",
|
||||||
|
1, testCompareFullvirtClockLocaltimeParse, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
if (virtTestRun("Fullvirt clock UTC (Parse)",
|
||||||
|
1, testCompareFullvirtClockUTCParse, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
|
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
1
tests/xml2sexprdata/xml2sexpr-fv-localtime.sexpr
Normal file
1
tests/xml2sexprdata/xml2sexpr-fv-localtime.sexpr
Normal file
@ -0,0 +1 @@
|
|||||||
|
(vm (name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)(uuid 'b5d70dd275cdaca517769660b059d8bc')(on_poweroff 'destroy')(on_reboot 'restart')(on_crash 'restart')(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(device_model '/usr/lib64/xen/bin/qemu-dm')(vcpus 1)(boot c)(cdrom '/root/boot.iso')(acpi 1)(vnc 1)(localtime 1)))(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')(type ioemu))))
|
37
tests/xml2sexprdata/xml2sexpr-fv-localtime.xml
Normal file
37
tests/xml2sexprdata/xml2sexpr-fv-localtime.xml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<domain type='xen'>
|
||||||
|
<name>fvtest</name>
|
||||||
|
<uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
|
||||||
|
<os>
|
||||||
|
<type>hvm</type>
|
||||||
|
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
<boot dev='hd'/>
|
||||||
|
</os>
|
||||||
|
<memory>409600</memory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<features>
|
||||||
|
<acpi/>
|
||||||
|
</features>
|
||||||
|
<clock offset='localtime'/>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<source bridge='xenbr0'/>
|
||||||
|
<mac address='00:16:3e:1b:b1:47'/>
|
||||||
|
<script path='vif-bridge'/>
|
||||||
|
</interface>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<source file='/root/boot.iso'/>
|
||||||
|
<target dev='hdc'/>
|
||||||
|
<readonly/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file'>
|
||||||
|
<source file='/root/foo.img'/>
|
||||||
|
<target dev='ioemu:hda'/>
|
||||||
|
</disk>
|
||||||
|
<graphics type='vnc' port='5917' keymap='ja'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
||||||
|
|
1
tests/xml2sexprdata/xml2sexpr-fv-utc.sexpr
Normal file
1
tests/xml2sexprdata/xml2sexpr-fv-utc.sexpr
Normal file
@ -0,0 +1 @@
|
|||||||
|
(vm (name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)(uuid 'b5d70dd275cdaca517769660b059d8bc')(on_poweroff 'destroy')(on_reboot 'restart')(on_crash 'restart')(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(device_model '/usr/lib64/xen/bin/qemu-dm')(vcpus 1)(boot c)(cdrom '/root/boot.iso')(acpi 1)(vnc 1)))(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')(type ioemu))))
|
37
tests/xml2sexprdata/xml2sexpr-fv-utc.xml
Normal file
37
tests/xml2sexprdata/xml2sexpr-fv-utc.xml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<domain type='xen'>
|
||||||
|
<name>fvtest</name>
|
||||||
|
<uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
|
||||||
|
<os>
|
||||||
|
<type>hvm</type>
|
||||||
|
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||||
|
<boot dev='hd'/>
|
||||||
|
</os>
|
||||||
|
<memory>409600</memory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<features>
|
||||||
|
<acpi/>
|
||||||
|
</features>
|
||||||
|
<clock offset='utc'/>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<source bridge='xenbr0'/>
|
||||||
|
<mac address='00:16:3e:1b:b1:47'/>
|
||||||
|
<script path='vif-bridge'/>
|
||||||
|
</interface>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<source file='/root/boot.iso'/>
|
||||||
|
<target dev='hdc'/>
|
||||||
|
<readonly/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file'>
|
||||||
|
<source file='/root/foo.img'/>
|
||||||
|
<target dev='ioemu:hda'/>
|
||||||
|
</disk>
|
||||||
|
<graphics type='vnc' port='5917' keymap='ja'/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
||||||
|
|
@ -187,6 +187,20 @@ static int testCompareNoSourceCDRom(void *data ATTRIBUTE_UNUSED) {
|
|||||||
2);
|
2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int testCompareFVclockUTC(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareFiles("xml2sexprdata/xml2sexpr-fv-utc.xml",
|
||||||
|
"xml2sexprdata/xml2sexpr-fv-utc.sexpr",
|
||||||
|
"fvtest",
|
||||||
|
1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int testCompareFVclockLocaltime(void *data ATTRIBUTE_UNUSED) {
|
||||||
|
return testCompareFiles("xml2sexprdata/xml2sexpr-fv-localtime.xml",
|
||||||
|
"xml2sexprdata/xml2sexpr-fv-localtime.sexpr",
|
||||||
|
"fvtest",
|
||||||
|
1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char **argv)
|
main(int argc, char **argv)
|
||||||
@ -276,5 +290,13 @@ main(int argc, char **argv)
|
|||||||
1, testCompareNoSourceCDRom, NULL) != 0)
|
1, testCompareNoSourceCDRom, NULL) != 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|
||||||
|
if (virtTestRun("XML-2-SEXPR clock UTC",
|
||||||
|
1, testCompareFVclockUTC, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
|
if (virtTestRun("XML-2-SEXPR clock Localtime",
|
||||||
|
1, testCompareFVclockLocaltime, NULL) != 0)
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
|
exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user