Closed afbjorklund closed 3 years ago
sounds good !
We might end up moving the other drivers as well, it's mostly cloud drivers so the only ones we use are "fake" and "err"...
amazonec2
azure
digitalocean
driverutil
errdriver
exoscale
fakedriver
generic
google
hyperv
none
openstack
rackspace
softlayer
virtualbox
vmwarefusion
vmwarevcloudair
vmwarevsphere
And of course the "virtualbox" driver. The "hyperv" is already modified, and "hyperkit" and "kvm" are external to libmachine.
drivers/hyperv/hyperv.go | 71 ++++++++++++++++++++++++++++++++++++++++++++---------------------------
drivers/hyperv/powershell.go | 4 ++--
2 files changed, 46 insertions(+), 29 deletions(-)
"driverutil" only has one function and "generic_test" only has one test.
package driverutil
func SplitPortProto(raw string) (port string, protocol string)
=== RUN TestSetConfigFromFlags
--- PASS: TestSetConfigFromFlags (0.00s)
Not needed.
We probably want to keep the external API unless we have a good reason to change it.
This in order to keep it compatible with e.g. "vmware" and "parallels" external drivers still
We should remove the "vmwarefusion" driver, it is deprecated in favor of "vmware".
We have already removed the "xhyve" (for hyperkit) and "kvm" (for kvm2) drivers.
The best would be to move all the extra drivers out of the main minikube code base:
And to some structure that we control, separate from machine and machine-drivers:
Having them in the same git repo complicates the release process and build process.
We end up installing unnecessary things like xgo-1.12.x
and libvirt-dev
for them...
They should be stand-alone (from minikube), since they produce stand-alone binaries.
Most likely we would need some github organization, different from kubernetes or users.
https://minikube.sigs.k8s.io/docs/contrib/roadmap/
Prototype post-libmachine implementation of minikube
https://minikube.sigs.k8s.io/docs/drivers/
Built-in:
Containers:
External: (download on-demand)
Previously we have forked the docker-machine (libmachine) driver called "none":
https://github.com/docker/machine/blob/master/drivers/none/driver.go
https://github.com/kubernetes/minikube/blob/master/pkg/drivers/none/none.go
We want to do the same thing for the driver called "generic", as used in PR #9545
https://github.com/docker/machine/blob/master/drivers/generic/generic.go
https://github.com/kubernetes/minikube/blob/master/pkg/drivers/generic/generic.go
Once it is in our "drivers" code base, we can rename it as see fit...
Possibly to something like "remote", to be decided (see #7772)