]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Catch SSH Disconnection errors in functional tests
authorZane Bitter <zbitter@redhat.com>
Tue, 16 Oct 2012 11:35:23 +0000 (13:35 +0200)
committerZane Bitter <zbitter@redhat.com>
Tue, 16 Oct 2012 11:37:24 +0000 (13:37 +0200)
Change-Id: I24f959cbaa36138bafeda70a3966000673c80c56
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat/tests/functional/util.py

index 5d09be688da3f8ddc8d0fc5b84e23e094318fd10..74946f625079c1883ba7f0ca1d80c7ac9fde007a 100644 (file)
@@ -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