[libvirt-users] Libvirt fails on network disk with ISCSI protocol

Hi, I am working on oVirt, and I am trying to run a VM with a network disk with ISCSI protocol ( the storage is on a Cinder server). Here is the disk XML I use: <disk device="disk" snapshot="no" type="network"> <address bus="0" controller="0" target="0" type="drive" unit="0" /> <source name="iqn.2010-10.org.openstack:volume-37fea687-040c-4a88-844c-117d1a90e9b2" protocol="iscsi"> <host name="10.35.0.20" port="3260" /> </source> <target bus="scsi" dev="sda" /> <boot order="1" /> <driver cache="none" error_policy="stop" io="threads" name="qemu" type="raw" /> </disk> I get the following error: libvirtError: internal error: process exited while connecting to monitor: 2017-08-02T14:38:58.378430Z qemu-kvm: -drive file=iscsi:// 10.35.0.20:3260/iqn.2010-10.org.openstack%3Avolume-37fea687-040c-4a88-844c-117d1a90e9b2,format=raw,if=none,id=drive-scsi0-0-0-0,cache=none,werror=stop,rerror=stop,aio=threads: Failed to parse URL : iscsi:// 10.35.0.20:3260/iqn.2010-10.org.openstack%3Avolume-37fea687-040c-4a88-844c-117d1a90e9b2 It seems that the ':' character got changed on the way to %3A. Any suggestions on the root cause of this issue? Thanks, Fred Rolland

On Wed, Aug 02, 2017 at 05:47:31PM +0300, Fred Rolland wrote:
Hi,
I am working on oVirt, and I am trying to run a VM with a network disk with ISCSI protocol ( the storage is on a Cinder server).
Here is the disk XML I use:
<disk device="disk" snapshot="no" type="network"> <address bus="0" controller="0" target="0" type="drive" unit="0" /> <source name="iqn.2010-10.org.openstack:volume-37fea687-040c-4a88-844c-117d1a90e9b2" protocol="iscsi"> <host name="10.35.0.20" port="3260" /> </source> <target bus="scsi" dev="sda" /> <boot order="1" /> <driver cache="none" error_policy="stop" io="threads" name="qemu" type="raw" /> </disk>
I get the following error:
libvirtError: internal error: process exited while connecting to monitor: 2017-08-02T14:38:58.378430Z qemu-kvm: -drive file=iscsi:// 10.35.0.20:3260/iqn.2010-10.org.openstack%3Avolume-37fea687-040c-4a88-844c-117d1a90e9b2,format=raw,if=none,id=drive-scsi0-0-0-0,cache=none,werror=stop,rerror=stop,aio=threads: Failed to parse URL : iscsi:// 10.35.0.20:3260/iqn.2010-10.org.openstack%3Avolume-37fea687-040c-4a88-844c-117d1a90e9b2
It seems that the ':' character got changed on the way to %3A.
Any suggestions on the root cause of this issue?
The name seems to be missing the LUN. Even though our documentation states: If not specified, the default LUN is zero. http://libvirt.org/formatdomain.html#elementsDisks Maybe something changed in QEMU or libiscsi since that document was written? Jan

Thanks, it was the issue. I guess the documentation should be updated. Thank you for your help ! On Wed, Aug 2, 2017 at 7:06 PM, Ján Tomko <jtomko@redhat.com> wrote:
On Wed, Aug 02, 2017 at 05:47:31PM +0300, Fred Rolland wrote:
Hi,
I am working on oVirt, and I am trying to run a VM with a network disk with ISCSI protocol ( the storage is on a Cinder server).
Here is the disk XML I use:
<disk device="disk" snapshot="no" type="network"> <address bus="0" controller="0" target="0" type="drive" unit="0" /> <source name="iqn.2010-10.org.openstack:volume-37fea687-040c-4a88- 844c-117d1a90e9b2" protocol="iscsi"> <host name="10.35.0.20" port="3260" /> </source> <target bus="scsi" dev="sda" /> <boot order="1" /> <driver cache="none" error_policy="stop" io="threads" name="qemu" type="raw" /> </disk>
I get the following error:
libvirtError: internal error: process exited while connecting to monitor: 2017-08-02T14:38:58.378430Z qemu-kvm: -drive file=iscsi:// 10.35.0.20:3260/iqn.2010-10.org.openstack%3Avolume-37fea687- 040c-4a88-844c-117d1a90e9b2,format=raw,if=none,id=drive- scsi0-0-0-0,cache=none,werror=stop,rerror=stop,aio=threads: Failed to parse URL : iscsi:// 10.35.0.20:3260/iqn.2010-10.org.openstack%3Avolume-37fea687- 040c-4a88-844c-117d1a90e9b2
It seems that the ':' character got changed on the way to %3A.
Any suggestions on the root cause of this issue?
The name seems to be missing the LUN. Even though our documentation states: If not specified, the default LUN is zero. http://libvirt.org/formatdomain.html#elementsDisks
Maybe something changed in QEMU or libiscsi since that document was written?
Jan
participants (2)
-
Fred Rolland
-
Ján Tomko