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

esalinasesalinas BroadMember, Broadie ✭✭✭

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.