[libvirt] [PATCH 00/14] snapshot: improve dumpxml output

Hai Dong Li haidongl at linux.vnet.ibm.com
Mon Sep 26 09:21:49 UTC 2011


On 09/26/2011 05:03 PM, Hai Dong Li wrote:
> On 09/23/2011 04:34 AM, Eric Blake wrote:
>> This series fixes 'virsh snapshot-dumpxml' to use nicer formatting.
>> Patch 1 adds some nice helper routines, patches 2-13 are mostly
>> mechanical conversions to use the helpers and pass indentation
>> levels through the entire call chain, and patch 14 adds a test
>> which uncovered a couple minor issues in how formatting was done.
>>
> Hi, I applied these patches and tested it a little bit.
> I created a snapshot of a running vm, before applying these patches, 
> snapshot-dumpxml the snapshot output:
> <domainsnapshot>
> <name>firstshot</name>
> <state>running</state>
> <creationTime>1316766961</creationTime>
> <domain type='kvm'>
> <name>lihaidong-redhat0001</name>
> <uuid>060673b4-81ab-985d-5203-b76e36946eb4</uuid>
> <memory>2097152</memory>
> <currentMemory>2097152</currentMemory>
> <vcpu>4</vcpu>
> <os>
> <type arch='x86_64' machine='rhel6.1.0'>hvm</type>
> <boot dev='hd'/>
> </os>
> <features>
> <acpi/>
> <apic/>
> <pae/>
> </features>
> <clock offset='utc'/>
> <on_poweroff>destroy</on_poweroff>
> <on_reboot>restart</on_reboot>
> <on_crash>restart</on_crash>
> <devices>
> <emulator>/usr/libexec/qemu-kvm</emulator>
> <disk type='block' device='disk'>
> <driver name='qemu' type='qcow2' cache='none'/>
> <source dev='/var/lib/libvirt/images/lihaidong-redhat0001.qcow2'/>
> <target dev='vda' bus='virtio'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
> function='0x0'/>
> </disk>
> <interface type='bridge'>
> <mac address='00:ff:fe:00:00:fb'/>
> <source bridge='br0'/>
> <target dev='redhat0001'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
> function='0x0'/>
> </interface>
> <serial type='pty'>
> <target port='0'/>
> </serial>
> <console type='pty'>
> <target type='serial' port='0'/>
> </console>
> <input type='mouse' bus='ps2'/>
> <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
> <video>
> <model type='cirrus' vram='9216' heads='1'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x0'/>
> </video>
> <memballoon model='virtio'>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
> function='0x0'/>
> </memballoon>
> </devices>
> </domain>
> </domainsnapshot>
>
> It can be seen that <domain></domain> didn't incident well, it's in 
> the same level with the domainsnapshot.
> After applying these patches making, restarting the libvirtd, then 
> virsh snapshotdumpxml the snapshot output:
> <domainsnapshot>
> <name>firstshot</name>
> <state>running</state>
> <creationTime>1316766961</creationTime>
> <domain type='kvm'>
> <name>lihaidong-redhat0001</name>
> <uuid>060673b4-81ab-985d-5203-b76e36946eb4</uuid>
> <memory>2097152</memory>
> <currentMemory>2097152</currentMemory>
> <vcpu>4</vcpu>
> <os>
> <type arch='x86_64' machine='rhel6.1.0'>hvm</type>
> <boot dev='hd'/>
> </os>
> <features>
> <acpi/>
> <apic/>
> <pae/>
> </features>
> <clock offset='utc'/>
> <on_poweroff>destroy</on_poweroff>
> <on_reboot>restart</on_reboot>
> <on_crash>restart</on_crash>
> <devices>
> <emulator>/usr/libexec/qemu-kvm</emulator>
> <disk type='block' device='disk'>
> <driver name='qemu' type='qcow2' cache='none'/>
> <source dev='/var/lib/libvirt/images/lihaidong-redhat0001.qcow2'/>
> <target dev='vda' bus='virtio'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
> function='0x0'/>
> </disk>
> <interface type='bridge'>
> <mac address='00:ff:fe:00:00:fb'/>
> <source bridge='br0'/>
> <target dev='redhat0001'/>
> <model type='virtio'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
> function='0x0'/>
> </interface>
> <serial type='pty'>
> <target port='0'/>
> </serial>
> <console type='pty'>
> <target type='serial' port='0'/>
> </console>
> <input type='mouse' bus='ps2'/>
> <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
> <video>
> <model type='cirrus' vram='9216' heads='1'/>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
> function='0x0'/>
> </video>
> <memballoon model='virtio'>
> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
> function='0x0'/>
> </memballoon>
> </devices>
> </domain>
> </domainsnapshot>
>
> It can be seen that the <domain></domain> indent correctly.
>
> I typed 'make check' in the tests directory. The 
> domainsnapshotxml2xmltest part output:
> TEST: domainsnapshotxml2xmltest
>       ......                                   6   OK
> PASS: domainsnapshotxml2xmltest
>
> I ran the domainsnapshotxml2xmltest script, it output:
> TEST: domainsnapshotxml2xmltest
>       ......                                   6   OK
>
> That's what I've done. Thanks.
>
Seems the email mess up the indentation.The attached file 
dumpxml_old_new_diff shows the differences.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dumpxml_new_old_diff
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110926/99cfa5cd/attachment-0001.ksh>


More information about the libvir-list mailing list