Skip to content

Commit

Permalink
Remove the obsolete vmwarefusion driver
Browse files Browse the repository at this point in the history
It just referred to the "vmware" driver
  • Loading branch information
afbjorklund committed Jun 11, 2023
1 parent 45db573 commit 0a55135
Show file tree
Hide file tree
Showing 11 changed files with 13 additions and 134 deletions.
1 change: 0 additions & 1 deletion cmd/minikube/cmd/start_test.go
Expand Up @@ -323,7 +323,6 @@ func TestBaseImageFlagDriverCombo(t *testing.T) {
{driver.VirtualBox, false},
{driver.HyperKit, false},
{driver.VMware, false},
{driver.VMwareFusion, false},
{driver.HyperV, false},
{driver.Parallels, false},
{"something_invalid", false},
Expand Down
2 changes: 0 additions & 2 deletions pkg/minikube/driver/driver.go
Expand Up @@ -56,8 +56,6 @@ const (
HyperKit = "hyperkit"
// VMware driver
VMware = "vmware"
// VMwareFusion driver (obsolete)
VMwareFusion = "vmwarefusion"
// HyperV driver
HyperV = "hyperv"
// Parallels driver
Expand Down
2 changes: 0 additions & 2 deletions pkg/minikube/driver/driver_darwin.go
Expand Up @@ -38,7 +38,6 @@ var supportedDrivers = func() []string {
return []string{
VirtualBox,
Parallels,
VMwareFusion,
HyperKit,
VMware,
Docker,
Expand All @@ -48,7 +47,6 @@ var supportedDrivers = func() []string {
return []string{
VirtualBox,
Parallels,
VMwareFusion,
HyperKit,
VMware,
QEMU2,
Expand Down
1 change: 0 additions & 1 deletion pkg/minikube/driver/driver_linux.go
Expand Up @@ -23,7 +23,6 @@ import (
// supportedDrivers is a list of supported drivers on Linux.
var supportedDrivers = []string{
VirtualBox,
VMwareFusion,
KVM2,
QEMU2,
QEMU,
Expand Down
27 changes: 13 additions & 14 deletions pkg/minikube/driver/driver_test.go
Expand Up @@ -60,20 +60,19 @@ func TestBareMetal(t *testing.T) {

func TestMachineType(t *testing.T) {
types := map[string]string{
Podman: "container",
Docker: "container",
Mock: "bare metal machine",
None: "bare metal machine",
SSH: "bare metal machine",
KVM2: "VM",
QEMU2: "VM",
QEMU: "VM",
VirtualBox: "VM",
HyperKit: "VM",
VMware: "VM",
VMwareFusion: "VM",
HyperV: "VM",
Parallels: "VM",
Podman: "container",
Docker: "container",
Mock: "bare metal machine",
None: "bare metal machine",
SSH: "bare metal machine",
KVM2: "VM",
QEMU2: "VM",
QEMU: "VM",
VirtualBox: "VM",
HyperKit: "VM",
VMware: "VM",
HyperV: "VM",
Parallels: "VM",
}

drivers := SupportedDrivers()
Expand Down
1 change: 0 additions & 1 deletion pkg/minikube/driver/driver_windows.go
Expand Up @@ -29,7 +29,6 @@ import (
// supportedDrivers is a list of supported drivers on Windows.
var supportedDrivers = []string{
VirtualBox,
VMwareFusion,
HyperV,
VMware,
QEMU2,
Expand Down
2 changes: 0 additions & 2 deletions pkg/minikube/machine/fix.go
Expand Up @@ -284,8 +284,6 @@ func machineExists(d string, s state.State, err error) (bool, error) {
return machineExistsError(s, err, virtualbox.ErrMachineNotExist)
case driver.VMware:
return machineExistsState(s, err)
case driver.VMwareFusion:
return machineExistsState(s, err)
case driver.Docker:
return machineExistsDocker(s, err)
case driver.Mock:
Expand Down
1 change: 0 additions & 1 deletion pkg/minikube/registry/drvs/init.go
Expand Up @@ -29,5 +29,4 @@ import (
_ "k8s.io/minikube/pkg/minikube/registry/drvs/ssh"
_ "k8s.io/minikube/pkg/minikube/registry/drvs/virtualbox"
_ "k8s.io/minikube/pkg/minikube/registry/drvs/vmware"
_ "k8s.io/minikube/pkg/minikube/registry/drvs/vmwarefusion"
)
17 changes: 0 additions & 17 deletions pkg/minikube/registry/drvs/vmwarefusion/doc.go

This file was deleted.

46 changes: 0 additions & 46 deletions pkg/minikube/registry/drvs/vmwarefusion/vmwarefusion.go

This file was deleted.

47 changes: 0 additions & 47 deletions site/content/en/docs/contrib/drivers.en.md
Expand Up @@ -55,51 +55,4 @@ on your `$USER/.minikube` directory. Most likely the driver config is the driver

- DriverCreator: Only needed when driver is builtin, to instantiate the driver instance.

## Integration example: vmwarefusion

All drivers are located in `k8s.io/minikube/pkg/minikube/drivers`. Take `vmwarefusion` as an example:

```golang
// +build darwin

package vmwarefusion

import (
"github.com/docker/machine/drivers/vmwarefusion"
"github.com/docker/machine/libmachine/drivers"
cfg "k8s.io/minikube/pkg/minikube/config"
"k8s.io/minikube/pkg/minikube/constants"
"k8s.io/minikube/pkg/minikube/localpath"
"k8s.io/minikube/pkg/minikube/registry"
)

func init() {
registry.Register(registry.DriverDef{
Name: "vmwarefusion",
Builtin: true,
ConfigCreator: createVMwareFusionHost,
DriverCreator: func() drivers.Driver {
return vmwarefusion.NewDriver("", "")
},
})
}

func createVMwareFusionHost(config cfg.ClusterConfig) interface{} {
d := vmwarefusion.NewDriver(config.Name, localpath.MiniPath()).(*vmwarefusion.Driver)
d.Boot2DockerURL = download.LocalISOResource(config.MinikubeISO)
d.Memory = config.Memory
d.CPU = config.CPUs
d.DiskSize = config.DiskSize
d.SSHPort = 22
d.ISO = d.ResolveStorePath("boot2docker.iso")
return d
}
```

- Within the `init()` function, register a `DriverDef` in registry. Specify the metadata in the `DriverDef`. As mentioned
earlier, it's builtin, so you also need to specify `DriverCreator` to tell minikube how to create a `drivers.Driver`.
- Another important thing is `vmwarefusion` only runs on MacOS. You need to add a build tag on top so it only
runs on MacOS, so that the releases on Windows and Linux won't have this driver in registry.
- Last but not least, import the driver in `pkg/minikube/cluster/default_drivers.go` to include it in build.

Any Questions: please ping your friend [@anfernee](https://github.com/anfernee) or the #minikube Slack channel.

0 comments on commit 0a55135

Please sign in to comment.