From 975937ec9d18287fe89a7ee9eda0952e22284ac7 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Tue, 22 Mar 2016 08:31:57 +0000 Subject: [PATCH] Fix docker tool execution for #1688. Thanks for @kellrott for the bug report. \#minor --- lib/galaxy/jobs/runners/__init__.py | 2 +- lib/galaxy/tools/deps/containers.py | 2 +- test/unit/jobs/test_runner_local.py | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/galaxy/jobs/runners/__init__.py b/lib/galaxy/jobs/runners/__init__.py index dcd45eebb76..dfc2f1aaa99 100644 --- a/lib/galaxy/jobs/runners/__init__.py +++ b/lib/galaxy/jobs/runners/__init__.py @@ -322,7 +322,7 @@ class BaseJobRunner( object ): compute_job_directory=None ): if not compute_working_directory: - compute_working_directory = job_wrapper.working_directory + compute_working_directory = job_wrapper.tool_working_directory if not compute_tool_directory: compute_tool_directory = job_wrapper.tool.tool_dir diff --git a/lib/galaxy/tools/deps/containers.py b/lib/galaxy/tools/deps/containers.py index 35dfde5f38b..12b2f3c879e 100644 --- a/lib/galaxy/tools/deps/containers.py +++ b/lib/galaxy/tools/deps/containers.py @@ -298,7 +298,7 @@ class DockerContainer(Container): defaults = "$job_directory:ro,$tool_directory:ro,$job_directory/outputs:rw,$working_directory:rw" elif self.app_info.outputs_to_working_directory: # Should need default_file_path (which is a course estimate given - # object stores anyway. + # object stores anyway). defaults = "$galaxy_root:ro,$tool_directory:ro,$working_directory:rw,$default_file_path:ro" else: defaults = "$galaxy_root:ro,$tool_directory:ro,$working_directory:rw,$default_file_path:rw" diff --git a/test/unit/jobs/test_runner_local.py b/test/unit/jobs/test_runner_local.py index 53ee32b753c..22012258951 100644 --- a/test/unit/jobs/test_runner_local.py +++ b/test/unit/jobs/test_runner_local.py @@ -101,7 +101,8 @@ class MockJobWrapper( object ): def __init__( self, app, test_directory, tool ): working_directory = os.path.join( test_directory, "workdir" ) - os.makedirs( working_directory ) + tool_working_directory = os.path.join( working_directory, "working" ) + os.makedirs( tool_working_directory ) self.app = app self.tool = tool self.state = model.Job.states.QUEUED @@ -112,6 +113,7 @@ class MockJobWrapper( object ): self.write_version_cmd = None self.dependency_shell_commands = None self.working_directory = working_directory + self.tool_working_directory = tool_working_directory self.requires_setting_metadata = True self.job_destination = bunch.Bunch( id="default", params={} ) self.galaxy_lib_dir = os.path.abspath( "lib" )