From 49905d8feac32372f33976140aef0683407cac59 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sat, 23 May 2020 16:32:28 +0200 Subject: [PATCH 1/3] Remove Parallels from the list of supported drivers for Linux Parallels Desktop works only on macOS (Darwin) --- pkg/minikube/driver/driver_linux.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/minikube/driver/driver_linux.go b/pkg/minikube/driver/driver_linux.go index dea2a80e18a8..16e7b5e706de 100644 --- a/pkg/minikube/driver/driver_linux.go +++ b/pkg/minikube/driver/driver_linux.go @@ -23,7 +23,6 @@ import ( // supportedDrivers is a list of supported drivers on Linux. var supportedDrivers = []string{ VirtualBox, - Parallels, VMwareFusion, KVM2, VMware, From c22a92f9bfb4e03d7318cb27f154d2ee56d25641 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sat, 23 May 2020 18:49:50 +0200 Subject: [PATCH 2/3] Add HostIP implementation for parallels driver --- pkg/minikube/cluster/ip.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkg/minikube/cluster/ip.go b/pkg/minikube/cluster/ip.go index aa14e4cf7180..e44416426f62 100644 --- a/pkg/minikube/cluster/ip.go +++ b/pkg/minikube/cluster/ip.go @@ -72,6 +72,25 @@ func HostIP(host *host.Host) (net.IP, error) { re = regexp.MustCompile(`(?s)Name:\s*` + iface + `.+IPAddress:\s*(\S+)`) ip := re.FindStringSubmatch(string(ipList))[1] return net.ParseIP(ip), nil + case driver.Parallels: + cmd := "prlsrvctl" + var cmdPath string + if fullPath, err := exec.LookPath(cmd); err != nil { + cmdPath = fullPath + } else { + cmdPath = cmd + } + out, err := exec.Command(cmdPath, "net", "info", "Shared").Output() + if err != nil { + return []byte{}, errors.Wrap(err, "Error reading the info of Parallels Shared network interface") + } + re := regexp.MustCompile(`IPv4 address: (.*)`) + ipMatch := re.FindStringSubmatch(string(out)) + if len(ipMatch) < 2 { + return []byte{}, errors.Wrap(err, "Error getting the IP address of Parallels Shared network interface") + } + ip := ipMatch[1] + return net.ParseIP(ip), nil case driver.HyperKit: return net.ParseIP("192.168.64.1"), nil case driver.VMware: From 2b8bac695ea706b77fd6f64b98afb7343fbdada0 Mon Sep 17 00:00:00 2001 From: Mikhail Zholobov Date: Sat, 23 May 2020 23:08:10 +0200 Subject: [PATCH 3/3] Apply code review changes Rename "cmd*" var to "bin*" in the parallels-specific block --- pkg/minikube/cluster/ip.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/minikube/cluster/ip.go b/pkg/minikube/cluster/ip.go index e44416426f62..1b42cce14198 100644 --- a/pkg/minikube/cluster/ip.go +++ b/pkg/minikube/cluster/ip.go @@ -73,14 +73,14 @@ func HostIP(host *host.Host) (net.IP, error) { ip := re.FindStringSubmatch(string(ipList))[1] return net.ParseIP(ip), nil case driver.Parallels: - cmd := "prlsrvctl" - var cmdPath string - if fullPath, err := exec.LookPath(cmd); err != nil { - cmdPath = fullPath + bin := "prlsrvctl" + var binPath string + if fullPath, err := exec.LookPath(bin); err != nil { + binPath = fullPath } else { - cmdPath = cmd + binPath = bin } - out, err := exec.Command(cmdPath, "net", "info", "Shared").Output() + out, err := exec.Command(binPath, "net", "info", "Shared").Output() if err != nil { return []byte{}, errors.Wrap(err, "Error reading the info of Parallels Shared network interface") }