Merge "Remove apparmor for vFuel"
[fuel.git] / deploy / deploy.py
index 841b701..bc1dfdb 100755 (executable)
@@ -61,7 +61,7 @@ class AutoDeploy(object):
     def __init__(self, no_fuel, fuel_only, no_health_check, cleanup_only,
                  cleanup, storage_dir, pxe_bridge, iso_file, dea_file,
                  dha_file, fuel_plugins_dir, fuel_plugins_conf_dir,
-                 no_plugins):
+                 no_plugins, deploy_timeout):
         self.no_fuel = no_fuel
         self.fuel_only = fuel_only
         self.no_health_check = no_health_check
@@ -75,6 +75,7 @@ class AutoDeploy(object):
         self.fuel_plugins_dir = fuel_plugins_dir
         self.fuel_plugins_conf_dir = fuel_plugins_conf_dir
         self.no_plugins = no_plugins
+        self.deploy_timeout = deploy_timeout
         self.dea = (DeploymentEnvironmentAdapter(dea_file)
                     if not cleanup_only else None)
         self.dha = DeploymentHardwareAdapter(dha_file)
@@ -148,10 +149,10 @@ class AutoDeploy(object):
             delete('.rr_moved')
             isolinux = 'isolinux/isolinux.cfg'
             log('isolinux.cfg before: %s'
-                % exec_cmd('grep netmask %s' % isolinux))
+                % exec_cmd('grep ip= %s' % isolinux))
             self.update_fuel_isolinux(isolinux)
             log('isolinux.cfg after: %s'
-                % exec_cmd('grep netmask %s' % isolinux))
+                % exec_cmd('grep ip= %s' % isolinux))
 
             iso_label = self.parse_iso_volume_label(self.iso_file)
             log('Volume label: %s' % iso_label)
@@ -167,7 +168,7 @@ class AutoDeploy(object):
         with io.open(file) as f:
             data = f.read()
         for key, val in self.fuel_conf.iteritems():
-            # skip replacing these keys, as the format is custom
+            # skip replacing these keys, as the format is different
             if key in ['ip', 'gw', 'netmask', 'hostname']:
                 continue
 
@@ -185,28 +186,9 @@ class AutoDeploy(object):
 
         data = re.sub(r'ip=[^ ]\S+', 'ip=%s' % ip, data)
 
-        netmask = self.fuel_conf['netmask']
-        data = self.append_kernel_param(data, 'netmask=%s' % netmask)
-
         with io.open(file, 'w') as f:
             f.write(data)
 
-    def append_kernel_param(self, data, kernel_param):
-        """Append the specified kernel parameter to a list of kernel
-        parameters. Do it only if it isn't already there.
-        """
-        data_final = ''
-        key = re.match(r'(.+?=)', kernel_param).group()
-
-        for line in data.splitlines():
-            data_final += line
-            if (re.search(r'append ', line) and
-                not re.search(key, line)):
-                data_final += ' ' + kernel_param
-            data_final += '\n'
-
-        return data_final
-
     def parse_iso_volume_label(self, iso_filename):
         label_line = exec_cmd('isoinfo -d -i %s | grep -i "Volume id: "' % iso_filename)
         # cut leading text: 'Volume id: '
@@ -216,7 +198,7 @@ class AutoDeploy(object):
         dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'],
                           self.fuel_username, self.fuel_password,
                           self.dea_file, self.fuel_plugins_conf_dir,
-                          WORK_DIR, self.no_health_check)
+                          WORK_DIR, self.no_health_check, self.deploy_timeout)
         return dep.deploy()
 
     def setup_execution_environment(self):
@@ -332,6 +314,9 @@ def parse_arguments():
                         help='Fuel Plugins Configuration directory')
     parser.add_argument('-np', dest='no_plugins', action='store_true',
                         default=False, help='Do not install Fuel Plugins')
+    parser.add_argument('-dt', dest='deploy_timeout', action='store',
+                        default=240, help='Deployment timeout (in minutes) '
+                        '[default: 240]')
 
     args = parser.parse_args()
     log(args)
@@ -357,7 +342,8 @@ def parse_arguments():
               'dha_file': args.dha_file,
               'fuel_plugins_dir': args.fuel_plugins_dir,
               'fuel_plugins_conf_dir': args.fuel_plugins_conf_dir,
-              'no_plugins': args.no_plugins}
+              'no_plugins': args.no_plugins,
+              'deploy_timeout': args.deploy_timeout}
     return kwargs