From b1c97d145531ba3aeff055d7028ff49df13cad9e Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Tue, 16 Oct 2012 13:35:23 +0200 Subject: [PATCH] Catch SSH Disconnection errors in functional tests Change-Id: I24f959cbaa36138bafeda70a3966000673c80c56 Signed-off-by: Zane Bitter --- heat/tests/functional/util.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/heat/tests/functional/util.py b/heat/tests/functional/util.py index 5d09be68..74946f62 100644 --- a/heat/tests/functional/util.py +++ b/heat/tests/functional/util.py @@ -220,19 +220,20 @@ class Instance(object): while True: try: self.sftp.stat('/var/lib/cloud/instance/provision-finished') - except IOError, e: - tries += 1 - if e.errno == errno.ENOENT: - self.testcase.assertTrue(tries < 50, 'Timed out') - print("Instance (%s) provisioning incomplete, waiting..." % - self.name) - time.sleep(15) - else: - print e.errno + except paramiko.SSHException as e: + print e + except IOError as e: + if e.errno != errno.ENOENT: raise else: print "Instance (%s) provisioning completed." % self.name - break + return + + tries += 1 + self.testcase.assertTrue(tries < 50, 'Timed out') + print("Instance (%s) provisioning incomplete, waiting..." % + self.name) + time.sleep(15) def check_user_data(self, template_file): return # until TODO is fixed -- 2.45.2