[libvirt] Why virsh domxml-to-native qemu-argv cut VN name

Hi, I think there is a bug when running virsh domxml-to-native qemu-argv with VM with long name, it getting cut - .. -name guest=l-dev-vrt-140-022-RH-7.0-Tal,debug-threads=on -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-l-dev-vrt-140-022-RH/master-key.aes -machine pc-i440fx-2.12,accel=kvm,usb=off,dump-guest-core=off -m 8192 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid cb48f75c-40f6-432d-964b-906ee0bdcf48 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain--1-l-dev-vrt-140-022-RH/monitor.sock,server,nowait .. -name is ok, but -object and -chardev are cut, which cause QEMU to file on - qemu-system-x86_64: -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/do main--1-l-dev-vrt-140-022-RH/monitor.sock,server,nowait: Failed to bind socket to /var/lib/libvirt/qemu/doma in--1-l-dev-vrt-140-022-RH/monitor.sock: No such file or directory Libvirt version is 3.9.0, here is the full domain XML - <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>l-dev-vrt-140-022-RH-7.0-Tal</name> <uuid>cb48f75c-40f6-432d-964b-906ee0bdcf48</uuid> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>2</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-2.12'>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>x86_64-softmmu/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/images/l-dev-vrt-140-022/l-dev-vrt-140-022.img'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='0' model='pci-root'/> <interface type='bridge'> <mac address='00:50:56:18:8c:16'/> <source bridge='br0:'/> <model type='e1000'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes'> <listen type='address'/> </graphics> <video> <model type='cirrus' vram='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </memballoon> </devices> </domain> Thanks, Tal

[please don't send HTML e-mails to technical mailing lists] On Tue, May 21, 2019 at 01:42:08PM +0000, Tal Attaly wrote:
Hi,
Hi,
I think there is a bug when running virsh domxml-to-native qemu-argv with VM with long name, it getting cut -
.. -name guest=l-dev-vrt-140-022-RH-7.0-Tal,debug-threads=on -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-l-dev-vrt-140-022-RH/master-key.aes -machine pc-i440fx-2.12,accel=kvm,usb=off,dump-guest-core=off -m 8192 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid cb48f75c-40f6-432d-964b-906ee0bdcf48 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain--1-l-dev-vrt-140-022-RH/monitor.sock,server,nowait ..
The shortening is intentional, we want to avoid the maximum path limits for the temporary files and also avoid some special characters if we want to register the domain on a system with systemd. It matches what libvirt does when running the domain - but this API does not (and cannot) run all the preparatory steps needed to actually start the domain. Jano
-name is ok, but -object and -chardev are cut, which cause QEMU to file on -
qemu-system-x86_64: -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/do
main--1-l-dev-vrt-140-022-RH/monitor.sock,server,nowait: Failed to bind socket to /var/lib/libvirt/qemu/doma
in--1-l-dev-vrt-140-022-RH/monitor.sock: No such file or directory
Libvirt version is 3.9.0, here is the full domain XML -
participants (2)
-
Ján Tomko
-
Tal Attaly