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
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)