Просмотр исходного кода

provisioning: adds logs about deprecated config format

bergquist 7 лет назад
Родитель
Сommit
44baaeed8f

+ 10 - 9
pkg/services/provisioning/dashboards/config_reader.go

@@ -2,6 +2,7 @@ package dashboards
 
 import (
 	"io/ioutil"
+	"os"
 	"path/filepath"
 	"strings"
 
@@ -14,7 +15,13 @@ type configReader struct {
 	log  log.Logger
 }
 
-func parseConfigs(yamlFile []byte) ([]*DashboardsAsConfig, error) {
+func (cr *configReader) parseConfigs(file os.FileInfo) ([]*DashboardsAsConfig, error) {
+	filename, _ := filepath.Abs(filepath.Join(cr.path, file.Name()))
+	yamlFile, err := ioutil.ReadFile(filename)
+	if err != nil {
+		return nil, err
+	}
+
 	apiVersion := &ConfigVersion{ApiVersion: 0}
 	yaml.Unmarshal(yamlFile, &apiVersion)
 
@@ -38,6 +45,7 @@ func parseConfigs(yamlFile []byte) ([]*DashboardsAsConfig, error) {
 		}
 
 		if v0 != nil {
+			cr.log.Warn("[Deprecated] the dashboard provisioning config is outdated. please upgrade", "filename", filename)
 			return convertv0ToDashboardAsConfig(v0), nil
 		}
 	}
@@ -49,7 +57,6 @@ func (cr *configReader) readConfig() ([]*DashboardsAsConfig, error) {
 	var dashboards []*DashboardsAsConfig
 
 	files, err := ioutil.ReadDir(cr.path)
-
 	if err != nil {
 		cr.log.Error("cant read dashboard provisioning files from directory", "path", cr.path)
 		return dashboards, nil
@@ -60,13 +67,7 @@ func (cr *configReader) readConfig() ([]*DashboardsAsConfig, error) {
 			continue
 		}
 
-		filename, _ := filepath.Abs(filepath.Join(cr.path, file.Name()))
-		yamlFile, err := ioutil.ReadFile(filename)
-		if err != nil {
-			return nil, err
-		}
-
-		parsedDashboards, err := parseConfigs(yamlFile)
+		parsedDashboards, err := cr.parseConfigs(file)
 		if err != nil {
 
 		}

+ 13 - 9
pkg/services/provisioning/datasources/config_reader.go

@@ -2,6 +2,7 @@ package datasources
 
 import (
 	"io/ioutil"
+	"os"
 	"path/filepath"
 	"strings"
 
@@ -24,13 +25,7 @@ func (cr *configReader) readConfig(path string) ([]*DatasourcesAsConfig, error)
 
 	for _, file := range files {
 		if strings.HasSuffix(file.Name(), ".yaml") || strings.HasSuffix(file.Name(), ".yml") {
-			filename, _ := filepath.Abs(filepath.Join(path, file.Name()))
-			yamlFile, err := ioutil.ReadFile(filename)
-			if err != nil {
-				return nil, err
-			}
-
-			datasource, err := parseDatasourceConfig(yamlFile)
+			datasource, err := cr.parseDatasourceConfig(path, file)
 			if err != nil {
 				return nil, err
 			}
@@ -49,7 +44,13 @@ func (cr *configReader) readConfig(path string) ([]*DatasourcesAsConfig, error)
 	return datasources, nil
 }
 
-func parseDatasourceConfig(yamlFile []byte) (*DatasourcesAsConfig, error) {
+func (cr *configReader) parseDatasourceConfig(path string, file os.FileInfo) (*DatasourcesAsConfig, error) {
+	filename, _ := filepath.Abs(filepath.Join(path, file.Name()))
+	yamlFile, err := ioutil.ReadFile(filename)
+	if err != nil {
+		return nil, err
+	}
+
 	var apiVersion *ConfigVersion
 	err := yaml.Unmarshal(yamlFile, &apiVersion)
 	if err != nil {
@@ -62,8 +63,8 @@ func parseDatasourceConfig(yamlFile []byte) (*DatasourcesAsConfig, error) {
 		if err != nil {
 			return nil, err
 		}
-		return v1.mapToDatasourceFromConfig(apiVersion.ApiVersion), nil
 
+		return v1.mapToDatasourceFromConfig(apiVersion.ApiVersion), nil
 	}
 
 	var v0 *DatasourcesAsConfigV0
@@ -71,6 +72,9 @@ func parseDatasourceConfig(yamlFile []byte) (*DatasourcesAsConfig, error) {
 	if err != nil {
 		return nil, err
 	}
+
+	cr.log.Warn("[Deprecated] the datasource provisioning config is outdated. please upgrade", "filename", filename)
+
 	return v0.mapToDatasourceFromConfig(apiVersion.ApiVersion), nil
 }