no there is no way to enable them out of band of nova today. you technially could wrap the qemu binary wiht a script that inject parmaters but that obviously would not be supported upstream. but that would be a workaround if you really needed it
https://review.opendev.org/c/openstack/devstack/+/817075 is an exmaple of such a script
I created a modified version of your script to wrap the qemu-kvm executable, but when OpenStack starts the VM, Nova returns: 2022-01-06 16:15:24.758 6 ERROR nova.compute.manager libvirtError: internal error: Failed to probe QEMU binary with QMP: qemu-kvm.orig: -object iothread,id=iothread0: invalid option "-object iothread,id=iothread0" is the first argument. Our Libvirt/QEMU versions are: Compiled against library: libvirt 4.5.0 Using library: libvirt 4.5.0 Using API: QEMU 4.5.0 Running hypervisor: QEMU 2.12.0 I'm pretty sure these versions includes support for iothreads (for both QEMU as well as Libvirt). Is Libvirt doing some form of cross-check on the XML parameters with the running QEMU parameters that is incompatible with the wrapper perhaps? Eric