tests: qemustatusxml2xml: Add test for 'pull' type backup job

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2019-09-18 12:45:31 +02:00
parent 2c59f0083e
commit 1b412fb7bf
3 changed files with 611 additions and 0 deletions

View File

@ -0,0 +1,608 @@
<domstatus state='running' reason='booted' pid='7690'>
<taint flag='high-privileges'/>
<monitor path='/var/lib/libvirt/qemu/domain-4-copy/monitor.sock' type='unix'/>
<namespaces>
<mount/>
</namespaces>
<vcpus>
<vcpu id='0' pid='7696'/>
</vcpus>
<qemuCaps>
<flag name='kvm'/>
<flag name='no-hpet'/>
<flag name='spice'/>
<flag name='hda-duplex'/>
<flag name='ccid-emulated'/>
<flag name='ccid-passthru'/>
<flag name='virtio-tx-alg'/>
<flag name='virtio-blk-pci.ioeventfd'/>
<flag name='sga'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='piix3-usb-uhci'/>
<flag name='piix4-usb-uhci'/>
<flag name='usb-ehci'/>
<flag name='ich9-usb-ehci1'/>
<flag name='vt82c686b-usb-uhci'/>
<flag name='pci-ohci'/>
<flag name='usb-redir'/>
<flag name='usb-hub'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='transaction'/>
<flag name='block-job-async'/>
<flag name='scsi-cd'/>
<flag name='ide-cd'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='balloon-event'/>
<flag name='lsi'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='disable-s3'/>
<flag name='disable-s4'/>
<flag name='usb-redir.filter'/>
<flag name='ide-drive.wwn'/>
<flag name='scsi-disk.wwn'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='seamless-migration'/>
<flag name='block-commit'/>
<flag name='vnc'/>
<flag name='drive-mirror'/>
<flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='vmware-svga'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='nbd-server'/>
<flag name='virtio-rng'/>
<flag name='rng-random'/>
<flag name='rng-egd'/>
<flag name='megasas'/>
<flag name='tpm-passthrough'/>
<flag name='tpm-tis'/>
<flag name='pci-bridge'/>
<flag name='vfio-pci'/>
<flag name='mem-merge'/>
<flag name='drive-discard'/>
<flag name='mlock'/>
<flag name='device-del-event'/>
<flag name='dmi-to-pci-bridge'/>
<flag name='i440fx-pci-hole64-size'/>
<flag name='q35-pci-hole64-size'/>
<flag name='usb-storage'/>
<flag name='usb-storage.removable'/>
<flag name='ich9-intel-hda'/>
<flag name='kvm-pit-lost-tick-policy'/>
<flag name='boot-strict'/>
<flag name='pvpanic'/>
<flag name='spice-file-xfer-disable'/>
<flag name='usb-kbd'/>
<flag name='msg-timestamp'/>
<flag name='active-commit'/>
<flag name='change-backing-file'/>
<flag name='memory-backend-ram'/>
<flag name='numa'/>
<flag name='memory-backend-file'/>
<flag name='usb-audio'/>
<flag name='rtc-reset-reinjection'/>
<flag name='splash-timeout'/>
<flag name='iothread'/>
<flag name='migrate-rdma'/>
<flag name='ivshmem'/>
<flag name='drive-iotune-max'/>
<flag name='VGA.vgamem_mb'/>
<flag name='vmware-svga.vgamem_mb'/>
<flag name='qxl.vgamem_mb'/>
<flag name='pc-dimm'/>
<flag name='machine-vmport-opt'/>
<flag name='aes-key-wrap'/>
<flag name='dea-key-wrap'/>
<flag name='pci-serial'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
<flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='virtio-keyboard'/>
<flag name='virtio-mouse'/>
<flag name='virtio-tablet'/>
<flag name='virtio-input-host'/>
<flag name='chardev-file-append'/>
<flag name='ich9-disable-s3'/>
<flag name='ich9-disable-s4'/>
<flag name='vserport-change-event'/>
<flag name='virtio-balloon-pci.deflate-on-oom'/>
<flag name='mptsas1068'/>
<flag name='spice-gl'/>
<flag name='qxl.vram64_size_mb'/>
<flag name='chardev-logfile'/>
<flag name='debug-threads'/>
<flag name='secret'/>
<flag name='pxb'/>
<flag name='pxb-pcie'/>
<flag name='device-tray-moved-event'/>
<flag name='nec-usb-xhci-ports'/>
<flag name='virtio-scsi-pci.iothread'/>
<flag name='name-guest'/>
<flag name='qxl.max_outputs'/>
<flag name='spice-unix'/>
<flag name='drive-detect-zeroes'/>
<flag name='tls-creds-x509'/>
<flag name='intel-iommu'/>
<flag name='smm'/>
<flag name='virtio-pci-disable-legacy'/>
<flag name='query-hotpluggable-cpus'/>
<flag name='virtio-net.rx_queue_size'/>
<flag name='virtio-vga'/>
<flag name='drive-iotune-max-length'/>
<flag name='ivshmem-plain'/>
<flag name='ivshmem-doorbell'/>
<flag name='query-qmp-schema'/>
<flag name='gluster.debug_level'/>
<flag name='vhost-scsi'/>
<flag name='drive-iotune-group'/>
<flag name='query-cpu-model-expansion'/>
<flag name='virtio-net.host_mtu'/>
<flag name='spice-rendernode'/>
<flag name='nvdimm'/>
<flag name='pcie-root-port'/>
<flag name='query-cpu-definitions'/>
<flag name='block-write-threshold'/>
<flag name='query-named-block-nodes'/>
<flag name='cpu-cache'/>
<flag name='qemu-xhci'/>
<flag name='kernel-irqchip'/>
<flag name='kernel-irqchip.split'/>
<flag name='intel-iommu.intremap'/>
<flag name='intel-iommu.caching-mode'/>
<flag name='intel-iommu.eim'/>
<flag name='intel-iommu.device-iotlb'/>
<flag name='virtio.iommu_platform'/>
<flag name='virtio.ats'/>
<flag name='loadparm'/>
<flag name='vnc-multi-servers'/>
<flag name='virtio-net.tx_queue_size'/>
<flag name='chardev-reconnect'/>
<flag name='virtio-gpu.max_outputs'/>
<flag name='vxhs'/>
<flag name='virtio-blk.num-queues'/>
<flag name='vmcoreinfo'/>
<flag name='numa.dist'/>
<flag name='disk-share-rw'/>
<flag name='iscsi.password-secret'/>
<flag name='isa-serial'/>
<flag name='dump-completed'/>
<flag name='qcow2-luks'/>
<flag name='pcie-pci-bridge'/>
<flag name='seccomp-blacklist'/>
<flag name='query-cpus-fast'/>
<flag name='disk-write-cache'/>
<flag name='nbd-tls'/>
<flag name='tpm-crb'/>
<flag name='pr-manager-helper'/>
<flag name='qom-list-properties'/>
<flag name='memory-backend-file.discard-data'/>
<flag name='sdl-gl'/>
<flag name='screendump_device'/>
<flag name='hda-output'/>
<flag name='blockdev-del'/>
<flag name='vmgenid'/>
<flag name='vhost-vsock'/>
<flag name='chardev-fd-pass'/>
<flag name='tpm-emulator'/>
<flag name='mch'/>
<flag name='mch.extended-tseg-mbytes'/>
<flag name='usb-storage.werror'/>
<flag name='egl-headless'/>
<flag name='vfio-pci.display'/>
<flag name='blockdev'/>
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
<flag name='egl-headless.rendernode'/>
<flag name='incremental-backup'/>
</qemuCaps>
<devices>
<device alias='rng0'/>
<device alias='sound0-codec0'/>
<device alias='virtio-disk0'/>
<device alias='virtio-serial0'/>
<device alias='video0'/>
<device alias='serial0'/>
<device alias='sound0'/>
<device alias='channel1'/>
<device alias='channel0'/>
<device alias='usb'/>
</devices>
<libDir path='/var/lib/libvirt/qemu/domain-4-copy'/>
<channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-4-copy'/>
<chardevStdioLogd/>
<allowReboot value='yes'/>
<nodename index='0'/>
<blockjobs active='yes'>
<blockjob name='backup-vda-libvirt-3-format' type='backup' state='running'>
<disk dst='vda'/>
<bitmap name='bitmapname'/>
<store type='file' format='qcow2'>
<source file='/path/to/file' index='1337'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-1337-storage'/>
<nodename type='format' name='libvirt-1337-format'/>
</nodenames>
</privateData>
</source>
</store>
<deleteStore/>
</blockjob>
</blockjobs>
<agentTimeout>-2</agentTimeout>
<backups>
<domainbackup mode='pull'>
<incremental>12345</incremental>
<server transport='tcp' name='localhost' port='10809'/>
<disks>
<disk name='vda' backup='yes' state='running' type='file'>
<scratch file='/path/to/file/'/>
</disk>
</disks>
</domainbackup>
</backups>
<domain type='kvm' id='4'>
<name>copy</name>
<uuid>0439a4a8-db56-4933-9183-d8681d7b0746</uuid>
<memory unit='KiB'>1024000</memory>
<currentMemory unit='KiB'>1024000</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-2.9'>hvm</type>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
<features>
<acpi/>
<apic/>
<vmport state='off'/>
</features>
<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>restart</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='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/pull4.qcow2' index='3'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-3-storage'/>
<nodename type='format' name='libvirt-3-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='13'>
<format type='qcow2'/>
<source file='/tmp/pull3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-13-storage'/>
<nodename type='format' name='libvirt-13-format'/>
</nodenames>
<relPath>pull3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='14'>
<format type='qcow2'/>
<source file='/tmp/pull2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-14-storage'/>
<nodename type='format' name='libvirt-14-format'/>
</nodenames>
<relPath>pull2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='15'>
<format type='qcow2'/>
<source file='/tmp/pull1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-15-storage'/>
<nodename type='format' name='libvirt-15-format'/>
</nodenames>
<relPath>pull1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='16'>
<format type='qcow2'/>
<source file='/tmp/pull0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-16-storage'/>
<nodename type='format' name='libvirt-16-format'/>
</nodenames>
<relPath>pull0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk1/virtio-backend'/>
</privateData>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/commit4.qcow2' index='2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-2-storage'/>
<nodename type='format' name='libvirt-2-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='9'>
<format type='qcow2'/>
<source file='/tmp/commit3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-9-storage'/>
<nodename type='format' name='libvirt-9-format'/>
</nodenames>
<relPath>commit3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='10'>
<format type='qcow2'/>
<source file='/tmp/commit2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-10-storage'/>
<nodename type='format' name='libvirt-10-format'/>
</nodenames>
<relPath>commit2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='11'>
<format type='qcow2'/>
<source file='/tmp/commit1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-11-storage'/>
<nodename type='format' name='libvirt-11-format'/>
</nodenames>
<relPath>commit1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='12'>
<format type='qcow2'/>
<source file='/tmp/commit0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-12-storage'/>
<nodename type='format' name='libvirt-12-format'/>
</nodenames>
<relPath>commit0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vdc' bus='virtio'/>
<alias name='virtio-disk2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk2/virtio-backend'/>
</privateData>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/copy4.qcow2' index='1'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-1-storage'/>
<nodename type='format' name='libvirt-1-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='5'>
<format type='qcow2'/>
<source file='/tmp/copy3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-5-storage'/>
<nodename type='format' name='libvirt-5-format'/>
</nodenames>
<relPath>copy3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='6'>
<format type='qcow2'/>
<source file='/tmp/copy2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-6-storage'/>
<nodename type='format' name='libvirt-6-format'/>
</nodenames>
<relPath>copy2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='7'>
<format type='qcow2'/>
<source file='/tmp/copy1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-7-storage'/>
<nodename type='format' name='libvirt-7-format'/>
</nodenames>
<relPath>copy1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='8'>
<format type='qcow2'/>
<source file='/tmp/copy0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-8-storage'/>
<nodename type='format' name='libvirt-8-format'/>
</nodenames>
<relPath>copy0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vdd' bus='virtio'/>
<alias name='virtio-disk3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk3/virtio-backend'/>
</privateData>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/activecommit4.qcow2' index='17'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-17-storage'/>
<nodename type='format' name='libvirt-17-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='18'>
<format type='qcow2'/>
<source file='/tmp/activecommit3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-18-storage'/>
<nodename type='format' name='libvirt-18-format'/>
</nodenames>
<relPath>activecommit3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='19'>
<format type='qcow2'/>
<source file='/tmp/activecommit2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-19-storage'/>
<nodename type='format' name='libvirt-19-format'/>
</nodenames>
<relPath>activecommit2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='20'>
<format type='qcow2'/>
<source file='/tmp/activecommit1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-20-storage'/>
<nodename type='format' name='libvirt-20-format'/>
</nodenames>
<relPath>activecommit1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='21'>
<format type='qcow2'/>
<source file='/tmp/activecommit0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-21-storage'/>
<nodename type='format' name='libvirt-21-format'/>
</nodenames>
<relPath>activecommit0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vde' bus='virtio'/>
<alias name='virtio-disk3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk3/virtio-backend'/>
</privateData>
</disk>
<controller type='usb' index='0' model='piix3-uhci'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<serial type='pty'>
<source path='/dev/pts/34'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/34'>
<source path='/dev/pts/34'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='mouse' bus='ps2'>
<alias name='input0'/>
</input>
<input type='keyboard' bus='ps2'>
<alias name='input1'/>
</input>
<graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1' fromConfig='1' autoGenerated='no'/>
<image compression='off'/>
</graphics>
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>
</devices>
<seclabel type='dynamic' model='selinux' relabel='yes'>
<label>unconfined_u:unconfined_r:svirt_t:s0:c550,c786</label>
<imagelabel>unconfined_u:object_r:svirt_image_t:s0:c550,c786</imagelabel>
</seclabel>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+0:+0</label>
<imagelabel>+0:+0</imagelabel>
</seclabel>
</domain>
</domstatus>

View File

@ -0,0 +1 @@
backup-pull-in.xml

View File

@ -1315,6 +1315,8 @@ mymain(void)
DO_TEST_STATUS("blockjob-blockdev");
DO_TEST_STATUS("backup-pull");
DO_TEST("vhost-vsock", QEMU_CAPS_DEVICE_VHOST_VSOCK);
DO_TEST("vhost-vsock-auto", QEMU_CAPS_DEVICE_VHOST_VSOCK);
DO_TEST("vhost-vsock-ccw", QEMU_CAPS_DEVICE_VHOST_VSOCK,