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/