Thanks.

I'll see if I can find anything using that debug info.


On 8/2/2013 12:43 PM, simon_jake...@dell.com wrote:
> Jon,
>
> that's pretty impressive for a non-developer. Although as you've stated, I'd 
> be careful with making changes to any of the Cinder code base. I actually 
> looked at the problem you had, and I think you might be well served to take a 
> close look at what command is being execute exactly.
>>From looking at eqlx.py it appears that the command doesn't necessarily run 
>>inside the EQL command prompt. Instead the "Error executing EQL command" 
>>comes from the static part of the string. If you look at the whole _run_ssh 
>>method (line 228) you'll see that there is a bunch of debug output that 
>>should be generated somewhere. If you can seem to find that, I'd try to turn 
>>that on somehow, or simply try to dump it to a file temporarily.
>
> Hope this helps, let me know if you need more pointers.
>
> Simon
>
> -----Original Message-----
> From: crowbar-bounces On Behalf Of Jon Bayless
> Sent: Friday, August 02, 2013 1:29 PM
> To: crowbar
> Subject: Re: [Crowbar] Using Dell Equallogic with Openstack Cinder
>
> A follow up on this. I was able to find a solution, though I don't think it 
> is really the 'right' solution.
>
> In the cinder/volume/driver.py file I made a change as follows:
>
> def _run_iscsiadm(self, iscsi_properties, iscsi_command, **kwargs):
>           check_exit_code = kwargs.pop('check_exit_code', 0)
>           (out, err) = self._execute('iscsiadm', '-m', 'node', '-T',
>                                      iscsi_properties['target_iqn'],
>                                      '-p', iscsi_properties['target_portal'],
>                                      *iscsi_command, run_as_root=True,
>                                      check_exit_code=check_exit_code)
>           LOG.debug("iscsiadm %s: stdout=%s stderr=%s" %
>                     (iscsi_command, out, err))
>           return (out, err)
>
> Changed to:
>
> def _run_iscsiadm(self, iscsi_properties, iscsi_command, **kwargs):
>           check_exit_code = kwargs.pop('check_exit_code', 0)
>           (out, err) = utils.execute('iscsiadm', '-m', 'node', '-T',
>                                      iscsi_properties['target_iqn'],
>                                      '-p', iscsi_properties['target_portal'],
>                                      *iscsi_command, run_as_root=True,
>                                      check_exit_code=check_exit_code)
>           LOG.debug("iscsiadm %s: stdout=%s stderr=%s" %
>                     (iscsi_command, out, err))
>           return (out, err)
>
> This allows the Cinder service to properly use SSH to the EQL box when needed 
> (most of the time for 'administrative' work) and to run commands for iscsi 
> connections on itself or compute nodes etc. when needed.
>
> I'm pretty sure this is not a great idea since that code is subject to a lot 
> more fiddling and change with future releases but the eqlx driver file seems 
> to have a lot more in it that would require change.
>
> Hopefully that is helpful.
>
> Thanks
>
>
>
> On 8/1/2013 3:46 PM, Jon Bayless wrote:
>> Hello. Hoping to find some help with an issue in my attempt to use an
>> Equallogic array for a storage back end for Cinder with OpenStack Grizzly.
>>
>> Since the Crowbar Grizzly release is not complete yet, we are trying
>> to use the Rackspace Private Cloud installer tool and so far it has
>> worked very well. Using it with a Ceph storage back end worked great
>> but we want to see how things work with Equallogic.
>>
>> We have a fresh Equallogic running 6.0.2 release firmware and have
>> installed the eqlx.py into the appropriate driver location for the
>> Cinder setup. The config is all in place and we can start the Cinder
>> volume service just fine. Creating and deleting volumes works as well.
>>
>> The problem comes when we try to actually use the Equallogic to
>> actually have the controller node or compute node login to an iSCSI
>> volume to put data on it (such as making a volume from an image). The
>> log result is as
>> follows:
>>
>> 2013-08-01 13:46:20    ERROR [cinder.volume.manager] Error: ['Traceback
>> (most recent call last):
>> ', '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py",
>> line 250, in create_volume
>>        image_location)
>> ', '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py",
>> line 189, in _create_volume
>>        image_id)
>> ', '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py",
>> line 602, in _copy_image_to_volume
>>        image_id)
>> ', '  File "/usr/lib/python2.7/dist-packages/cinder/volume/driver.py",
>> line 362, in copy_image_to_volume
>>        iscsi_properties, volume_path = self._attach_volume( ', '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/driver.py",
>> line 398, in _attach_volume
>>        try:
>> ', '  File "/usr/lib/python2.7/dist-packages/cinder/volume/driver.py",
>> line 304, in _run_iscsiadm
>>        *iscsi_command, run_as_root=True, ', '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/drivers/eqlx.py", line
>> 221, in _execute
>>        return self._run_ssh(command, timeout=FLAGS.eqlx_cli_timeout) ',
>> '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/drivers/eqlx.py", line
>> 73, in __inner
>>        res = gt.wait()
>> ', '  File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py",
>> line 168, in wait
>>        return self._exit_event.wait()
>> ', '  File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line
>> 116, in wait
>>        return hubs.get_hub().switch()
>> ', '  File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py",
>> line 187, in switch
>>        return self.greenlet.switch()
>> ', '  File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py",
>> line 194, in main
>>        result = function(*args, **kwargs) ', '  File
>> "/usr/lib/python2.7/dist-packages/cinder/volume/drivers/eqlx.py", line
>> 253, in _run_ssh
>>        raise exception.Error(msg, out)
>> ', "Error: (u'Error executing EQL command: stty columns 255',
>> ['iscsiadm -m node -T
>> iqn.2001-05.com.equallogic:0-8a0906-b0976c809-2160000005851fab-volume-25fea6db-dd20-4f8a-9099-f1d96c122b3d
>> -p 10.64.0.5:3260', '                         ^', 'Error: Bad command',
>> 'OpenStack-InternalGroup> '])
>> "]
>>
>> I'm no programmer but from what I can tell, it seems the eqlx driver
>> is somehow causing Cinder-volume to try to run the iscsiadm command at
>> the end of that log entry via SSH on the Equallogic shell. Obviously
>> that won't work but I can't figure out why it is happening.
>>
>> Any insights?
>>
>> Thanks
>>
>> _______________________________________________
>> Crowbar mailing list
>> Crowbar@dell.com
>> https://lists.us.dell.com/mailman/listinfo/crowbar
>> For more information: http://crowbar.github.com/
>>
>
> _______________________________________________
> Crowbar mailing list
> Crowbar@dell.com
> https://lists.us.dell.com/mailman/listinfo/crowbar
> For more information: http://crowbar.github.com/
>

_______________________________________________
Crowbar mailing list
Crowbar@dell.com
https://lists.us.dell.com/mailman/listinfo/crowbar
For more information: http://crowbar.github.com/

Reply via email to