nova-volume multiple lun's on the same target don't work

Bug #929790 reported by Vish Ishaya
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Renuka Apte

Bug Description

(nova.rpc): TRACE: Traceback (most recent call last):
(nova.rpc): TRACE: File "/opt/stack/nova/nova/rpc/amqp.py", line 249, in _process_data
(nova.rpc): TRACE: rval = node_func(context=ctxt, **node_args)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/exception.py", line 126, in wrapped
(nova.rpc): TRACE: return f(*args, **kw)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 150, in decorated_function
(nova.rpc): TRACE: function(self, context, instance_uuid, *args, **kwargs)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 173, in decorated_function
(nova.rpc): TRACE: self.add_instance_fault_from_exc(context, instance_uuid, e)
(nova.rpc): TRACE: File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
(nova.rpc): TRACE: self.gen.next()
(nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 168, in decorated_function
(nova.rpc): TRACE: return function(self, context, instance_uuid, *args, **kwargs)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 1635, in attach_volume
(nova.rpc): TRACE: connector)
(nova.rpc): TRACE: File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
(nova.rpc): TRACE: self.gen.next()
(nova.rpc): TRACE: File "/opt/stack/nova/nova/compute/manager.py", line 1627, in attach_volume
(nova.rpc): TRACE: mountpoint)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/exception.py", line 126, in wrapped
(nova.rpc): TRACE: return f(*args, **kw)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/virt/libvirt/connection.py", line 454, in attach_volume
(nova.rpc): TRACE: mount_device)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/virt/libvirt/connection.py", line 446, in volume_driver_method
(nova.rpc): TRACE: return method(connection_info, *args, **kwargs)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/virt/libvirt/volume.py", line 127, in connect_volume
(nova.rpc): TRACE: self._run_iscsiadm(iscsi_properties, ("--login",))
(nova.rpc): TRACE: File "/opt/stack/nova/nova/virt/libvirt/volume.py", line 96, in _run_iscsiadm
(nova.rpc): TRACE: check_exit_code=check_exit_code)
(nova.rpc): TRACE: File "/opt/stack/nova/nova/utils.py", line 232, in execute
(nova.rpc): TRACE: cmd=' '.join(cmd))
(nova.rpc): TRACE: ProcessExecutionError: Unexpected error while running command.
(nova.rpc): TRACE: Command: sudo iscsiadm -m node -T iqn.1992-08.com.netapp:sn.101192396 -p 10.61.167.30:3260 --login
(nova.rpc): TRACE: Exit code: 255
(nova.rpc): TRACE: Stdout: 'Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.101192396, portal: 10.61.167.30,3260]\n'
(nova.rpc): TRACE: Stderr: 'iscsiadm: Could not login to [iface: default, target: iqn.1992-08.com.netapp:sn.101192396, portal: 10.61.167.30,3260]: \niscsiadm: initiator reported error (15 - already exists)\n'

need to allow multiple logins/logout and pass the lun data in iscsi_properties

Changed in nova:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → Vish Ishaya (vishvananda)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/3990

Changed in nova:
status: Confirmed → In Progress
Changed in nova:
assignee: Vish Ishaya (vishvananda) → Renuka Apte (renukaapte)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/3990
Committed: http://github.com/openstack/nova/commit/509e5ad9ef6ed38caa69d2c76b1adccedcdd315e
Submitter: Jenkins
Branch: master

commit 509e5ad9ef6ed38caa69d2c76b1adccedcdd315e
Author: Vishvananda Ishaya <email address hidden>
Date: Thu Feb 9 15:05:21 2012 -0800

    Fixes nova-volume support for multiple luns

     * stores lun in provider_location if specified
     * passes lun in iscsi_properties instead of hard coding
     * adds call to libvirt to list all used block devices
     * make sure to synchronize connect and disconnect commands
     * only disconnect from target if no luns are in use
     * allow double logins to targets
     * fixes typo in get_volume_connector in xenapi_connection
     * fixes bug 929790

    Change-Id: I2466dc750a6fa5e0b07f94314d38873740aa6b29

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → essex-4
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: essex-4 → 2012.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.