提交 bb387039 编写于 作者: S Sharif Elgamal

move panic out of library

上级 df608f70
...@@ -465,13 +465,19 @@ func selectDriver(existing *config.ClusterConfig) registry.DriverState { ...@@ -465,13 +465,19 @@ func selectDriver(existing *config.ClusterConfig) registry.DriverState {
out.T(out.Warning, warning, out.V{"driver": d, "vmd": vmd}) out.T(out.Warning, warning, out.V{"driver": d, "vmd": vmd})
} }
ds := driver.Status(d) ds := driver.Status(d)
if ds.Name == "" {
exit.WithCodeT(exit.Unavailable, "The driver '{{.driver}}' is not supported on {{.os}}", out.V{"driver": d, "os": runtime.GOOS})
}
out.T(out.Sparkle, `Using the {{.driver}} driver based on user configuration`, out.V{"driver": ds.String()}) out.T(out.Sparkle, `Using the {{.driver}} driver based on user configuration`, out.V{"driver": ds.String()})
return ds return ds
} }
// Fallback to old driver parameter // Fallback to old driver parameter
if viper.GetString("vm-driver") != "" { if d := viper.GetString("vm-driver"); d != "" {
ds := driver.Status(viper.GetString("vm-driver")) ds := driver.Status(viper.GetString("vm-driver"))
if ds.Name == "" {
exit.WithCodeT(exit.Unavailable, "The driver '{{.driver}}' is not supported on {{.os}}", out.V{"driver": d, "os": runtime.GOOS})
}
out.T(out.Sparkle, `Using the {{.driver}} driver based on user configuration`, out.V{"driver": ds.String()}) out.T(out.Sparkle, `Using the {{.driver}} driver based on user configuration`, out.V{"driver": ds.String()})
return ds return ds
} }
...@@ -551,7 +557,7 @@ func validateDriver(ds registry.DriverState, existing *config.ClusterConfig) { ...@@ -551,7 +557,7 @@ func validateDriver(ds registry.DriverState, existing *config.ClusterConfig) {
name := ds.Name name := ds.Name
glog.Infof("validating driver %q against %+v", name, existing) glog.Infof("validating driver %q against %+v", name, existing)
if !driver.Supported(name) { if !driver.Supported(name) {
exit.WithCodeT(exit.Unavailable, "The driver {{.experimental}} '{{.driver}}' is not supported on {{.os}}", out.V{"driver": name, "os": runtime.GOOS}) exit.WithCodeT(exit.Unavailable, "The driver '{{.driver}}' is not supported on {{.os}}", out.V{"driver": name, "os": runtime.GOOS})
} }
st := ds.State st := ds.State
......
...@@ -19,15 +19,12 @@ package driver ...@@ -19,15 +19,12 @@ package driver
import ( import (
"fmt" "fmt"
"os" "os"
"runtime"
"sort" "sort"
"strings" "strings"
"github.com/golang/glog" "github.com/golang/glog"
"k8s.io/minikube/pkg/drivers/kic" "k8s.io/minikube/pkg/drivers/kic"
"k8s.io/minikube/pkg/minikube/config" "k8s.io/minikube/pkg/minikube/config"
"k8s.io/minikube/pkg/minikube/exit"
"k8s.io/minikube/pkg/minikube/out"
"k8s.io/minikube/pkg/minikube/registry" "k8s.io/minikube/pkg/minikube/registry"
) )
...@@ -217,9 +214,6 @@ func Suggest(options []registry.DriverState) (registry.DriverState, []registry.D ...@@ -217,9 +214,6 @@ func Suggest(options []registry.DriverState) (registry.DriverState, []registry.D
// Status returns the status of a driver // Status returns the status of a driver
func Status(name string) registry.DriverState { func Status(name string) registry.DriverState {
d := registry.Driver(name) d := registry.Driver(name)
if d.Empty() {
exit.WithCodeT(exit.Unavailable, "The driver '{{.driver}}' is not supported on {{.os}}", out.V{"driver": name, "os": runtime.GOOS})
}
return registry.DriverState{ return registry.DriverState{
Name: d.Name, Name: d.Name,
Priority: d.Priority, Priority: d.Priority,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册