Merge "Fixes the EQL driver CI tests AttributeError"
This commit is contained in:
commit
d3712bc2dd
@ -341,8 +341,10 @@ class DellEQLSanISCSIDriverTestCase(test.TestCase):
|
||||
password="test",
|
||||
min_size=1,
|
||||
max_size=1)
|
||||
self.mock_object(sshpool.item(), 'close')
|
||||
self.driver.sshpool = mock.Mock(return_value=sshpool)
|
||||
ssh = mock.Mock(paramiko.SSHClient)
|
||||
self.driver.sshpool.item().__enter__ = mock.Mock(return_value=ssh)
|
||||
self.driver.sshpool.item().__exit__ = mock.Mock(return_value=False)
|
||||
# now call the execute
|
||||
self.assertRaises(exception.VolumeBackendAPIException,
|
||||
self.driver._eql_execute, "fake command")
|
||||
@ -363,8 +365,10 @@ class DellEQLSanISCSIDriverTestCase(test.TestCase):
|
||||
password="test",
|
||||
min_size=1,
|
||||
max_size=1)
|
||||
self.mock_object(sshpool.item(), 'close')
|
||||
self.driver.sshpool = mock.Mock(return_value=sshpool)
|
||||
ssh = mock.Mock(paramiko.SSHClient)
|
||||
self.driver.sshpool.item().__enter__ = mock.Mock(return_value=ssh)
|
||||
self.driver.sshpool.item().__exit__ = mock.Mock(return_value=False)
|
||||
# mocks for _ssh_execute and _get_output
|
||||
self.mock_object(self.driver, '_get_output',
|
||||
mock.Mock(side_effect=exception.
|
||||
|
@ -211,25 +211,24 @@ class DellEQLSanISCSIDriver(SanISCSIDriver):
|
||||
max_size=max_size)
|
||||
try:
|
||||
total_attempts = attempts
|
||||
ssh = self.sshpool.item()
|
||||
while attempts > 0:
|
||||
attempts -= 1
|
||||
try:
|
||||
LOG.info(_LI('EQL-driver: executing "%s".'), command)
|
||||
return self._ssh_execute(
|
||||
ssh, command,
|
||||
timeout=self.configuration.eqlx_cli_timeout)
|
||||
except processutils.ProcessExecutionError:
|
||||
raise
|
||||
except Exception as e:
|
||||
LOG.exception(e)
|
||||
greenthread.sleep(random.randint(20, 500) / 100.0)
|
||||
msg = (_("SSH Command failed after '%(total_attempts)r' "
|
||||
"attempts : '%(command)s'") %
|
||||
{'total_attempts': total_attempts - attempts,
|
||||
'command': command})
|
||||
ssh.close()
|
||||
raise exception.VolumeBackendAPIException(data=msg)
|
||||
with self.sshpool.item() as ssh:
|
||||
while attempts > 0:
|
||||
attempts -= 1
|
||||
try:
|
||||
LOG.info(_LI('EQL-driver: executing "%s".'), command)
|
||||
return self._ssh_execute(
|
||||
ssh, command,
|
||||
timeout=self.configuration.eqlx_cli_timeout)
|
||||
except processutils.ProcessExecutionError:
|
||||
raise
|
||||
except Exception as e:
|
||||
LOG.exception(e)
|
||||
greenthread.sleep(random.randint(20, 500) / 100.0)
|
||||
msg = (_("SSH Command failed after '%(total_attempts)r' "
|
||||
"attempts : '%(command)s'") %
|
||||
{'total_attempts': total_attempts - attempts,
|
||||
'command': command})
|
||||
raise exception.VolumeBackendAPIException(data=msg)
|
||||
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
|
Loading…
x
Reference in New Issue
Block a user