[libvirt] iscsi target name including colon

Hi, I am testing the soft iscsi. Using targetcli,I emulate an iscsi target from a file. o- iscsi ............................................................................................................ [Targets: 1] | o- iqn.2003-01.org.linux-iscsi.fedora121.x8664:sn.712a3704dac7 ....................................................... [TPGs: 1] | o- tpg1 ............................................................................................................ [enabled] | o- acls .......................................................................................................... [ACLs: 0] | o- luns .......................................................................................................... [LUNs: 1] | | o- lun0 ............................................................................ [fileio/r1 (/home/fedora18_wolv.img)] | o- portals .................................................................................................... [Portals: 1] | o- 186.100.8.121:3262 ............................................................................................... [OK] Then start a vm with the following config. <disk type='network' device='lun'> <driver name='qemu' type='raw'/> <source protocol='iscsi' name='iqn.2003-01.org.linux-iscsi.fedora121.x8664:sn.712a3704dac7'> <host name='186.100.8.121' port='3262'/> </source> <target dev='vda' bus='virtio'/> </disk> Then qemu reports an error: process exited while connecting to monitor: qemu-kvm: -drive file=iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7,if=none,id=drive-virtio-disk0,format=raw: Failed to parse URL : iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7 qemu-kvm: -drive file=iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7,if=none,id=drive-virtio-disk0,format=raw: could not open disk image iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7: Invalid argument The rootcause is the colon in iscsi target name iqn.2003-01.org.linux-iscsi.fedora121.x8664:sn.712a3704dac7 passed to qemu as %3A by libvirt. Is this an issue? Could you give me some advise to debug this problem ? I can provide more information if need. Regards, baiqing

On 07/19/2013 03:52 AM, Libaiqing wrote: ...
Then qemu reports an error: process exited while connecting to monitor: qemu-kvm: -drive file=iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7,if=none,id=drive-virtio-disk0,format=raw: Failed to parse URL : iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7 qemu-kvm: -drive file=iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7,if=none,id=drive-virtio-disk0,format=raw: could not open disk image iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3Asn.712a3704dac7: Invalid argument
The rootcause is the colon in iscsi target name iqn.2003-01.org.linux-iscsi.fedora121.x8664:sn.712a3704dac7 passed to qemu as %3A by libvirt.
Is this an issue?
Could you give me some advise to debug this problem ? I can provide more information if need.
Libvirt (or rather libxml2 which is used for URI formatting) escapes special characters, but libiscsi doesn't decode them. This seems to be fixed in libiscsi git, but it hasn't been released yet: https://github.com/sahlberg/libiscsi/commit/e061cba1 Jan

Hi jan, Thankyou for your reply. I will try to hack libiscsi. Regards, baiqing
-----Original Message----- From: Ján Tomko [mailto:jtomko@redhat.com] Sent: Friday, July 19, 2013 3:30 PM To: Libaiqing Cc: libvir-list@redhat.com Subject: Re: [libvirt] iscsi target name including colon
On 07/19/2013 03:52 AM, Libaiqing wrote: ...
Then qemu reports an error: process exited while connecting to monitor: qemu-kvm: -drive
file=iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664 %3Asn.712a3704dac7,if=none,id=drive-virtio-disk0,format=raw: Failed to parse URL : iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3A sn.712a3704dac7
qemu-kvm: -drive file=iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664 %3Asn.712a3704dac7,if=none,id=drive-virtio-disk0,format=raw: could not open disk image iscsi://186.100.8.121:3262/iqn.2003-01.org.linux-iscsi.fedora121.x8664%3A sn.712a3704dac7: Invalid argument
The rootcause is the colon in iscsi target name iqn.2003-01.org.linux-iscsi.fedora121.x8664:sn.712a3704dac7 passed to qemu as %3A by libvirt.
Is this an issue?
Could you give me some advise to debug this problem ? I can provide more information if need.
Libvirt (or rather libxml2 which is used for URI formatting) escapes special characters, but libiscsi doesn't decode them.
This seems to be fixed in libiscsi git, but it hasn't been released yet: https://github.com/sahlberg/libiscsi/commit/e061cba1
Jan
participants (2)
-
Ján Tomko
-
Libaiqing