Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Support not using a container in Azure Batch #5536

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

Open
adamrtalbot wants to merge 13 commits into nextflow-io:master
base: master
Choose a base branch
Loading
from adamrtalbot:azure_batch_no_container_spec

Conversation

Copy link
Collaborator

@adamrtalbot adamrtalbot commented Nov 22, 2024

There are rare cases where a user needs to run a process on a bare VM on Azure Batch. Most notably, when using the Dragen which requires you to use a specific machine image that does not support a Docker container.

Previously, Nextflow prevented this, but this PR removes that safeguard and replaces it with a warning. It's not a good idea, but it can unblock users if they need to use a bare VM.

If nothing else, this PR functions as proof it can be done if anyone else needs to use it.

mahdi-dcs reacted with thumbs up emoji
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
...Batch
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Copy link

netlify bot commented Nov 22, 2024
edited
Loading

Deploy Preview for nextflow-docs-staging canceled.

Name Link
🔨 Latest commit 1587653
🔍 Latest deploy log https://app.netlify.com/sites/nextflow-docs-staging/deploys/67e58efc644ad800084259e3

Copy link
Contributor

It's not a good idea, but it can unblock users if they need to use a bare VM.

Given this, would it be worth keeping the strict validation on by default and instead providing an override config option to turn it off (like azure.requireContainer=false or something) then updating the validation error message to explain that the option exists but you should only use it if you know what you're doing?

Copy link
Collaborator Author

Given this, would it be worth keeping the strict validation on by default and instead providing an override config option to turn it off (like azure.requireContainer=false or something) then updating the validation error message to explain that the option exists but you should only use it if you know what you're doing?

That's a great idea!

Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
@adamrtalbot adamrtalbot force-pushed the azure_batch_no_container_spec branch from b327beb to ad07555 Compare December 5, 2024 16:55
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
@adamrtalbot adamrtalbot requested a review from a team as a code owner December 9, 2024 17:58
Copy link
Collaborator Author

@tom-seqera implemented now as azure.batch.requireContainer.

I'm still not sure this is a wise thing to do, but it unblocks some very specific use cases and it's a relatively buried feature.

Copy link
Member

My understanding is that some tasks my require a container, some other may not, therefore a global setting is sub-optimal.

Also, could not be Dragen accessed by the container anyway? this is for example how it works with AWS Batch (the dragen path in the host is made accessible in the container context)

Copy link
Collaborator Author

Also, could not be Dragen accessed by the container anyway? this is for example how it works with AWS Batch (the dragen path in the host is made accessible in the container context)

Our implementation only works on AWS using a custom AMI. The AMI provided by Illumina uses CentOS 7, which is EOL. And obviously, it's AWS only.

The official AMI provided by Illumina for Azure is not compatible with Docker and they do not want to update it. So we end up either using a Docker compatible image which does not work on Azure Batch, or a specific Dragen based image which does not use Docker. We spent a long time playing around with this and this was the most parsimonious solution we could make work.

Copy link
Member

The official AMI provided by Illumina for Azure is not compatible with Docker

What this means exactly?

Copy link
Collaborator Author

adamrtalbot commented Dec 9, 2024
edited
Loading

Illumina provide a machine image for Dragen, it’s not compatible with Docker.

Signed-off-by: adamrtalbot <12817534+adamrtalbot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /