Open kmavrommatis opened 5 years ago
Can you see if an equivalent WDL runs in the AWS backend? CWL is not fully supported on AWS and my guess is you’ve run into one of the places where it doesn’t work at the moment
And by equivalent WDL I just meant something minimal to replicate the same idea of the task at hand, not porting your full workflow. It’d be handy to ascertain if it is a general backend problem or hitting into CWL issues.
@geoffjentry Thanks for the quick response and the suggestion.
I wrote a quick wdl script, that runs on cromwell + local backend, but when deployed on the AWS batch backend it fails in the same way..
The script exampleWorkflows/bbmap.wdl
is:
task bbmaptask {
File f1
File f2
command {
reformat.sh maxcalledquality=40 in=${f1} in2=${f2} out=${f1}.ref.fq.gz out2=${f2}.ref.fq.gz
}
output {
Array[File] response = glob("*R?.ref.fq.gz")
}
runtime {
docker: "*********.dkr.ecr.us-east-1.amazonaws.com/ngs/bbmap:v37.64"
}
}
workflow bbmapwf{
call bbmaptask
}
The input file exampleInput/fastq.s3.wdl.json
{
"bbmapwf.bbmaptask.f1": "s3://bucket/fastq.20180820-150001/DA0000317_WSU-DLCL_R_02_01_02_S36_R1_001.fastq.gz",
"bbmapwf.bbmaptask.f2": "s3://bucket/fastq.20180820-150001/DA0000317_WSU-DLCL_R_02_01_02_S36_R2_001.fastq.gz"
}
I run cromwell as:
java -Dconfig.file=awsbatch/aws.conf -jar cromwell-36.jar run -i exampleInput/fastq.s3.wdl.json exampleWorkflows/bbmap.wdl
Thanks for your help
@kmavrommatis - Curious how your AWS Batch environment was setup. Did you use the Cfn templates provided here, or build it manually?
It is important that the job instance profile associated with the compute environment has the correct access permissions.
Thanks, changing the environment setup using your suggested Cfn template resolved the problem.
Anyone have a concrete solution to this, we are also getting the permission denied error with our aws batch setup. We have even included chmod 777 in the cloud init script to ensure that directory is accessible.
Hi, I am trying to run a workflow on AWS Batch using the genomics-ami. The ami was built following the instructions in the relevant pages and i have confirmed that it contains a /cromwell-root mount point and has rw access to the bucket we use. The AWS batch backpoint was tested with the hello.wdl workflow and it went through.
When running the workflow on the local filesystem it completes without errors but when running it using the AWS Batch backend the first step fails with the following error:
Looking at the cloudwatch logs it appears that the problem is with permission on the node
I have also tried to login to the node, and explicitly specify 777 permissions to /cromwell-root but the result was the same. Are there any specific considerations regarding the docker image or any additional configuration required?
Thanks in advance for your help