[libvirt-users] Is there a way to disable libvirt qemu monitor while creating kvm vm using virsh?

Michal Privoznik mprivozn at redhat.com
Mon Nov 10 08:50:20 UTC 2014


On 07.11.2014 23:28, Min Du wrote:
> Hi,
>
> Now for some reason, I need to add “ -qmp tcp:127.0.0.1:1235” when creating a KVM VM using libvirt. This command meaning in “qemu-kvm --help” is: -qmp dev        like -monitor but opens in 'control' mode.
> I added command-line equivalent options into the xml file, like below format:
>
>    <qemu:commandline>
>           <qemu:arg value="-s"/>
>           <qemu:arg value="-qmp"/>
>           <qemu:arg value="tcp:127.0.0.1:1235"/>
>    </qemu:commandline>
>
> However when I create VM using this xml file, I got the error:
>
> # virsh create instance-libvirt.xml
> error: Failed to create domain from instance-libvirt.xml
> error: internal error process exited while connecting to monitor: qemu-kvm: -qmp tcp:127.0.0.1:1235: Duplicate ID 'monitor' for mon
> duplicate chardev: monitor
>
> The VM I created, without “—qmp” option, has below options showing in “ps aux | grep qemu-kvm”:
>
> -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vmifs_test.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control
>
> Looks like libvirt automatically adds the monitor options upon VM creation.
>
> Is there a way to disable this and use “—qmp” instead when creating VM?

No. Libvirt always creates a VM with monitor as it is used to control 
the machine. Without the monitor there's not much left for our APIs.

Why do you need to have monitor anyway? Is there something you can't 
achieve with libvirt APIs? Even if it was so, there's this APIs which 
allows you to pass arbitrary monitor commands to qemu: 
virDomainQemuMonitorCommand.

Michal




More information about the libvirt-users mailing list