libvirt/tests/qemuxml2argvdata/tpm-emulator-spapr.ppc64-latest.args
Peter Krempa bd3d00babc qemu: Revert to using non-JSON commandline for -device
When -device is configured via JSON a bug [1] is triggered in qemu were
the DEVICE_DELETED event for the removal of the device frontend is no
longer delivered to libvirt. Without the DEVICE_DELETED event we don't
remove the corresponding entries in the VM XML.

Until qemu will be fixed we must stop using the JSON syntax for -device.

This patch removes the detection of the capability. The capability is
used only during startup of a fresh VM so we don't need to consider any
compaitibility steps for existing VMs.

For users who wish to use 'libvirt-7.9' and 'libvirt-7.10' with
'qemu-6.2' there are two possible workarounds:

 - filter out the 'device.json' qemu capability '/etc/libvirt/qemu.conf':

   capability_filters = [ "device.json" ]

 - filter out the 'device.json' qemu capability via qemu namespace XML:

   <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
     [...]
     <qemu:capabilities>
       <qemu:del capability='device.json'/>
     </qemu:capabilities>
   </domain>

We must never again use the same capability name as we are now
instructing users to filter it as a workaround so once qemu is fixed
we'll need to pick a new capability value for it.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2036669

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2035237
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2022-01-10 09:35:00 +01:00

45 lines
1.8 KiB
Plaintext

LC_ALL=C \
PATH=/bin \
HOME=/tmp/lib/domain--1-TPM-VM \
USER=test \
LOGNAME=test \
XDG_DATA_HOME=/tmp/lib/domain--1-TPM-VM/.local/share \
XDG_CACHE_HOME=/tmp/lib/domain--1-TPM-VM/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-TPM-VM/.config \
/usr/bin/qemu-system-ppc64 \
-name guest=TPM-VM,debug-threads=on \
-S \
-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-TPM-VM/master-key.aes"}' \
-machine pseries-5.0,usb=off,dump-guest-core=off,memory-backend=ppc_spapr.ram \
-accel tcg \
-cpu POWER9 \
-m 2048 \
-object '{"qom-type":"memory-backend-ram","id":"ppc_spapr.ram","size":2147483648}' \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid 11d7cd22-da89-3094-6212-079a48a309a1 \
-display none \
-no-user-config \
-nodefaults \
-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
-mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc \
-no-shutdown \
-boot menu=on,strict=on \
-device pci-ohci,id=usb,bus=pci.0,addr=0x1 \
-device spapr-vscsi,id=scsi0,reg=8192 \
-device spapr-vscsi,id=scsi1,reg=12288 \
-blockdev '{"driver":"file","filename":"/tmp/scsidisk.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
-device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi1-0-0-0,drive=libvirt-1-format,id=scsi1-0-0-0,bootindex=1 \
-chardev pty,id=charserial0 \
-device spapr-vty,chardev=charserial0,id=serial0,reg=805306368 \
-chardev pty,id=charserial1 \
-device spapr-vty,chardev=charserial1,id=serial1,reg=805310464 \
-chardev socket,id=chrtpm,path=/dev/test \
-tpmdev emulator,id=tpm-tpm0,chardev=chrtpm \
-device tpm-spapr,tpmdev=tpm-tpm0,id=tpm0,reg=20480 \
-audiodev '{"id":"audio1","driver":"none"}' \
-global spapr-nvram.reg=0x4000 \
-msg timestamp=on