To celebrate the release of GATK 4.0, we are giving away free credits for running the GATK4 Best Practices pipelines in FireCloud, our secure online analysis portal. It’s first come first serve, so sign up now to claim your free credits worth $250. Sponsored by Google Cloud. Learn more at https://software.broadinstitute.org/firecloud/documentation/freecredits

docker usable by cromwell? what are the requirements? /bin/bash nor /bin/sh usable?

esalinasesalinas BroadMember, Broadie
edited July 2016 in Ask the WDL team

What is required of a docker image for it to be usable by the cromwell runtime block for the command to be run in it.
Is it necessary to have /bin/sh in the image? What about /bin/bash?

I note that in the script it starts with a reference to /bin/bash (executing on firecloud) or /bin/sh (running locally)

What if, when running locally, that /bin/sh can't be run. If /bin/sh can't be run then is the docker image usable for running cromwell locally.

See examples below where an error occurs where neither /bin/bash nor /bin/sh is accessible that cromwell seemingly can't use to run a WDL locally. See how I can't get a shell on the container avkitex/soapfuse-ref ; it seems like a CMD or ENTRYPOINT is set that prevents a shell from launching in the container...either that or the shell has been removed. See also the copied/pasted WDL file for attempting to reproduce the bug/issue.
What causes the error? Is it that /bin/sh is not callable?

======================================================

wm8b1-75c:~ esalinas$ docker run -it avkitex/soapfuse-ref
Usage: constructBase.sh referenceName cytobandFile geneNamesFile fastaFile gtfFile
wm8b1-75c:~ esalinas$ docker run -it avkitex/soapfuse-ref bash
Usage: constructBase.sh referenceName cytobandFile geneNamesFile fastaFile gtfFile
wm8b1-75c:~ esalinas$ docker run -it avkitex/soapfuse-ref sh
Usage: constructBase.sh referenceName cytobandFile geneNamesFile fastaFile gtfFile
wm8b1-75c:~ esalinas$ docker run -it avkitex/soapfuse-ref /bin/sh
Usage: constructBase.sh referenceName cytobandFile geneNamesFile fastaFile gtfFile
wm8b1-75c:~ esalinas$ docker run -it avkitex/soapfuse-ref /bin/bash
Usage: constructBase.sh referenceName cytobandFile geneNamesFile fastaFile gtfFile
wm8b1-75c:~ esalinas$

======================================================================

wm8b1-75c:soap_docker_test esalinas$ java -jar ~/broadinstitute/wdltool/target/scala-2.11/wdltool-0.5.jar validate test.wdl

wm8b1-75c:soap_docker_test esalinas$

wm8b1-75c:soap_docker_test esalinas$ java -jar ~/broadinstitute/cromwell/target/scala-2.11/cromwell-0.20.jar run test.wdl

.........

[2016-07-07 14:21:23,10] [error] f8e6fbcb-bf8c-478a-9b95-4c04347a3023-BackendJobExecutionActor-test_wf.test_task:NA:1 f8e6fbcbtest_wf.test_task:NA:1: Non-zero return code: 1
[2016-07-07 14:21:23,10] [error] f8e6fbcb-bf8c-478a-9b95-4c04347a3023-BackendJobExecutionActor-test_wf.test_task:NA:1 f8e6fbcbtest_wf.test_task:NA:1: Standard error was:

Contents of cromwell-executions/test_wf/f8e6fbcb-bf8c-478a-9b95-4c04347a3023/call-test_task/stderr were empty.

=======================================

workflow test_wf {

    call test_task {

        }
    }

task test_task {

    command <<<
        echo "Hello World"
        >>>

    runtime {
        docker : "avkitex/soapfuse-ref"
        }
    }
Post edited by esalinas on

Answers

Sign In or Register to comment.