-
Notifications
You must be signed in to change notification settings - Fork 20
Description
This limitation is because the --aws-batch
runner (nextstrain.cli.runner.aws_batch
) relies on a static job definition created manually during AWS Batch setup (as documented). The job definition hardcodes an image, and individual job instances based on that definition are not allowed to override the image (unlike other job properties like CPU, memory, command line, etc).
The --aws-batch
runner should allow a Docker image to be selected by the user at runtime, not just setup, using the same mechanisms supported by the --docker
runner. Specifically, --aws-batch
should use the image passed in via --image
or the default Docker image (configured via a config file or environment var).
To accomplish this, the --aws-batch
runner will have to create a new job definition before job submission if no job definition already exists for the desired image. The new job definition should be based on the default job definition, using it as a template for all properties except the image. The help message for --aws-batch-job
should be updated to document that it may be used this way.
As a rough map of where to start for the person taking on this issue, I annotated the places which need new code to support this functionality.