Merge pull request #8368 from medyagh/detect_wsl

add support for microsoft wsl for docker driver
pull/8377/head
Medya Ghazizadeh 2020-06-04 13:21:22 -07:00 committed by GitHub
commit 2011306793
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 2 deletions

View File

@ -131,7 +131,14 @@ func NeedsRoot(name string) bool {
// NeedsPortForward returns true if driver is unable provide direct IP connectivity
func NeedsPortForward(name string) bool {
// Docker for Desktop
return IsKIC(name) && (runtime.GOOS == "darwin" || runtime.GOOS == "windows")
return IsKIC(name) && (runtime.GOOS == "darwin" || runtime.GOOS == "windows" || IsMicrosoftWSL())
}
// IsMicrosoftWSL will return true if process is running in WSL in windows
// checking for WSL env var based on this https://github.com/microsoft/WSL/issues/423#issuecomment-608237689
// also based on https://github.com/microsoft/vscode/blob/90a39ba0d49d75e9a4d7e62a6121ad946ecebc58/resources/win32/bin/code.sh#L24
func IsMicrosoftWSL() bool {
return os.Getenv("WSL_DISTRO_NAME") != "" || os.Getenv("WSLPATH") != "" || os.Getenv("WSLENV") != ""
}
// HasResourceLimits returns true if driver can set resource limits such as memory size or CPU count.

View File

@ -24,6 +24,8 @@ import (
"strings"
"testing"
"time"
"k8s.io/minikube/pkg/minikube/driver"
)
// General configuration: used to set the VM Driver
@ -93,7 +95,7 @@ func KicDriver() bool {
// NeedsPortForward returns access to endpoints with this driver needs port forwarding
// (Docker on non-Linux platforms requires ports to be forwarded to 127.0.0.1)
func NeedsPortForward() bool {
return KicDriver() && (runtime.GOOS == "windows" || runtime.GOOS == "darwin")
return KicDriver() && (runtime.GOOS == "windows" || runtime.GOOS == "darwin") || driver.IsMicrosoftWSL()
}
// CanCleanup returns if cleanup is allowed