Skip to content

Commit

Permalink
Merge pull request #7112 from tstromberg/apiserver-always
Browse files Browse the repository at this point in the history
Improve error when docker-env is used with non-docker runtime
  • Loading branch information
tstromberg authored Mar 20, 2020
2 parents c5ceccd + dadf4bd commit 729642e
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions cmd/minikube/cmd/docker-env.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,13 +122,18 @@ func isDockerActive(d drivers.Driver) (bool, error) {
if err != nil {
return false, err
}
output, err := client.Output("sudo systemctl is-active docker")
cmd := "sudo systemctl is-active docker"

output, err := client.Output(cmd)
s := strings.TrimSpace(output)

if err != nil {
return false, err
return false, fmt.Errorf("%s failed: %v\noutput: %q", cmd, err, s)
}
// systemd returns error code on inactive
s := strings.TrimSpace(output)
return err == nil && s == "active", nil
if s != "active" {
return false, fmt.Errorf("%s returned %q", cmd, s)
}
return true, nil
}

// dockerEnvCmd represents the docker-env command
Expand Down Expand Up @@ -165,9 +170,15 @@ var dockerEnvCmd = &cobra.Command{
if hostSt != state.Running.String() {
exit.WithCodeT(exit.Unavailable, `'{{.profile}}' is not running`, out.V{"profile": profile})
}

if cc.KubernetesConfig.ContainerRuntime != "docker" {
exit.WithCodeT(exit.BadUsage, `The docker-env command is only compatible with the "docker" runtime, but this cluster was configured to use the "{{.runtime}}" runtime.`,
out.V{"runtime": cc.KubernetesConfig.ContainerRuntime})
}

ok, err := isDockerActive(host.Driver)
if err != nil {
exit.WithError("Error getting service status", err)
exit.WithError("Docker runtime check failed", err)
}

if !ok {
Expand Down

0 comments on commit 729642e

Please sign in to comment.