Comment 1Miroslav Rezanina
2019-08-16 07:25:11 UTC
To highlight, comment by Eduardo:
It looks like libvirt isn't following the expected interface for CPU hotplug. Understadable, as the documentation is sparse, and the paragraph below is easy to miss.
Documentation for CpuInstanceProperties says:
# Note: currently there are 5 properties that could be present
# but management should be prepared to pass through other
# properties with device_add command to allow for future
# interface extension. This also requires the filed names to be kept in
# sync with the properties passed to -device/device_add.
If query-hotpluggable-cpus returns die-id=0 (which is the case in QEMU 4.1), libvirt should include die-id=0 in -device and device_add.
We could make the interface a bit more flexible, though, and make die-id optional if there's only one possible value for it.
I will submit a patch to QEMU upstream to make it more flexible, but I suggest we also change libvirt to follow the quoted paragraph above, and copy every single property from query-hotpluggable-cpus[].props.