2015-08-19 15:50 GMT+02:00 John Chilton <jmchilton@gmail.com>:
I don't know to be honest - a couple of things to verify.

I wrote a bunch of debug stuff right away at the end of the e-mail and
you can try if I am wrong, but after I wrote I realized the problem.
You are not using sudo for running docker in your examples - this is
paused because sudo is waiting on a password and you don't have
passwordless sudo setup probably.

I would just add <param id="docker_sudo">false</param> to your job
conf destination and this should work.

Yes, this worked.

Thanks!

Regards

 

The other stuff to try:

Does the tool work without using Docker - if you just place test-io.sh
on Galaxy's PATH. If yes, I would set cleanup_job = never in
galaxy.ini and try again. Once it dies, grab this part of the command
line:

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

and try to debug the problem outside of Galaxy. Maybe using docker
logs for instance. If the logs don't reveal anything try dropping some
of the command-line arguments and see if that is the problem - e.g. "
--net none " or " -u 1001".

-John

On Tue, Aug 18, 2015 at 6:32 PM, Mikel Egaña Aranguren
<mikel.egana.aranguren@gmail.com> wrote:
> 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.aranguren@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/



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

http://mikeleganaaranguren.com