Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 891509

Summary: cinder appliance driver configuration should be independent from the iscsi_helper setting
Product: Red Hat OpenStack Reporter: Attila Fazekas <afazekas>
Component: openstack-cinderAssignee: Eric Harney <eharney>
Status: CLOSED ERRATA QA Contact: Giulio Fidente <gfidente>
Severity: medium Docs Contact:
Priority: high    
Version: 2.0 (Folsom)CC: coughlan, gfidente, ohochman
Target Milestone: snapshot5Keywords: Triaged
Target Release: 2.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 2012.2.3-6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-04 17:59:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
cinder-nexenta.conf none

Description Attila Fazekas 2013-01-03 08:42:43 UTC
In the /etc/cinder/cinder.conf the iscsi_helper option is related to exporting iscsi targets from the local VG or for exporting volumes from a remote machine managed via ssh (like a Linux NAS).

The default value for the iscsi_helper is tgtadm, it causes issues with the target_lun number when using a storage appliances.
https://github.com/openstack/cinder/blob/f61e854460c5ad8129b2230686465884eb6b8852/cinder/volume/driver.py#L544

The tgtadm is the only known helper which reserves the LUN 0 for special purposes. Other tools using the LUN 0 for exporting storage.
When using storage appliance this option must be ignored.

The default target_lun should be determined by the volume drivers selection like 
volume_driver = cinder.volume.nexenta.volume.NexentaDriver

Example exception:
2013-01-02 18:07:32 ERROR nova.compute.manager [req-d8e4718c-f4d9-4143-8b05-81fdfa9d2a37 d1f482b37ada416cba1e5354a603da31 12d36ebf727a41a2aa7279b129df1bad] [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207
e] Failed to attach volume b50411ed-8723-41db-b291-93848b656f5b at /dev/vdg
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e] Traceback (most recent call last):
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2039, in _attach_volume
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     mountpoint)
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 117, in wrapped
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     temp_level, payload)
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 92, in wrapped
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     return f(*args, **kw)
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 641, in attach_volume
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     mount_device)
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 633, in volume_driver_met
hod
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     return method(connection_info, *args, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/utils.py", line 760, in inner
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     retval = f(*args, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/volume.py", line 165, in connect_volume
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e]     % (host_device))
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e] NovaException: iSCSI device not found at /dev/disk/by-path/ip-10.34.64.31:3260-iscsi-iqn.1986-03.com.
sun:02:cinder-volume-b50411ed-8723-41db-b291-93848b656f5b-lun-1
2013-01-02 18:07:32 3140 TRACE nova.compute.manager [instance: ceb3c63f-18b2-4da1-b944-d1887cd0207e] 
2013-01-02 18:07:32 3140 ERROR nova.openstack.common.rpc.amqp [-] Exception during message handling
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp Traceback (most recent call last):
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 276, in _process_data
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     rval = self.proxy.dispatch(ctxt, version, method, **args)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", line 145, in dispatch
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     return getattr(proxyobj, method)(ctxt, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 117, in wrapped
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     temp_level, payload)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 92, in wrapped
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     return f(*args, **kw)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 175, in decorated_function
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     pass
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 161, in decorated_function
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 196, in decorated_function
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     kwargs['instance']['uuid'], e, sys.exc_info())
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 190, in decorated_function
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     return function(self, context, *args, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2013, in attach_volume
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     context, instance.get('uuid'), mountpoint)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2009, in attach_volume
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     mountpoint, instance)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2048, in _attach_volume
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     connector)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2039, in _attach_volume
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     mountpoint)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 117, in wrapped
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     temp_level, payload)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     self.gen.next()
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/exception.py", line 92, in wrapped
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     return f(*args, **kw)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 641, in attach_volume
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     mount_device)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 633, in volume_driver_method
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     return method(connection_info, *args, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/utils.py", line 760, in inner
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     retval = f(*args, **kwargs)
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/volume.py", line 165, in connect_volume
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp     % (host_device))
2013-01-02 18:07:32 3140 TRACE nova.openstack.common.rpc.amqp NovaException: iSCSI device not found at /dev/disk/by-path/ip-10.34.64.31:3260-iscsi-iqn.1986-03.com.sun:02:cinder-volume-b50411ed-8723-41db-b291-93848b656f5b-lun-1


The "/dev/disk/by-path/ip-10.34.64.31:3260-iscsi-iqn.1986-03.com.sun:02:cinder-volume-b50411ed-8723-41db-b291-93848b656f5b-lun-0" was the correct value.

WORKAROUND:
Set to iscsi_helper to anything else then "tgtadm".

Comment 2 Attila Fazekas 2013-01-03 09:24:30 UTC
Created attachment 671942 [details]
cinder-nexenta.conf

Comment 12 Giulio Fidente 2013-03-19 15:37:04 UTC
works for me using openstack-cinder-2012.2.3-6.el6ost.noarch

Comment 14 errata-xmlrpc 2013-04-04 17:59:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0706.html