minikube: Additional symbol requirements of docker-machine-driver-kvm2 included in v0.31.0 cause regression from v0.30.0 when running on Ubuntu 16.04
Is this a BUG REPORT or FEATURE REQUEST? (choose one): bug
Please provide the following details:
Environment: Ubuntu 16.04.5 LTS with libvirtd
Minikube version (use minikube version): v0.31.0
- OS (e.g. from /etc/os-release): Ubuntu 16.04.5 LTS
- VM Driver (e.g.
cat ~/.minikube/machines/minikube/config.json | grep DriverName): kvm2 - ISO version (e.g.
cat ~/.minikube/machines/minikube/config.json | grep -i ISOorminikube ssh cat /etc/VERSION): minikube-v0.31.0.iso - Install tools:
curlfrom GitHub releases into~/binandchmod +x;libvirt-binfrom APT
What happened: After updating minikube and docker-machine-driver-kvm2 from v0.30.0 to v0.31.0:
$ minikube delete
Deleting local Kubernetes cluster...
Machine deleted.
$ minikube start --vm-driver kvm2
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
E1210 13:12:40.228592 30982 start.go:180] Error starting host: Error creating new host: dial tcp: missing address.
Retrying.
E1210 13:12:40.228836 30982 start.go:186] Error starting host: Error creating new host: dial tcp: missing address
When I looked at other issues, people had this problem due to libvirt-bin not being installed, or not being in the libvirtd group. It is installed though, and I am in the group. I also saw suggestions to try running docker-machine-driver-kvm2 directly, which appears to point to the root of the problem:
$ docker-machine-driver-kvm2
docker-machine-driver-kvm2: /usr/lib/x86_64-linux-gnu/libvirt-lxc.so.0: version `LIBVIRT_LXC_2.0.0' not found (required by docker-machine-driver-kvm2)
docker-machine-driver-kvm2: /usr/lib/x86_64-linux-gnu/libvirt.so.0: version `LIBVIRT_2.2.0' not found (required by docker-machine-driver-kvm2)
docker-machine-driver-kvm2: /usr/lib/x86_64-linux-gnu/libvirt.so.0: version `LIBVIRT_3.0.0' not found (required by docker-machine-driver-kvm2)
docker-machine-driver-kvm2: /usr/lib/x86_64-linux-gnu/libvirt.so.0: version `LIBVIRT_1.3.3' not found (required by docker-machine-driver-kvm2)
docker-machine-driver-kvm2: /usr/lib/x86_64-linux-gnu/libvirt.so.0: version `LIBVIRT_2.0.0' not found (required by docker-machine-driver-kvm2)
When downgrading to the old binary instead, I get this:
$ docker-machine-driver-kvm2
This is a Docker Machine plugin binary.
Plugin binaries are not intended to be invoked directly.
Please use this plugin through the main 'docker-machine' binary.
(API version: 1)
Hence, I think the new docker-machine-driver-kvm2 binary introduces a regression with Ubuntu 16.04 by depending on new symbols that are not present on Ubuntu 16.04. When I use the new minikube binary with the old docker-machine-driver-kvm2 binary, everything works fine.
What you expected to happen:
$ minikube start --vm-driver kvm2
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
E1210 13:16:45.375024 31024 start.go:210] Error parsing version semver: Version string empty
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Stopping extra container runtimes...
Starting cluster components...
Verifying kubelet health ...
Verifying apiserver health ...Kubectl is now configured to use the cluster.
Loading cached images from config file.
Everything looks great. Please enjoy minikube!
$ docker-machine-driver-kvm2
This is a Docker Machine plugin binary.
Plugin binaries are not intended to be invoked directly.
Please use this plugin through the main 'docker-machine' binary.
(API version: 1)
How to reproduce it (as minimally and precisely as possible):
- Install Ubuntu 16.04.
- Install
libvirt-bin. - Add yourself to the
libvirtdgroup. - Log out and back in again.
- Download into your
PATHandchmod +xtheminikubeanddocker-machine-driver-kvm2binaries from the v0.31.0 release on GitHub. - Run
minikube start --vm-driver kvm2
Output of minikube logs (if applicable):
F1210 13:19:41.436786 31890 logs.go:50] Error getting cluster bootstrapper: getting kubeadm bootstrapper: getting api client: Error loading host from store: Docker machine "minikube" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
Anything else do we need to know: No
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 4
- Comments: 17 (3 by maintainers)
Based on @brianonn comments this fixed the issue
@pc-tradelab I downgraded the docker-machine-driver-kvm2 to v0.30.0 from here:
I have the same problem exactly on Linux Mint 18.2 (which is Ubuntu 16.04 based). The libvirt.so.0 symbol errors are displayed when starting minikube with the verbose level at 10 (-v 10 option )
Downgrading to docker-machine-driver-kvm2 from minikube 0.30.0 works fine.