Merge "Compile DPDK to use basic cpu features" into stable/colorado
[fuel.git] / deploy / deploy_env.py
index 3d1cdf4..93dc395 100644 (file)
@@ -20,6 +20,7 @@ from ssh_client import SSHClient
 from common import (
     err,
     log,
+    exec_cmd,
     parse,
     N,
     E,
@@ -35,7 +36,7 @@ class CloudDeploy(object):
 
     def __init__(self, dea, dha, fuel_ip, fuel_username, fuel_password,
                  dea_file, fuel_plugins_conf_dir, work_dir, no_health_check,
-                 deploy_timeout):
+                 deploy_timeout, no_deploy_environment, deploy_log):
         self.dea = dea
         self.dha = dha
         self.fuel_ip = fuel_ip
@@ -50,6 +51,8 @@ class CloudDeploy(object):
         self.work_dir = work_dir
         self.no_health_check = no_health_check
         self.deploy_timeout = deploy_timeout
+        self.no_deploy_environment = no_deploy_environment
+        self.deploy_log = deploy_log
         self.file_dir = os.path.dirname(os.path.realpath(__file__))
         self.ssh = SSHClient(self.fuel_ip, self.fuel_username,
                              self.fuel_password)
@@ -105,10 +108,12 @@ class CloudDeploy(object):
         deploy_app = '%s/%s' % (self.work_dir, deploy_app)
         dea_file = '%s/%s' % (self.work_dir, os.path.basename(self.dea_file))
         with self.ssh as s:
-            status = s.run('python %s %s %s %s' % (
+            status = s.run('python %s %s %s %s %s' % (
                 deploy_app,
                 ('-nh' if self.no_health_check else ''),
-                ('-dt %s' % self.deploy_timeout if self.deploy_timeout else ''),
+                ('-dt %s' %
+                 self.deploy_timeout if self.deploy_timeout else ''),
+                ('-nde' if self.no_deploy_environment else ''),
                 dea_file))
         return status
 
@@ -213,7 +218,8 @@ class CloudDeploy(object):
     def node_discovery(self, node_list, discovered_macs):
         for node in node_list:
             if (node[N['status']] == 'discover' and
-                node[N['online']] == 'True' and
+                (node[N['online']] == 'True' or
+                node[N['online']] == '1') and
                 node[N['mac']] not in discovered_macs):
                 discovered_macs.append(node[N['mac']])
                 blade = self.find_mac_in_dict(node[N['mac']])
@@ -252,6 +258,10 @@ class CloudDeploy(object):
         self.set_boot_order(['pxe', 'disk'])
         self.power_on_nodes()
 
+    def get_put_deploy_log(self):
+        with self.ssh as s:
+            s.scp_get("deploy-*", local=self.deploy_log)
+
     def deploy(self):
 
         self.set_boot_order_nodes()
@@ -268,4 +278,8 @@ class CloudDeploy(object):
 
         delete(self.updated_dea_file)
 
-        return self.run_cloud_deploy(CLOUD_DEPLOY_FILE)
+        rc = self.run_cloud_deploy(CLOUD_DEPLOY_FILE)
+
+        self.get_put_deploy_log()
+
+        return rc