Skip to content
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

docker error on augur_from_assemblies call-draft_augur_tree: "This node is not a swarm manager..." #177

Open
mark-fathom opened this issue Dec 2, 2020 · 7 comments

Comments

@mark-fathom
Copy link

While running the augur_from_assemblies WDL, the job crashed on the "call-draft_augur_tree" task with a python error:

docker.errors.APIError: 503 Server Error for http+docker://localhost/v1.40/services/bxshppt34bcjb2o88anojh03t: Service Unavailable ("This node is not a swarm manager. Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.")

Environment:
Ubuntu 18.04.5 LTS, Release 18.04 (bionic)
Docker version 19.03.14, build 5eb3275d40

The full stack is attached below.

This appears to be either a docker error or an uncommunicated requirement of the docker configuration. I'm no docker expert, so I'm not sure if this is an option/default that I need to configure, a requirement of a particular version of docker, or whether it's a parameter that needs to be passed to docker at runtime from the script.

workflow.log

@dpark01
Copy link
Member

dpark01 commented Dec 2, 2020

Hi @mark-fathom , if your having errors with docker swarm, it sounds like you're using miniWDL to execute this, right? If so, does miniwdl run_self_test work? (It shouldn't, if you can't access docker swarm)

@tomkinsc
Copy link
Member

tomkinsc commented Dec 3, 2020

Strange. I'm also curious if the miniwdl self-test passes. It's interesting some of the jobs do succeed. This may be something to flag as an issue on the miniwdl repo since there's quite a bit of code in miniwdl wrapping docker swarm.

@mark-fathom
Copy link
Author

Sorry for the delay. I will try this out. Thanks for the help.

@mark-fathom
Copy link
Author

run_self_test works:

{
  "outputs": {
    "hello_caller.messages": [
      "Hello, Alyssa P. Hacker!",
      "Hello, Ben Bitdiddle!"
    ]
  },
  "dir": "/tmp/miniwdl_run_self_test_lkdm6nmi/20201209_090700_hello_caller"
}
miniwdl run_self_test OK

In case it makes a difference, I am using sudo to run docker in this environment. I realize that was not reflected in what I posted earlier.

@dpark01
Copy link
Member

dpark01 commented Dec 10, 2020

I'm a little confused -- how are you invoking docker (with or without sudo)?

On an Ubuntu environment, I usually just apt-get install docker-ce or something like that and then sudo vi /etc/groups to add my username to the docker group. Then you should be able to invoke docker commands from userspace.

@mark-fathom
Copy link
Author

For most tasks, we just access docker using sudo, e.g. sudo docker container ls. For this, I just ran the whole miniwdl pipeline with sudo: sudo venv/bin/miniwdl run … . Not sure if it matters, but wanted to let you know in case it does.

@tomkinsc
Copy link
Member

Not sure if it is relevant but a new version of Docker was released today, v3.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants