bugfix: return success when ansible stuck 25/9225/3
authorcarey.xu <carey.xuhan@huawei.com>
Thu, 4 Feb 2016 02:31:32 +0000 (10:31 +0800)
committercarey xu <carey.xuhan@huawei.com>
Thu, 4 Feb 2016 06:19:41 +0000 (06:19 +0000)
JIRA: COMPASS-304

Change-Id: Iad3de6582c522b75856421078a704bdf2e17c572
Signed-off-by: carey.xu <carey.xuhan@huawei.com>
deploy/client.py

index 0d51ce2..593f903 100644 (file)
@@ -852,23 +852,13 @@ class CompassClient(object):
     def get_installing_progress(self, cluster_id):
         def _get_installing_progress():
             """get intalling progress."""
-            action_timeout = time.time() + 60 * float(CONF.action_timeout)
-            deployment_timeout = time.time() + 60 * float(
-                CONF.deployment_timeout)
-
+            deployment_timeout = time.time() + 60 * float(CONF.deployment_timeout)
             current_time = time.time
             while current_time() < deployment_timeout:
                 status, cluster_state = self.get_cluster_state(cluster_id)
                 if not self.is_ok(status):
                     raise RuntimeError("can not get cluster state")
 
-                if cluster_state['state'] in ['UNINITIALIZED', 'INITIALIZED']:
-                    if current_time() >= action_timeout:
-                        raise RuntimeError("installation timeout")
-                    else:
-                        time.sleep(5)
-                        continue
-
                 elif cluster_state['state'] == 'SUCCESSFUL':
                     LOG.info(
                          'get cluster %s state status %s: %s, successful',
@@ -880,6 +870,14 @@ class CompassClient(object):
                          'get cluster %s state status %s: %s, error',
                          (cluster_id, status, cluster_state)
                     )
+
+                LOG.info("current_time=%s, deployment_timeout=%s" \
+                        % (current_time(), deployment_timeout))
+                time.sleep(5)
+
+            if not current_time() < deployment_timeout:
+                raise RuntimeError("installation timeout")
+
         try:
             _get_installing_progress()
         finally: