From c7cc08a28396c256b74cc2c94d91fd3de81b136c Mon Sep 17 00:00:00 2001 From: John Chilton <jmchilton@gmail.com> Date: Mon, 3 Oct 2022 09:59:16 -0400 Subject: [PATCH] Home directory handling breaks when updating Galaxy to latest pulsar-galaxy-lib. --- pulsar/client/job_directory.py | 3 +++ pulsar/managers/base/directory.py | 3 ++- pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh | 2 +- pulsar/managers/util/job_script/__init__.py | 3 +++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pulsar/client/job_directory.py b/pulsar/client/job_directory.py index 6295727a..f9e136fa 100644 --- a/pulsar/client/job_directory.py +++ b/pulsar/client/job_directory.py @@ -42,6 +42,9 @@ class RemoteJobDirectory: else: self.job_directory = remote_staging_directory + def home_directory(self): + return self._sub_dir('home') + def metadata_directory(self): return self._sub_dir('metadata') diff --git a/pulsar/managers/base/directory.py b/pulsar/managers/base/directory.py index 98e133e5..96a0055e 100644 --- a/pulsar/managers/base/directory.py +++ b/pulsar/managers/base/directory.py @@ -160,9 +160,10 @@ class DirectoryBaseManager(BaseManager): 'galaxy_lib': self._galaxy_lib(), 'preserve_python_environment': setup_params.get('preserve_galaxy_python_environment', False), 'env_setup_commands': env_setup_commands, - 'job_directory': self.job_directory(job_id).job_directory, + # job_diredctory not used by job_script and it calls the job directory working directory 'working_directory': self.job_directory(job_id).working_directory(), 'metadata_directory': self.job_directory(job_id).metadata_directory(), + 'home_directory': self.job_directory(job_id).home_directory(), 'job_id': job_id, 'tmp_dir_creation_statement': self._tmp_dir(job_id), } diff --git a/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh b/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh index 7b4d04d0..08d698ab 100644 --- a/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh +++ b/pulsar/managers/util/job_script/DEFAULT_JOB_FILE_TEMPLATE.sh @@ -5,7 +5,7 @@ $headers _galaxy_setup_environment() { local _use_framework_galaxy="$1" _GALAXY_JOB_DIR="$working_directory" - _GALAXY_JOB_HOME_DIR="$working_directory/home" + _GALAXY_JOB_HOME_DIR="$home_directory" _GALAXY_JOB_TMP_DIR=$tmp_dir_creation_statement $env_setup_commands if [ "$GALAXY_LIB" != "None" -a "$_use_framework_galaxy" = "True" ]; then diff --git a/pulsar/managers/util/job_script/__init__.py b/pulsar/managers/util/job_script/__init__.py index 3d662811..d3512d9f 100644 --- a/pulsar/managers/util/job_script/__init__.py +++ b/pulsar/managers/util/job_script/__init__.py @@ -93,6 +93,9 @@ def job_script(template=DEFAULT_JOB_FILE_TEMPLATE, **kwds): kwds["instrument_pre_commands"] = job_instrumenter.pre_execute_commands(working_directory) or "" kwds["instrument_post_commands"] = job_instrumenter.post_execute_commands(working_directory) or "" + # Setup home directory var + kwds["home_directory"] = kwds.get("home_directory", os.path.join(kwds["working_directory"], "home")) + template_params = OPTIONAL_TEMPLATE_PARAMS.copy() template_params.update(**kwds) env_setup_commands_str = "\n".join(template_params["env_setup_commands"]) -- GitLab