瀏覽代碼

Chore: Small improvements to grafana-cli (#16670)

* Small improvements

* Better error handling
Andrej Ocenas 6 年之前
父節點
當前提交
e4f649e2c8
共有 3 個文件被更改,包括 11 次插入3 次删除
  1. 1 1
      pkg/cmd/grafana-cli/main.go
  2. 9 1
      pkg/cmd/grafana-cli/services/services.go
  3. 1 1
      pkg/setting/setting.go

+ 1 - 1
pkg/cmd/grafana-cli/main.go

@@ -66,7 +66,7 @@ func main() {
 
 
 func setupLogging() {
 func setupLogging() {
 	for _, f := range os.Args {
 	for _, f := range os.Args {
-		if f == "-D" || f == "--debug" || f == "-debug" {
+		if f == "-d" || f == "--debug" || f == "-debug" {
 			logger.SetDebug(true)
 			logger.SetDebug(true)
 		}
 		}
 	}
 	}

+ 9 - 1
pkg/cmd/grafana-cli/services/services.go

@@ -21,6 +21,7 @@ var (
 	IoHelper       m.IoUtil = IoUtilImp{}
 	IoHelper       m.IoUtil = IoUtilImp{}
 	HttpClient     http.Client
 	HttpClient     http.Client
 	grafanaVersion string
 	grafanaVersion string
+	NotFoundError  = errors.New("404 not found error")
 )
 )
 
 
 func Init(version string, skipTLSVerify bool) {
 func Init(version string, skipTLSVerify bool) {
@@ -126,10 +127,14 @@ func RemoveInstalledPlugin(pluginPath, pluginName string) error {
 }
 }
 
 
 func GetPlugin(pluginId, repoUrl string) (m.Plugin, error) {
 func GetPlugin(pluginId, repoUrl string) (m.Plugin, error) {
+	logger.Debugf("getting plugin metadata from: %v pluginId: %v \n", repoUrl, pluginId)
 	body, err := sendRequest(repoUrl, "repo", pluginId)
 	body, err := sendRequest(repoUrl, "repo", pluginId)
 
 
 	if err != nil {
 	if err != nil {
-		logger.Info("Failed to send request", "error", err)
+		logger.Info("Failed to send request: ", err)
+		if err == NotFoundError {
+			return m.Plugin{}, fmt.Errorf("Failed to find requested plugin, check if the plugin_id is correct. error: %v", err)
+		}
 		return m.Plugin{}, fmt.Errorf("Failed to send request. error: %v", err)
 		return m.Plugin{}, fmt.Errorf("Failed to send request. error: %v", err)
 	}
 	}
 
 
@@ -169,6 +174,9 @@ func sendRequest(repoUrl string, subPaths ...string) ([]byte, error) {
 		return []byte{}, err
 		return []byte{}, err
 	}
 	}
 
 
+	if res.StatusCode == 404 {
+		return []byte{}, NotFoundError
+	}
 	if res.StatusCode/100 != 2 {
 	if res.StatusCode/100 != 2 {
 		return []byte{}, fmt.Errorf("Api returned invalid status: %s", res.Status)
 		return []byte{}, fmt.Errorf("Api returned invalid status: %s", res.Status)
 	}
 	}

+ 1 - 1
pkg/setting/setting.go

@@ -770,7 +770,7 @@ func (cfg *Cfg) Load(args *CommandLineArgs) error {
 
 
 	pluginsSection := iniFile.Section("plugins")
 	pluginsSection := iniFile.Section("plugins")
 	cfg.PluginsEnableAlpha = pluginsSection.Key("enable_alpha").MustBool(false)
 	cfg.PluginsEnableAlpha = pluginsSection.Key("enable_alpha").MustBool(false)
-	cfg.PluginsAppsSkipVerifyTLS = iniFile.Section("plugins").Key("app_tls_skip_verify_insecure").MustBool(false)
+	cfg.PluginsAppsSkipVerifyTLS = pluginsSection.Key("app_tls_skip_verify_insecure").MustBool(false)
 
 
 	// check old location for this option
 	// check old location for this option
 	if panelsSection.Key("enable_alpha").MustBool(false) {
 	if panelsSection.Key("enable_alpha").MustBool(false) {