CoreOS host creation fails with current version

I was trying to add an EC2 host via the UI and also rancher-cli, specifying a CoreOS AMI. The resulting error was: Error creating machine: Error running provisioning: ssh command error:

Unfortunately the rest of the error is not visible in the rancher server logs. So I went in to the server and ran the docker-machine command from the logs. The error was more informative:

Error creating machine: Error running provisioning: ssh command error:
command : sudo systemctl -f start docker
err     : exit status 5
output  : Failed to start docker.service: Unit early-docker.target not found.

I found this issue in https://github.com/docker/machine/issues/3980 . My docker-machine is an earlier one inside rancher:

$ docker exec -it rancher-server bash
root@0d7b8ffba8d7:/# docker-machine version
docker-machine version 0.8.2, build b98be6e

So I downloaded docker-machine 0.10.0 binary inside the rancher-server docker container, and issuing the same docker-machine command I could create the host:

Provisioning with coreOS...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!

But now the host is not showing up in the UI - which is understandable.

My questions:

  • Is it a known issue that the interesting part of the error message is not showing up in the rancher logs?
  • Is there a way I can check or control the docker-machine version? Perhaps similarly to the way you specify the docker version, the shipped docker-machine version could be listed in the release notes.

Thanks,

I too have this problem. Would really appreciate an answer!

I’m running Rancher 1.5.3 and the rancher/server has docker-machine version 0.8.2, build b98be6e

Despite the number displayed the version packaged is a minor commit or two before 0.9, because it wasn’t tagged in time for testing. We can update to 0.10 in the next release, but the only relevant thing I see in the merged PRs suggests choosing docker 1.13 instead of 1.12 may help for now.

How will Docker 1.13 help? I solved this in the meantime by docker exec-ing into the server container and replacing docker-machine 0.8 with 0.10

1 Like