Public bug reported:

Trying to use iSCSI with libvirt/Xen, attaching volumes to instances was
failing. I tracked this down to the libvirt XML looking like:

<disk type="block" device="disk">
  <driver name="file" type="raw" cache="none"/>
  <source 
dev="/dev/disk/by-path/ip-192.168.8.11:3260-iscsi-iqn.1986-03.com.sun:02:ecd142ab-b1c7-6bcf-8f91-f55b6c766bcc-lun-0"/>
  <target bus="xen" dev="xvdb"/>
  <serial>e8c640c6-641b-4940-88f2-79555cdd5551</serial>
</disk>


The driver name should be "phy", not "file".


More digging lead to the iSCSI volume driver in nova/virt/libvirt/volume.py, 
which does:

class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
    """Driver to attach Network volumes to libvirt."""
    def __init__(self, connection):
        super(LibvirtISCSIVolumeDriver,
              self).__init__(connection, is_block_dev=False)


Surely is_block_dev should be "True" for iSCSI?? Changing this makes the 
problem go away - now pick_disk_driver_name() in nova/virt/libvirt/utils.py 
does the right thing and my volume attaches successfully.

Am I missing something here... ?

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1273496

Title:
  libvirt iSCSI driver sets is_block_dev=False

Status in OpenStack Compute (Nova):
  New

Bug description:
  Trying to use iSCSI with libvirt/Xen, attaching volumes to instances
  was failing. I tracked this down to the libvirt XML looking like:

  <disk type="block" device="disk">
    <driver name="file" type="raw" cache="none"/>
    <source 
dev="/dev/disk/by-path/ip-192.168.8.11:3260-iscsi-iqn.1986-03.com.sun:02:ecd142ab-b1c7-6bcf-8f91-f55b6c766bcc-lun-0"/>
    <target bus="xen" dev="xvdb"/>
    <serial>e8c640c6-641b-4940-88f2-79555cdd5551</serial>
  </disk>

  
  The driver name should be "phy", not "file".

  
  More digging lead to the iSCSI volume driver in nova/virt/libvirt/volume.py, 
which does:

  class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
      """Driver to attach Network volumes to libvirt."""
      def __init__(self, connection):
          super(LibvirtISCSIVolumeDriver,
                self).__init__(connection, is_block_dev=False)

  
  Surely is_block_dev should be "True" for iSCSI?? Changing this makes the 
problem go away - now pick_disk_driver_name() in nova/virt/libvirt/utils.py 
does the right thing and my volume attaches successfully.

  Am I missing something here... ?

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1273496/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to