From ba409e75181224c80f0acf02530cac31fe28461c Mon Sep 17 00:00:00 2001 From: Bjoern Gruening Date: Sat, 30 Apr 2016 17:50:33 +0200 Subject: [PATCH] enable HTCondor Docker integration --- lib/galaxy/jobs/runners/condor.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/galaxy/jobs/runners/condor.py b/lib/galaxy/jobs/runners/condor.py index 97e9cab6ebcf..4b2011bf32c9 100644 --- a/lib/galaxy/jobs/runners/condor.py +++ b/lib/galaxy/jobs/runners/condor.py @@ -57,6 +57,19 @@ def queue_job( self, job_wrapper ): # get destination params query_params = submission_params(prefix="", **job_destination.params) + container = None + universe = query_params.get('universe', False) + if universe.strip().lower() == 'docker': + if job_wrapper.tool.containers: + # Try to extract the container (1) from the Tool, (2) from 'docker_image' + # and (3) from 'docker_default_container_id'. The last two can be specified in job_conf.xml + container = job_wrapper.tool.containers[0].identifier or \ + query_params.get('docker_image', False) or \ + query_params.get('docker_default_container_id', False) + if container: + # HTCondor needs the image as 'docker_image' + query_params.update({'docker_image': container}) + galaxy_slots = query_params.get('request_cpus', None) if galaxy_slots: galaxy_slots_statement = 'GALAXY_SLOTS="%s"; export GALAXY_SLOTS_CONFIGURED="1"' % galaxy_slots