Hi;

I'm trying to develop a Docker based tool, as suggested by a peer-reviewer
who might be reading this :P

However, I'm having trouble with even the most basic setting, and I don't
know what might be wrong, so any help will be much appreciated. I have
developed a very simple docker image and corresponding Galaxy tool, so that
I get it working before starting with the actual tool, but when I execute
it through Galaxy it simply stays executing forever, instead of failing or
terminating.

My image simply executes a shell script that reads the content of a file
and concatenates a string to it. The image:

FROM busybox:ubuntu-14.04
MAINTAINER Mikel Egaña Aranguren <mikel.egana.arangu...@gmail.com>

RUN mkdir /sadi
COPY test-io.sh /sadi/
RUN chmod a+x /sadi/test-io.sh
ENV PATH $PATH:/sadi

The test-io.sh script within the image:

#!/bin/sh

cat $1
echo "AAA"

Invoking the container and executing the script through a normal shell
works fine:

REPOSITORY                                   TAG                 IMAGE
ID            CREATED             VIRTUAL SIZE
mikeleganaaranguren/busybox-galaxy-test-io   v1
9c2b8bdade1d        54 minutes ago      5.609 MB

docker run -i -t mikeleganaaranguren/busybox-galaxy-test-io:v1

BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ #
~ # echo "BBB" > test
~ # test-io.sh test
BBB
AAA

This is the tool file I'm using in Galaxy:

<tool id="SADIBUSYBOX" name="SADIBUSYBOX">
    <description>IO</description>
    <requirements>
      <container
type="docker">mikeleganaaranguren/busybox-galaxy-test-io:v1</container>
    </requirements>
    <command>
      test-io.sh $input > $output
    </command>
    <inputs>
        <param name="input" type="data" label="Dataset"/>
    </inputs>
    <outputs>
        <data format="txt" name="output" />
    </outputs>
    <help>
    </help>
</tool>

And my job_conf.xml:

<?xml version="1.0"?>
<!-- A sample job config that explicitly configures job running the way it
is configured by default (if there is no explicit config). -->
<job_conf>
    <plugins>
        <plugin id="local" type="runner"
load="galaxy.jobs.runners.local:LocalJobRunner" workers="4"/>
    </plugins>
    <handlers>
        <handler id="main"/>
    </handlers>
    <destinations default="docker_local">
        <destination id="local" runner="local"/>
    <destination id="docker_local" runner="local">
      <param id="docker_enabled">true</param>
        </destination>
    </destinations>
</job_conf>

As I said, when I execute the tool in Galaxy, it simply executes forever,
it stays in a "yellow state", till I kill the Galaxy server. The log says:

127.0.0.1 - - [18/Aug/2015:19:08:00 +0200] "GET
/tool_runner?tool_id=SADIBUSYBOX HTTP/1.1" 200 - "http://127.0.0.1:8080/";
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101
Firefox/40.0"
galaxy.tools.actions INFO 2015-08-18 19:08:07,178 Handled output (77.825 ms)
galaxy.tools.actions INFO 2015-08-18 19:08:07,280 Verified access to
datasets (12.387 ms)
galaxy.tools.execute DEBUG 2015-08-18 19:08:07,307 Tool [SADIBUSYBOX]
created job [2] (217.508 ms)
127.0.0.1 - - [18/Aug/2015:19:08:07 +0200] "POST /api/tools HTTP/1.1" 200 -
"http://127.0.0.1:8080/tool_runner?tool_id=SADIBUSYBOX"; "Mozilla/5.0 (X11;
Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:07 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
galaxy.jobs DEBUG 2015-08-18 19:08:07,714 (2) Working directory for job is:
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2
galaxy.jobs.handler DEBUG 2015-08-18 19:08:07,721 (2) Dispatching to local
runner
galaxy.jobs DEBUG 2015-08-18 19:08:07,839 (2) Persisting job destination
(destination id: docker_local)
galaxy.jobs.runners DEBUG 2015-08-18 19:08:07,849 Job [2] queued (128.176
ms)
galaxy.jobs.handler INFO 2015-08-18 19:08:07,897 (2) Job dispatched
galaxy.jobs.command_factory INFO 2015-08-18 19:08:08,163 Built script
[/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/tool_script.sh]
for tool
command[/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/tool_script.sh]
galaxy.jobs.runners DEBUG 2015-08-18 19:08:08,322 (2) command is: sudo
docker inspect mikeleganaaranguren/busybox-galaxy-test-io:v1 > /dev/null
2>&1
[ $? -ne 0 ] && sudo docker pull
mikeleganaaranguren/busybox-galaxy-test-io:v1 > /dev/null 2>&1

sudo docker run -e "GALAXY_SLOTS=$GALAXY_SLOTS" -v
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy:/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy:ro
-v
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/tools/catDocker:/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/tools/catDocker:ro
-v
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2:/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2:rw
-v
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/files:/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/files:rw
-w
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2
--net none --rm -u 1001 mikeleganaaranguren/busybox-galaxy-test-io:v1
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/tool_script.sh;
return_code=$?; python
"/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/set_metadata_3aWBf9.py"
"/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/tmp/tmpH2gy3X"
"/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/galaxy.json"
"/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/metadata_in_HistoryDatasetAssociation_2_WxbKNP,/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/metadata_kwds_HistoryDatasetAssociation_2_p8UK91,/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/metadata_out_HistoryDatasetAssociation_2_wPm09U,/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/metadata_results_HistoryDatasetAssociation_2_irSo7t,/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/files/000/dataset_2.dat,/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/metadata_override_HistoryDatasetAssociation_2_1glVfb"
5242880; sh -c "exit $return_code"
galaxy.jobs.runners.local DEBUG 2015-08-18 19:08:08,323 (2) executing job
script:
/home/mikel/UPV-EHU/SADI-Docker-Galaxy/galaxy/database/job_working_directory/000/2/galaxy_2.sh
galaxy.jobs DEBUG 2015-08-18 19:08:08,375 (2) Persisting job destination
(destination id: docker_local)
127.0.0.1 - - [18/Aug/2015:19:08:11 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:21 +0200] "GET
/history/current_history_json HTTP/1.1" 200 - "http://127.0.0.1:8080/";
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101
Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:21 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents?dataset_details=ebfb8f50c6abde6d%2C33b43b4e7093c91f%2Ca799d38679e985db%2C5969b1f7201f12ae%2Cdf7a1f0c02a5b08e%2C0a248a1f62a0cc04%2C03501d7626bd192f%2C3f5830403180d620%2Ce85a3be143d5905b%2Cc9468fdb6dc5c5f1%2C2a56795cad3c7db3
HTTP/1.1" 200 - "http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux
x86_64; rv:40.0) Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:25 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:29 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:33 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:38 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:42 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"
127.0.0.1 - - [18/Aug/2015:19:08:46 +0200] "GET
/api/histories/f2db41e1fa331b3e/contents HTTP/1.1" 200 - "
http://127.0.0.1:8080/"; "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0)
Gecko/20100101 Firefox/40.0"

Thanks!

-- 
Mikel Egaña Aranguren, Ph.D.

http://mikeleganaaranguren.com
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to