Skip to content

Commit

Permalink
monitor: error fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
yousong committed Sep 23, 2020
1 parent 27fe6bc commit 572e459
Show file tree
Hide file tree
Showing 14 changed files with 53 additions and 35 deletions.
1 change: 1 addition & 0 deletions pkg/monitor/errors/doc.go
@@ -0,0 +1 @@
package errors // import "yunion.io/x/onecloud/pkg/monitor/errors"
9 changes: 9 additions & 0 deletions pkg/monitor/errors/error.go
@@ -0,0 +1,9 @@
package errors

import (
"yunion.io/x/onecloud/pkg/httperrors"
)

func NewArgIsEmptyErr(name string) error {
return httperrors.NewInputParameterError("parameter %s is empty", name)
}
3 changes: 2 additions & 1 deletion pkg/monitor/models/alertdashboard.go
Expand Up @@ -13,6 +13,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/validators"
"yunion.io/x/onecloud/pkg/util/rbacutils"
"yunion.io/x/onecloud/pkg/util/stringutils2"
Expand Down Expand Up @@ -95,7 +96,7 @@ func (man *SAlertDashBoardManager) ValidateCreateData(
}
}
if len(data.CommonMetricInputQuery.MetricQuery) == 0 {
return data, httperrors.NewInputParameterError("metric_query is empty")
return data, merrors.NewArgIsEmptyErr("metric_query")
} else {
for _, query := range data.CommonMetricInputQuery.MetricQuery {
if len(query.Comparator) != 0 {
Expand Down
9 changes: 5 additions & 4 deletions pkg/monitor/models/commonalert.go
Expand Up @@ -18,6 +18,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/validators"
"yunion.io/x/onecloud/pkg/util/rbacutils"
"yunion.io/x/onecloud/pkg/util/stringutils2"
Expand Down Expand Up @@ -77,10 +78,10 @@ func (man *SCommonAlertManager) ValidateCreateData(
data.Period = "5m"
}
if data.Name == "" {
return data, httperrors.NewInputParameterError("name is empty")
return data, merrors.NewArgIsEmptyErr("name")
}
if data.Level == "" {
return data, httperrors.NewInputParameterError("level is empty")
return data, merrors.NewArgIsEmptyErr("level")
}
if len(data.Channel) == 0 {
data.Channel = []string{monitor.DEFAULT_SEND_NOTIFY_CHANNEL}
Expand All @@ -95,11 +96,11 @@ func (man *SCommonAlertManager) ValidateCreateData(
}
// 默认的系统配置Recipients=commonalert-default
if data.AlertType != monitor.CommonAlertSystemAlertType && len(data.Recipients) == 0 {
return data, httperrors.NewInputParameterError("recipients is empty")
return data, merrors.NewArgIsEmptyErr("recipients")
}

if len(data.CommonMetricInputQuery.MetricQuery) == 0 {
return data, httperrors.NewInputParameterError("metric_query is empty")
return data, merrors.NewArgIsEmptyErr("metric_query")
} else {
for _, query := range data.CommonMetricInputQuery.MetricQuery {
if !utils.IsInStringArray(getQueryEvalType(query.Comparator), validators.EvaluatorDefaultTypes) {
Expand Down
11 changes: 6 additions & 5 deletions pkg/monitor/models/datasource.go
Expand Up @@ -39,6 +39,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient/auth"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/options"
"yunion.io/x/onecloud/pkg/monitor/registry"
"yunion.io/x/onecloud/pkg/monitor/tsdb"
Expand Down Expand Up @@ -214,7 +215,7 @@ func (self *SDataSourceManager) getMeasurementQueryInfluxdb(query jsonutils.JSON
measurementFilter, tagFilter string) (rtnMeasurements []monitor.InfluxMeasurement, err error) {
database, _ := query.GetString("database")
if database == "" {
return rtnMeasurements, httperrors.NewInputParameterError("not find database")
return rtnMeasurements, merrors.NewArgIsEmptyErr("database")
}
dataSource, err := self.GetDefaultSource()
if err != nil {
Expand Down Expand Up @@ -537,19 +538,19 @@ func (self *SDataSourceManager) renderTimeFilter(from, to string) string {
func (self *SDataSourceManager) GetMetricMeasurement(query jsonutils.JSONObject, tagFilter string) (jsonutils.JSONObject, error) {
database, _ := query.GetString("database")
if database == "" {
return jsonutils.JSONNull, httperrors.NewInputParameterError("not find database")
return jsonutils.JSONNull, merrors.NewArgIsEmptyErr("database")
}
measurement, _ := query.GetString("measurement")
if measurement == "" {
return jsonutils.JSONNull, httperrors.NewInputParameterError("not find measurement")
return jsonutils.JSONNull, merrors.NewArgIsEmptyErr("measurement")
}
field, _ := query.GetString("field")
if field == "" {
return jsonutils.JSONNull, httperrors.NewInputParameterError("not find field")
return jsonutils.JSONNull, merrors.NewArgIsEmptyErr("field")
}
from, _ := query.GetString("from")
if len(from) == 0 {
return jsonutils.JSONNull, httperrors.NewInputParameterError("not find from")
return jsonutils.JSONNull, merrors.NewArgIsEmptyErr("from")
}
dataSource, err := self.GetDefaultSource()
if err != nil {
Expand Down
3 changes: 2 additions & 1 deletion pkg/monitor/models/meteralert.go
Expand Up @@ -29,6 +29,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/auth"
"yunion.io/x/onecloud/pkg/mcclient/modules"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/options"
"yunion.io/x/onecloud/pkg/util/stringutils2"
)
Expand Down Expand Up @@ -157,7 +158,7 @@ func (man *SMeterAlertManager) ValidateCreateData(
}
}
if data.Recipients == "" {
return nil, httperrors.NewInputParameterError("recipients is empty")
return nil, merrors.NewArgIsEmptyErr("recipients")
}

ds, err := DataSourceManager.GetDefaultSource()
Expand Down
7 changes: 4 additions & 3 deletions pkg/monitor/models/nodealert.go
Expand Up @@ -33,6 +33,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient/auth"
"yunion.io/x/onecloud/pkg/mcclient/modulebase"
"yunion.io/x/onecloud/pkg/mcclient/modules"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/options"
"yunion.io/x/onecloud/pkg/util/stringutils2"
)
Expand Down Expand Up @@ -96,7 +97,7 @@ func (man *SNodeAlertManager) ValidateCreateData(
return nil, httperrors.NewInputParameterError("Invalid period format: %s", data.Period)
}
if data.Metric == "" {
return nil, httperrors.NewInputParameterError("metric is missing")
return nil, merrors.NewArgIsEmptyErr("metric")
}
parts := strings.Split(data.Metric, ".")
if len(parts) != 2 {
Expand All @@ -107,10 +108,10 @@ func (man *SNodeAlertManager) ValidateCreateData(
return nil, err
}
if data.Recipients == "" {
return nil, httperrors.NewInputParameterError("recipients is empty")
return nil, merrors.NewArgIsEmptyErr("recipients")
}
if data.NodeId == "" {
return nil, httperrors.NewInputParameterError("node_id is empty")
return nil, merrors.NewArgIsEmptyErr("node_id")
}
nodeName, resType, err := man.validateResourceId(ctx, data.Type, data.NodeId)
if err != nil {
Expand Down
3 changes: 2 additions & 1 deletion pkg/monitor/models/notification.go
Expand Up @@ -26,6 +26,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/notifydrivers"
)

Expand Down Expand Up @@ -126,7 +127,7 @@ func (man *SNotificationManager) GetNotificationsWithDefault(ids []string) ([]SN

func (man *SNotificationManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, _ jsonutils.JSONObject, input monitor.NotificationCreateInput) (monitor.NotificationCreateInput, error) {
if input.Type == "" {
return input, httperrors.NewInputParameterError("notification type is empty")
return input, merrors.NewArgIsEmptyErr("type")
}
if input.SendReminder == nil {
sendReminder := true
Expand Down
5 changes: 3 additions & 2 deletions pkg/monitor/models/suggestsysalert.go
Expand Up @@ -31,6 +31,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/auth"
"yunion.io/x/onecloud/pkg/mcclient/modules"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/util/rbacutils"
"yunion.io/x/onecloud/pkg/util/stringutils2"
)
Expand Down Expand Up @@ -281,10 +282,10 @@ func (alert *SSuggestSysAlert) ValidateUpdateData(
data monitor.SuggestSysAlertUpdateInput) (monitor.SuggestSysAlertUpdateInput, error) {
//rule 查询到资源信息后没有将资源id,进行转换
if len(data.ResID) == 0 {
return data, httperrors.NewInputParameterError("not found res_id ")
return data, merrors.NewArgIsEmptyErr("res_id")
}
if len(data.Type) == 0 {
return data, httperrors.NewInputParameterError("not found type ")
return data, merrors.NewArgIsEmptyErr("type")
}
var err error
data.VirtualResourceBaseUpdateInput, err = alert.SVirtualResourceBase.ValidateUpdateData(ctx, userCred, query,
Expand Down
5 changes: 3 additions & 2 deletions pkg/monitor/models/suggestsysrule.go
Expand Up @@ -34,6 +34,7 @@ import (
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/auth"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/registry"
"yunion.io/x/onecloud/pkg/util/influxdb"
"yunion.io/x/onecloud/pkg/util/stringutils2"
Expand Down Expand Up @@ -382,11 +383,11 @@ func (self *SSuggestSysRuleManager) GetPropertyMetricMeasurement(ctx context.Con
func (self *SSuggestSysRuleManager) GetMetricMeasurement(query jsonutils.JSONObject) (jsonutils.JSONObject, error) {
database, _ := query.GetString("database")
if database == "" {
return jsonutils.JSONNull, httperrors.NewInputParameterError("not support database")
return jsonutils.JSONNull, merrors.NewArgIsEmptyErr("database")
}
measurement, _ := query.GetString("measurement")
if measurement == "" {
return jsonutils.JSONNull, httperrors.NewInputParameterError("not support measurement")
return jsonutils.JSONNull, merrors.NewArgIsEmptyErr("measurement")
}
dataSource, err := DataSourceManager.GetDefaultSource()
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion pkg/monitor/models/suggestsysruleconfig.go
Expand Up @@ -258,7 +258,7 @@ func (man *SSuggestSysRuleConfigManager) ValidateCreateData(ctx context.Context,
return nil, httperrors.NewNotFoundError("not found driver by type %q", *input.Type)
}
if drv.GetResourceType() != *input.ResourceType {
return nil, httperrors.NewNotAcceptableError("type %q resource type not match input %q", drv.GetType(), *input.ResourceType)
return nil, httperrors.NewNotAcceptableError("resource type %q of driver does not match input %q", drv.GetType(), *input.ResourceType)
}
}
}
Expand Down
3 changes: 2 additions & 1 deletion pkg/monitor/models/unifiedmonitor.go
Expand Up @@ -13,6 +13,7 @@ import (
"yunion.io/x/onecloud/pkg/cloudcommon/db"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
mq "yunion.io/x/onecloud/pkg/monitor/metricquery"
"yunion.io/x/onecloud/pkg/monitor/tsdb"
"yunion.io/x/onecloud/pkg/monitor/validators"
Expand Down Expand Up @@ -189,7 +190,7 @@ func (self *SUnifiedMonitorManager) PerformQuery(ctx context.Context, userCred m
return jsonutils.NewDict(), err
}
if len(inputQuery.MetricQuery) == 0 {
return nil, httperrors.NewInputParameterError("no metric_query field in param")
return nil, merrors.NewArgIsEmptyErr("metric_query")
}
for _, q := range inputQuery.MetricQuery {
scope, _ := data.GetString("scope")
Expand Down
16 changes: 7 additions & 9 deletions pkg/monitor/suggestsysdrivers/influxdbbasedriver.go
Expand Up @@ -19,6 +19,7 @@ import (
"yunion.io/x/onecloud/pkg/mcclient/modules"
"yunion.io/x/onecloud/pkg/monitor/alerting"
"yunion.io/x/onecloud/pkg/monitor/alerting/conditions"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
"yunion.io/x/onecloud/pkg/monitor/models"
"yunion.io/x/onecloud/pkg/monitor/validators"
)
Expand All @@ -40,27 +41,24 @@ func NewInfluxdbBaseDriver(driverType monitor.SuggestDriverType, resourceType mo
}

func (drv *InfluxdbBaseDriver) ValidateSetting(input *monitor.SSuggestSysAlertSetting) error {
if input.ScaleRule == nil {
return httperrors.NewInputParameterError("no found rule setting ")
}
if len(*input.ScaleRule) == 0 {
return httperrors.NewInputParameterError("no found customize monitor rule")
if input.ScaleRule == nil || len(*input.ScaleRule) == 0 {
return merrors.NewArgIsEmptyErr("ScaleRule")
}
for _, scale := range *input.ScaleRule {
if scale.Database == "" {
return httperrors.NewInputParameterError("database is missing")
return merrors.NewArgIsEmptyErr("database")
}
if scale.Measurement == "" {
return httperrors.NewInputParameterError("measurement is missing")
return merrors.NewArgIsEmptyErr("measurement")
}
if scale.Field == "" {
return httperrors.NewInputParameterError("field is missing")
return merrors.NewArgIsEmptyErr("field")
}
if !utils.IsInStringArray(getQueryEvalType(scale), validators.EvaluatorDefaultTypes) {
return httperrors.NewInputParameterError("the evalType is illegal")
}
if scale.Threshold == 0 {
return httperrors.NewInputParameterError("threshold is meaningless")
return merrors.NewArgIsEmptyErr("threshold")
}
}
return nil
Expand Down
11 changes: 6 additions & 5 deletions pkg/monitor/validators/validators.go
Expand Up @@ -23,6 +23,7 @@ import (

"yunion.io/x/onecloud/pkg/apis/monitor"
"yunion.io/x/onecloud/pkg/httperrors"
merrors "yunion.io/x/onecloud/pkg/monitor/errors"
)

const (
Expand Down Expand Up @@ -92,13 +93,13 @@ func ValidateAlertConditionQuery(input monitor.AlertQuery) error {

func ValidateAlertQueryModel(input monitor.MetricQuery) error {
if len(input.Selects) == 0 {
return httperrors.NewInputParameterError("no select data in query")
return merrors.NewArgIsEmptyErr("select")
}
if len(input.Database) == 0 {
return httperrors.NewInputParameterError("no database in query")
return merrors.NewArgIsEmptyErr("database")
}
if len(input.Measurement) == 0 {
return httperrors.NewInputParameterError("no measurement in query")
return merrors.NewArgIsEmptyErr("measurement")
}
return nil
}
Expand Down Expand Up @@ -138,11 +139,11 @@ func ValidateFromAndToValue(input monitor.AlertQuery) error {
if toDur >= fromDur {
return nil
}
return httperrors.NewInputParameterError("query from:%s,to:%s err", input.From, input.To)
return httperrors.NewInputParameterError("query duration err: from: %s, to:%s", input.From, input.To)
}
return err
}
return httperrors.NewInputParameterError("query to:%s format err", input.To)
return httperrors.NewInputParameterError("query duration `to` err: %s", input.To)
}

func ValidateAlertConditionReducer(input monitor.Condition) error {
Expand Down

0 comments on commit 572e459

Please sign in to comment.