docker / machine

Machine management for a container-centric world
https://docs.docker.com/machine/
Apache License 2.0
6.62k stars 1.97k forks source link

Generic driver incorrectly uses Fedora provisioning for Fedora CoreOS #4807

Open AlexGustafsson opened 4 years ago

AlexGustafsson commented 4 years ago

When provisioning a machine using the generic SSH driver, Fedora CoreOS is wrongly identified as Fedora. Machine therefore uses the RedHat provisioner which tries to install packages such as curl using yum - which will not work since Fedora CoreOS lacks yum. Furthermore, Fedora CoreOS comes pre-installed with Docker, meaning that that Docker and the Systemd service will already be configured.

AlexGustafsson commented 4 years ago

I'm willing to try to solve this, given some guidance. The plan would be to properly identify Fedora CoreOS and then use a provisioning separate from the RedHat provisioner in order to adapt the provisioning more accurately to fit the needs of Fedora CoreOS.

I think this should be a small enough of a fix to be considered for the main repository, instead of being part of a third-party plugin.

AlexGustafsson commented 4 years ago

Solved in https://github.com/docker/machine/issues/4807.

Available in https://github.com/AlexGustafsson/machine.

Pre-built binaries available here: https://github.com/AlexGustafsson/machine/releases/tag/v0.16.3.

tobiashuste commented 4 years ago

It might be worth a try to submit that change to the GitLab fork of docker-machine: https://gitlab.com/gitlab-org/ci-cd/docker-machine

It might be that they are willing to integrate this change into their fork of docker-machine...

afbjorklund commented 3 years ago

@tobiashuste : note that gitlab only accepts "critical bug fixes affecting running costs" https://gitlab.com/gitlab-org/ci-cd/docker-machine/-/blob/master/CONTRIBUTING.md

The libmachine fork at machine-drivers is also only aggregating bug fixes, not features. https://github.com/machine-drivers/machine

afbjorklund commented 3 years ago

@AlexGustafsson : you will probably have to use something other than docker-machine, to provision your Fedora CoreOS hosts

I was a little surprised that it is still running docker actually, certaintly thought that it would have moved to podman/cri-o by now...

AlexGustafsson commented 3 years ago

Yeah, I think this article sums it up pretty well: https://merlijn.sebrechts.be/blog/2020-01-docker-podman-kata-cri-o/. The Docker daemon and its related tooling are on life support.

Fedora CoreOS currently features podman (default) or docker if I remember correctly. Moving forward I think it’s time to realise that we’re at an end of an era and that it’s time to look elsewhere.

afbjorklund commented 3 years ago

The Docker daemon and it’s related tooling are on life support.

It's more like they moved from Docker Toolbox to Docker Desktop, but sure. Both machine and boot2docker have been deprecated, and 19.03 is the last...

However, currently the only supported option for podman is through OpenShift*. The alternative through boot2podman is deprecated, leaving only vagrant etc.

* https://developers.redhat.com/products/codeready-containers/overview