question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Kubernetes batch system doesn't provide Docker for CWL workflows that use Docker

See original GitHub issue

On Gitter, it was reported that if you take our Kubernetes batch system and try to use it to run a CWL workflow that uses a DcokerRequirement, it will fail.

The Kubernetes batch system does not privilege and start up Docker inside the pod, because we haven’t usually needed it: at UCSC we use user-mode Singularity to run containers when on Kubernetes. But cwlrunner insists on using Docker, and the Singularity code isn’t part of Toil itself while Docker-running code is.

We should make it possible for the Kubernetes batch system to launch all workers as privileged, if the user asks for it, and to start up a Docker daemon before running jobs. Then, we can make the CWL execution code ask for this, either when it sees that the workflow is going to need Docker, all the time unless instructed not to, or maybe just when instructed to do so, depending on what seems most user-friendly.

The right way to do this would be a needs-docker requirement on the jobs, I think, but we don’t really have the infrastructure to support one-off annotation requirements like that yet. So I think it has to be all or nothing.

┆Issue is synchronized with this Jira Task ┆Issue Number: TOIL-662

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:8 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
adamnovakcommented, Oct 6, 2020

@mr-c That’s great! Maybe we can just upgrade the Singularity version that Toil ships to 3.6 and call it done.

0reactions
mr-ccommented, Sep 30, 2020

With regards to the singularity cache, seems that with singularity version 3.6 there is:

A new cache structure is used that is concurrency safe on a filesystem that supports atomic rename.

https://github.com/hpcng/singularity/blob/master/CHANGELOG.md#new-features--functionalities-2

See also https://github.com/biowdl/singularity-permanent-cache

Read more comments on GitHub >

github_iconTop Results From Across the Web

Containers - Cromwell - Read the Docs
Containers. Containers are encapsulated environments that include an operating system, libraries, and software. For example, if you have a host machine ...
Read more >
common-workflow-language/common-workflow-language
Hi chat, I've been looking into transitioning our workflows from Argo (https://github.com/argoproj/argo) YAMLs to CWL, however initially we would like to ...
Read more >
Kubernetes is deprecating Docker: What you need to know
Kubernetes deprecating Docker is actually not as big of a deal as it sounds, so let's talk about what is really going on...
Read more >
Ubuntu Manpage: toil - Toil Documentation
You've run your first Toil workflow using the default Batch System, singleMachine, using the file job store. Toil uses batch systems to manage...
Read more >
Don't Panic: Kubernetes and Docker
TL;DR Docker as an underlying runtime is being deprecated in favor of runtimes that use the Container Runtime Interface (CRI) created for ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found