-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AWS Batch runner does not support runtime-configurable Docker images #57
Comments
If I understand correctly:
This raise a few questions:
|
Thanks for thinking about this, @jstoja! Here are my thoughts, would appreciate feedback.
Yes, assuming the requested job/image are default as shipped. Any given build job should use the requested job description as-is it uses the requested image. Note that the name of the job definition can be controlled by config, env, or option and may not be Also note that the requested image name will be
Correct.
The image part will have to be the fully-specified name, not just the tag of
This is a reasonable concern, but I think for now this issue can be punted. Unless you have some clever ideas here? |
Happy to contribute, awesome project guys, the amount of work and the quality of the software is incredible!
Documentation lists explicitly hyphens and underscores:
I've tested with Therefore, I would suggest:
With this proposal a job definition with image
No I don't. |
Ah, well, underscores it is! I think your proposal for substitutions makes sense. |
To support runtime-configurable Docker image in AWS Batch, the creation of a Batch Job also created a Job Definition with the configured image. Fixes nextstrain#57
To support runtime-configurable Docker image in AWS Batch, the creation of a Batch Job also created a Job Definition with the configured image. Fixes nextstrain#57
To support runtime-configurable Docker image in AWS Batch, the creation of a Batch Job also created a Job Definition with the configured image. Fixes nextstrain#57
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.
The text was updated successfully, but these errors were encountered: