First step to address #10311: disallow running minikube.exe insided WSL.

pull/10354/head
hetong07 2021-01-31 12:34:05 -08:00
parent 861d89ce4b
commit 276ad6c7c7
2 changed files with 10 additions and 0 deletions

View File

@ -24,9 +24,13 @@ import (
"os"
"regexp"
"strconv"
"path/filepath"
"github.com/spf13/pflag"
"k8s.io/klog/v2"
"k8s.io/minikube/pkg/minikube/driver"
"k8s.io/minikube/pkg/minikube/exit"
"k8s.io/minikube/pkg/minikube/reason"
// Register drivers
_ "k8s.io/minikube/pkg/minikube/registry/drvs"
@ -72,6 +76,11 @@ func main() {
}
out.SetOutFile(os.Stdout)
out.SetErrFile(os.Stderr)
if filepath.Ext(os.Args[0]) == ".exe" && driver.IsMicrosoftWSL() {
exit.Message(reason.WslExeConflict, "Cannot run windows binary inside WSL.")
}
cmd.Execute()
}

View File

@ -286,6 +286,7 @@ var (
EnvMultiConflict = Kind{ID: "ENV_MULTINODE_CONFLICT", ExitCode: ExGuestConflict}
EnvDockerUnavailable = Kind{ID: "ENV_DOCKER_UNAVAILABLE", ExitCode: ExRuntimeUnavailable}
EnvPodmanUnavailable = Kind{ID: "ENV_PODMAN_UNAVAILABLE", ExitCode: ExRuntimeUnavailable}
WslExeConflict = Kind{ID: "WSL_EXE_CONFLICT", ExitCode: ExGuestConflict}
AddonUnsupported = Kind{ID: "SVC_ADDON_UNSUPPORTED", ExitCode: ExSvcUnsupported}
AddonNotEnabled = Kind{ID: "SVC_ADDON_NOT_ENABLED", ExitCode: ExProgramConflict}