[dts] [PATCH V1 5/5]framework/ssh_pexpect: add retry when connect to vm
Xiao Qimai
qimaix.xiao at intel.com
Tue Jun 30 11:46:38 CEST 2020
Signed-off-by: Xiao Qimai <qimaix.xiao at intel.com>
---
framework/ssh_pexpect.py | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/framework/ssh_pexpect.py b/framework/ssh_pexpect.py
index 0230207..1f839d4 100644
--- a/framework/ssh_pexpect.py
+++ b/framework/ssh_pexpect.py
@@ -34,15 +34,28 @@ class SSHPexpect:
threads number is limited to 8 which less than 10. Lock number can
be modified along with MaxStartups value.
"""
+ retry_times = 10
try:
- self.session = pxssh.pxssh(encoding='utf-8')
if ':' in self.host:
- self.ip = self.host.split(':')[0]
- self.port = int(self.host.split(':')[1])
- self.session.login(self.ip, self.username,
- self.password, original_prompt='[$#>]',
- port=self.port, login_timeout=20)
+ while retry_times:
+ self.ip = self.host.split(':')[0]
+ self.port = int(self.host.split(':')[1])
+ self.session = pxssh.pxssh(encoding='utf-8')
+ try:
+ self.session.login(self.ip, self.username,
+ self.password, original_prompt='[$#>]',
+ port=self.port, login_timeout=20)
+ except Exception as e:
+ print(e)
+ time.sleep(2)
+ retry_times -= 1
+ print("retry %d times connecting..." % (10-retry_times))
+ else:
+ break
+ else:
+ raise Exception('connect to %s:%s failed' % (self.ip, self.port))
else:
+ self.session = pxssh.pxssh(encoding='utf-8')
self.session.login(self.host, self.username,
self.password, original_prompt='[$#>]')
self.send_expect('stty -echo', '#')
--
1.8.3.1
More information about the dts
mailing list