]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Fix eqlx CLI output parsing on bad input
authorSean McGinnis <sean_mcginnis@dell.com>
Tue, 7 Oct 2014 15:29:26 +0000 (10:29 -0500)
committerSean McGinnis <sean_mcginnis@dell.com>
Thu, 9 Oct 2014 13:25:31 +0000 (13:25 +0000)
The eqlx driver would identify CLI command completion
by looking for the system name prompt at the end of
the output ("ARRAY_NAME>"). In some cases where there
is bad input the array will print an error, then
prepopulate the command again so it can be edited,
resulting in the output:

"ARRAY_NAME> [bad command]"

The array name prompt only gets printed on command
completion, so the fix is to look for the prompt
anywhere in the CLI output.

Change-Id: I063a203c9746689ca8a42a97725b059f782e3812
Closes-Bug: 1378394

cinder/volume/drivers/eqlx.py

index 81dfff021308c3d022d7d52894b2aee88388e848..cf3efc9185493faf3ac5eea250576810afd482aa 100644 (file)
@@ -135,7 +135,7 @@ class DellEQLSanISCSIDriver(SanISCSIDriver):
     def _get_output(self, chan):
         out = ''
         ending = '%s> ' % self.configuration.eqlx_group_name
-        while not out.endswith(ending):
+        while out.find(ending) == -1:
             out += chan.recv(102400)
 
         LOG.debug("CLI output\n%s", out)