-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Download our own kvm2 driver if installed version is missing or out of date #4391
Comments
@tstromberg can I work on this? It shouldn't be hard after we have #4387 |
Indeed @josedonizetti |
Looking at the libmachine code, and it expects the driver to be in the PATH. We can't pass a custom path So the download would have to happen to a folder that is already on the path ( My idea here would be to make the download optional, not force it, and if the user accepts we ask for
or
@medyagh @afbjorklund @tstromberg wdyt? |
Personally I think that a "solution" message is fine, especially if you installed minikube from package. It is possible that long-term we want to build kvm2 into minikube, like we do with virtualbox today. The downside is that it would require everyone to install libvirt, just for the library dependency to work... But maybe we can |
We could cut down on the dependencies, by "only" loading
|
Great question - and great work here. What do you think about setting the PATH to the version of the driver we have downloaded, just prior to invoking it with machine-driver? IMHO, there is no need to ask the user about downloading the driver if the installed one is incompatible or unavailable, similarly to how we don't ask the user about the built-in VM drivers or kubeadm. We should be able to treat the VM driver as an extension of our code, albeit one which has some library awkwardness. For hyperkit, we'll need to ask about calling |
Loading libvirt "on demand" looks like it will be horrible to implement. So it will probably stay external. |
I included the drivers in the tarballs and in the packages. I still think they "belong" to libmachine. Shouldn't be much worse for the end user, they can still just add the drivers to the install command. |
@tstromberg @medyagh @afbjorklund To confirm, download |
I'm getting mixed messages :-) I think the important thing is making it easier for the user, either to install the required components (like kubectl and docker-machine-driver-kvm2) or to download those for them... |
@josedonizetti Yes we still want to do this ! currently we have one place for bins in ~/.minikube folder for kubelet and kubeadm
|
Any update here? The intent here is to preserve the ability users to download a single minikube binary, but still allow them to use the latest kvm2 driver if the pre-requisites have been fulfilled otherwise. This would for instance, make it easier for tools that want to embed minikube but not require additional privileges. In a more perfect world, these users would all be installing minikube and the kvm2 driver from their native package manager. We should aim for that as a parallel effort. |
Only on the parallel effort, and we had some feedback about replacing other general system programs such as
Using the libvirt driver will always require additional privileges (being part of the root-equivalent "libvirtd" group), but it could possibly avoid the |
deb
rpm
Maybe we should use GCS for both, and not have GitHub as our main location for the packages ? |
Related: #3975 #4387
Also, mentioned in our roadmap: https://github.com/kubernetes/minikube/blob/master/docs/contributors/roadmap.md
The text was updated successfully, but these errors were encountered: