浏览代码

[#1133] variables in REMOTE_DEPLOYMENT_DIR is not properly replaced (#1135)

Yubi Lee 5 年之前
父节点
当前提交
497a933ec9
共有 1 个文件被更改,包括 5 次插入4 次删除
  1. 5 4
      desktop/libs/liboozie/src/liboozie/submission2.py

+ 5 - 4
desktop/libs/liboozie/src/liboozie/submission2.py

@@ -485,8 +485,9 @@ STORED AS TEXTFILE %s""" % (self.properties.get('send_result_path'), '\n\n\n'.jo
     Return the job deployment directory in HDFS, creating it if necessary.
     Return the job deployment directory in HDFS, creating it if necessary.
     The actual deployment dir should be 0711 owned by the user
     The actual deployment dir should be 0711 owned by the user
     """
     """
+    remote_deployment_dir = REMOTE_DEPLOYMENT_DIR.get().replace('$USER', self.user.username).replace('$TIME', str(time.time())).replace('$JOBID', str(self.job.id))
     # Automatic setup of the required directories if needed
     # Automatic setup of the required directories if needed
-    create_directories(self.fs)
+    create_directories(self.fs, [], remote_deployment_dir)
 
 
     # Check if job owner owns the deployment directory.
     # Check if job owner owns the deployment directory.
     has_deployment_dir_access = False
     has_deployment_dir_access = False
@@ -496,7 +497,7 @@ STORED AS TEXTFILE %s""" % (self.properties.get('send_result_path'), '\n\n\n'.jo
 
 
     # Case of a shared job
     # Case of a shared job
     if self.job.document and self.user != self.job.document.owner or not has_deployment_dir_access:
     if self.job.document and self.user != self.job.document.owner or not has_deployment_dir_access:
-      path = REMOTE_DEPLOYMENT_DIR.get().replace('$USER', self.user.username).replace('$TIME', str(time.time())).replace('$JOBID', str(self.job.id))
+      path = remote_deployment_dir
       # Shared coords or bundles might not have any existing workspaces
       # Shared coords or bundles might not have any existing workspaces
       if self.fs.exists(self.job.deployment_dir):
       if self.fs.exists(self.job.deployment_dir):
         self.fs.copy_remote_dir(self.job.deployment_dir, path, owner=self.user)
         self.fs.copy_remote_dir(self.job.deployment_dir, path, owner=self.user)
@@ -809,9 +810,9 @@ print _exec('%(service)s', 'submitHueQuery', {'clusterCrn': cluster_crn, 'payloa
             }'''
             }'''
     }
     }
 
 
-def create_directories(fs, directory_list=[]):
+def create_directories(fs, directory_list=[], remote_deployment_dir=REMOTE_DEPLOYMENT_DIR.get()):
   # If needed, create the remote home, deployment and data directories
   # If needed, create the remote home, deployment and data directories
-  directories = [REMOTE_DEPLOYMENT_DIR.get()] + directory_list
+  directories = [remote_deployment_dir] + directory_list
 
 
   for directory in directories:
   for directory in directories:
     if not fs.do_as_user(fs.DEFAULT_USER, fs.exists, directory):
     if not fs.do_as_user(fs.DEFAULT_USER, fs.exists, directory):