From 1b5ec225994a4d2d2a8c3b94919d6b362148d1f1 Mon Sep 17 00:00:00 2001 From: Jian Qiu Date: Sat, 6 Nov 2021 12:29:35 +0800 Subject: [PATCH] fix: cleanup compile warnings (#12620) Co-authored-by: Qiu Jian --- cmd/climc/shell/compute/server_forward.go | 2 +- pkg/cloudcommon/options/changes.go | 3 +- pkg/devtool/utils/service_url.go | 2 +- pkg/hostman/guestfs/kvmpart/kvmpart.go | 2 +- pkg/hostman/host_services.go | 2 +- .../hostdeployer/deployserver/deployserver.go | 2 +- pkg/hostman/storageman/imagecache_local.go | 2 +- pkg/hostman/storageman/storagehelper.go | 2 +- pkg/monitor/suggestsysdrivers/doc.go | 15 - .../suggestsysdrivers/influxdbbasedriver.go | 403 ------------------ pkg/multicloud/ctyun/instance.go | 2 +- pkg/multicloud/hcso/bucket.go | 2 +- pkg/multicloud/hcso/instance.go | 2 +- pkg/multicloud/hcso/loadbalancer_backend.go | 2 +- pkg/multicloud/huawei/instance.go | 2 +- pkg/multicloud/huawei/loadbalancer_backend.go | 2 +- pkg/multicloud/openstack/storage.go | 2 +- pkg/notify/tasks/notifications_send_task.go | 2 +- pkg/vpcagent/models/modelset.go | 2 +- 19 files changed, 17 insertions(+), 436 deletions(-) delete mode 100644 pkg/monitor/suggestsysdrivers/doc.go delete mode 100644 pkg/monitor/suggestsysdrivers/influxdbbasedriver.go diff --git a/cmd/climc/shell/compute/server_forward.go b/cmd/climc/shell/compute/server_forward.go index 4c8d0ed225..52232b0a7a 100644 --- a/cmd/climc/shell/compute/server_forward.go +++ b/cmd/climc/shell/compute/server_forward.go @@ -47,7 +47,7 @@ func dump(input jsonutils.JSONObject) (*forwardInfo, error) { } if ret.ProxyPort <= 0 { - return nil, errors.Errorf("invalid proxy_port %d", ret.ProxyAddr) + return nil, errors.Errorf("invalid proxy_port %d", ret.ProxyPort) } return ret, nil diff --git a/pkg/cloudcommon/options/changes.go b/pkg/cloudcommon/options/changes.go index a860932361..012563fab6 100644 --- a/pkg/cloudcommon/options/changes.go +++ b/pkg/cloudcommon/options/changes.go @@ -54,8 +54,7 @@ func OnBaseOptionsChange(oOpts, nOpts interface{}) bool { consts.SetEnableQuotaCheck(newOpts.EnableQuotaCheck) } if oldOpts.ApiServer != newOpts.ApiServer { - log.Debugf("api_server changed from %d to %d", oldOpts.ApiServer, newOpts.ApiServer) - changed = true + log.Debugf("api_server changed from %s to %s", oldOpts.ApiServer, newOpts.ApiServer) } return changed } diff --git a/pkg/devtool/utils/service_url.go b/pkg/devtool/utils/service_url.go index 5ccbb270df..6cc5d7c5a7 100644 --- a/pkg/devtool/utils/service_url.go +++ b/pkg/devtool/utils/service_url.go @@ -250,7 +250,7 @@ func GetServiceUrl(ctx context.Context, serviceName string) (string, error) { return "", err } log.Infof("params to list endpoint: %v", params) - log.Infof("ret to list endpoint: %s", ret) + log.Infof("ret to list endpoint: %s", jsonutils.Marshal(ret)) if len(ret.Data) == 0 { return "", fmt.Errorf("no sucn endpoint with 'internal' interface and 'influxdb' service") } diff --git a/pkg/hostman/guestfs/kvmpart/kvmpart.go b/pkg/hostman/guestfs/kvmpart/kvmpart.go index 2a23bed1d6..60ba57e647 100644 --- a/pkg/hostman/guestfs/kvmpart/kvmpart.go +++ b/pkg/hostman/guestfs/kvmpart/kvmpart.go @@ -267,7 +267,7 @@ func (p *SKVMGuestDiskPartition) Umount() error { log.Warningf("blockdev --flushbufs %s error: %v", p.partDev, err) } if err := os.Remove(p.mountPath); err != nil { - log.Warningf("remove mount path %s error: %v", p.mountPath) + log.Warningf("remove mount path %s error: %v", p.mountPath, err) } log.Infof("umount %s successfully", p.partDev) return nil diff --git a/pkg/hostman/host_services.go b/pkg/hostman/host_services.go index 746c12304e..25a749fe50 100644 --- a/pkg/hostman/host_services.go +++ b/pkg/hostman/host_services.go @@ -95,7 +95,7 @@ func (host *SHostService) RunService() { log.Infof("Auth complete!!") if err := host.initEtcdConfig(); err != nil { - log.Fatalln("Init etcd config: %v", err) + log.Fatalln("Init etcd config:", err) } hostInstance.StartRegister(2, func() { diff --git a/pkg/hostman/hostdeployer/deployserver/deployserver.go b/pkg/hostman/hostdeployer/deployserver/deployserver.go index ab1622be19..23459eaff0 100644 --- a/pkg/hostman/hostdeployer/deployserver/deployserver.go +++ b/pkg/hostman/hostdeployer/deployserver/deployserver.go @@ -97,7 +97,7 @@ func (*DeployerServer) ResizeFs(ctx context.Context, req *deployapi.ResizeFsPara // There will be some occasional unknown panic, so temporarily capture panic here. defer func() { if r := recover(); r != nil { - log.Errorf("DeployGuestFs: %s, stack:\n %s", debug.Stack()) + log.Errorf("DeployGuestFs: %s, stack:\n %s", req.String(), debug.Stack()) msg := "panic: " if str, ok := r.(fmt.Stringer); ok { msg += str.String() diff --git a/pkg/hostman/storageman/imagecache_local.go b/pkg/hostman/storageman/imagecache_local.go index 4af60a9579..77c7602fdd 100644 --- a/pkg/hostman/storageman/imagecache_local.go +++ b/pkg/hostman/storageman/imagecache_local.go @@ -213,7 +213,7 @@ func (l *SLocalImageCache) fetch(ctx context.Context, zone, srcUrl, format strin bDesc, err := json.Marshal(l.Desc) if err != nil { - return errors.Wrapf(err, "json.Marshal(%s)", l.Desc) + return errors.Wrapf(err, "json.Marshal(%#v)", l.Desc) } err = fileutils2.FilePutContents(l.GetInfPath(), string(bDesc), false) diff --git a/pkg/hostman/storageman/storagehelper.go b/pkg/hostman/storageman/storagehelper.go index 7d1bb49945..6c2da23ce1 100644 --- a/pkg/hostman/storageman/storagehelper.go +++ b/pkg/hostman/storageman/storagehelper.go @@ -31,7 +31,7 @@ type SDiskCreateByDiskinfo struct { } func (i *SDiskCreateByDiskinfo) String() string { - return fmt.Sprintf("disk_id: %s, disk_info: %s", i.DiskId, i.DiskInfo) + return fmt.Sprintf("disk_id: %s, disk_info: %s", i.DiskId, jsonutils.Marshal(i.DiskInfo)) } type SDiskReset struct { diff --git a/pkg/monitor/suggestsysdrivers/doc.go b/pkg/monitor/suggestsysdrivers/doc.go deleted file mode 100644 index aeb3c6e734..0000000000 --- a/pkg/monitor/suggestsysdrivers/doc.go +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2019 Yunion -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package suggestsysdrivers // import "yunion.io/x/onecloud/pkg/monitor/suggestsysdrivers" diff --git a/pkg/monitor/suggestsysdrivers/influxdbbasedriver.go b/pkg/monitor/suggestsysdrivers/influxdbbasedriver.go deleted file mode 100644 index 21dd4ab41f..0000000000 --- a/pkg/monitor/suggestsysdrivers/influxdbbasedriver.go +++ /dev/null @@ -1,403 +0,0 @@ -// Copyright 2019 Yunion -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package suggestsysdrivers - -import ( - "context" - "fmt" - "strings" - "time" - - "yunion.io/x/jsonutils" - "yunion.io/x/log" - "yunion.io/x/pkg/errors" - "yunion.io/x/pkg/utils" - - "yunion.io/x/onecloud/pkg/apis/monitor" - "yunion.io/x/onecloud/pkg/httperrors" - "yunion.io/x/onecloud/pkg/mcclient" - "yunion.io/x/onecloud/pkg/mcclient/auth" - "yunion.io/x/onecloud/pkg/mcclient/modulebase" - "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" -) - -type InfluxdbBaseDriver struct { - *baseDriver -} - -func NewInfluxdbBaseDriver(driverType monitor.SuggestDriverType, resourceType monitor.MonitorResourceType, - action monitor.SuggestDriverAction, suggest monitor.MonitorSuggest, rule monitor.SuggestSysRuleCreateInput) *InfluxdbBaseDriver { - return &InfluxdbBaseDriver{ - baseDriver: newBaseDriver( - driverType, - resourceType, - action, - suggest, - rule, - )} -} - -func (drv *InfluxdbBaseDriver) ValidateSetting(input *monitor.SSuggestSysAlertSetting) error { - if input.ScaleRule == nil || len(*input.ScaleRule) == 0 { - return merrors.NewArgIsEmptyErr("ScaleRule") - } - for _, scale := range *input.ScaleRule { - if scale.Database == "" { - return merrors.NewArgIsEmptyErr("database") - } - if scale.Measurement == "" { - return merrors.NewArgIsEmptyErr("measurement") - } - if scale.Field == "" { - return merrors.NewArgIsEmptyErr("field") - } - if !utils.IsInStringArray(getQueryEvalType(scale), validators.EvaluatorDefaultTypes) { - return httperrors.NewInputParameterError("the evalType is illegal") - } - if scale.Threshold == 0 { - return merrors.NewArgIsEmptyErr("threshold") - } - } - return nil -} - -func getQueryEvalType(scale monitor.Scale) string { - typ := "" - switch scale.EvalType { - case ">=", ">": - typ = "gt" - case "<=", "<": - typ = "lt" - } - return typ -} - -func (drv *InfluxdbBaseDriver) DoSuggestSysRule(ctx context.Context, userCred mcclient.TokenCredential, isStart bool) { - doSuggestSysRule(ctx, userCred, isStart, drv) -} - -func (drv *InfluxdbBaseDriver) Run(rule *models.SSuggestSysRule, instance *monitor.SSuggestSysAlertSetting) { - Run(drv, rule, instance) -} - -func (drv *InfluxdbBaseDriver) GetLatestAlerts(rule *models.SSuggestSysRule, instance *monitor.SSuggestSysAlertSetting) ([]jsonutils.JSONObject, error) { - //scaleEvalMatchs := make([]*monitor.EvalMatch, 0) - ret := make([]jsonutils.JSONObject, 0) - firing, evalMatchMap, err := drv.getScaleEvalResult(*instance.ScaleRule) - if err != nil { - return ret, errors.Wrap(err, "rule getScaleEvalResult happen error") - } - if firing { - log.Errorf("evalMatchMapLen:%d", len(evalMatchMap)) - serverArr, err := drv.getResourcesByEvalMatchsMap(evalMatchMap, instance) - if err != nil { - return ret, errors.Wrap(err, "rule getResource error") - } - return serverArr, nil - } - return ret, nil -} - -func (drv *InfluxdbBaseDriver) getScaleEvalResult(scales []monitor.Scale) (bool, map[string][]*monitor.EvalMatch, - error) { - firing := false - scaleEvalMatchs := make(map[string][]*monitor.EvalMatch, 0) - for index, scale := range scales { - condition := monitor.AlertCondition{ - Type: "suggest_query", - Query: drv.newAlertQuery(scale), - Evaluator: monitor.Condition{Type: getQueryEvalType(scale), Params: []float64{scale.Threshold}}, - Reducer: monitor.Condition{Type: "avg"}, - Operator: scale.Operator, - } - factory := alerting.GetConditionFactories()[condition.Type] - queryCondition, err := factory(&condition, index) - if err != nil { - return firing, scaleEvalMatchs, errors.Wrapf(err, "construct query condition %s", - jsonutils.Marshal(condition)) - } - duration, _ := time.ParseDuration(condition.Query.From) - queryCon := queryCondition.(*conditions.SuggestQueryCondition) - queryCon.Reducer = conditions.NewSuggestRuleReducer(queryCon.Reducer.GetType(), duration) - //evalContext := alerting.NewEvalContext(context.Background(), auth.AdminCredential(), nil) - evalContext := alerting.EvalContext{ - Ctx: context.Background(), - UserCred: auth.AdminCredential(), - IsDebug: true, - IsTestRun: true, - } - conditionResult, err := queryCondition.Eval(&evalContext) - if err != nil { - return firing, scaleEvalMatchs, errors.Wrap(err, "condition eval error") - } - if index == 0 { - firing = conditionResult.Firing - } - - // calculating Firing based on operator - if conditionResult.Operator == "or" { - firing = firing || conditionResult.Firing - } else { - firing = firing && conditionResult.Firing - } - if firing { - evalMatchs := conditionResult.EvalMatches - if conditionResult.Operator == "and" { - if index != 0 { - evalMatchs = getAndEvalMatches(scaleEvalMatchs, evalMatchs) - if len(evalMatchs) == 0 { - return false, scaleEvalMatchs, nil - } - } - } else { - if index != 0 { - getOrEvalMatches(scaleEvalMatchs, evalMatchs) - } - } - key := fmt.Sprintf("%s--%d", scale.Field, index) - scaleEvalMatchs[key] = evalMatchs - } - } - return firing, scaleEvalMatchs, nil -} - -func (drv *InfluxdbBaseDriver) getResourcesByEvalMatchsMap(evalMatchsMap map[string][]*monitor.EvalMatch, - instance *monitor.SSuggestSysAlertSetting) ([]jsonutils.JSONObject, error) { - matchLength := 0 - var maxEvalMatch []*monitor.EvalMatch - for _, evalMatchs := range evalMatchsMap { - if len(evalMatchs) > matchLength { - matchLength = len(evalMatchs) - maxEvalMatch = evalMatchs - } - } - resArr := jsonutils.NewArray() - for _, evalMatch := range maxEvalMatch { - res, mappingId, err := drv.getResourceFromEvalMatch(evalMatch) - if err != nil { - log.Errorln(err) - continue - } - suggestSysAlert, err := getSuggestSysAlertFromJson(res, drv) - if err != nil { - return nil, errors.Wrap(err, "Scale getSuggestSysAlertFromJson error") - } - suggestSysAlert.Action = string(monitor.SCALE_DOWN_DRIVER_ACTION) - suggestSysAlert.MonitorConfig = jsonutils.Marshal(instance) - suggestSysAlert.Problem = drv.describeEvalResultTojson(evalMatchsMap, mappingId) - resArr.Add(jsonutils.Marshal(suggestSysAlert)) - } - return resArr.GetArray() -} - -func (drv *InfluxdbBaseDriver) getResourceFromEvalMatch(evalMatch *monitor.EvalMatch) (jsonutils.JSONObject, string, error) { - var server jsonutils.JSONObject - mappingId := "" - id, err := drv.getMetricId(evalMatch) - if err != nil { - return server, mappingId, errors.Wrap(err, "InfluxdbBaseDriver getMetricId err") - } - serverobj, err := drv.getResourceById(id) - if err != nil { - return server, mappingId, errors.Wrapf(err, "InfluxdbBaseDriver getResourceById:%s err", id) - } - server = serverobj - mappingId = id - return server, mappingId, nil -} - -func (drv *InfluxdbBaseDriver) getMetricId(evalMatch *monitor.EvalMatch) (string, error) { - var id string - switch drv.GetResourceType() { - case monitor.SCALE_MONTITOR_RES_TYPE: - id = evalMatch.Tags[monitor.METRIC_VM_ID] - case monitor.REDIS_UNREASONABLE_MONITOR_RES_TYPE: - id = evalMatch.Tags[monitor.METRIC_REDIS_ID] - case monitor.RDS_UNREASONABLE_MONITOR_RES_TYPE: - id = evalMatch.Tags[monitor.METRIC_RDS_ID] - case monitor.OSS_UNREASONABLE_MONITOR_RES_TYPE: - id = evalMatch.Tags[monitor.METRIC_OSS_ID] - } - if len(id) == 0 { - return id, fmt.Errorf("no find resourceId by the driver type:%s", string(drv.GetResourceType())) - } - return id, nil -} - -func (drv *InfluxdbBaseDriver) getResourceById(id string) (jsonutils.JSONObject, error) { - switch drv.GetResourceType() { - case monitor.SCALE_MONTITOR_RES_TYPE: - return getResource(id, &modules.Servers) - case monitor.REDIS_UNREASONABLE_MONITOR_RES_TYPE: - return getResource(id, &modules.ElasticCache) - case monitor.RDS_UNREASONABLE_MONITOR_RES_TYPE: - return getResource(id, &modules.DBInstance) - case monitor.OSS_UNREASONABLE_MONITOR_RES_TYPE: - return getResource(id, &modules.Buckets) - } - return nil, fmt.Errorf("unsupporttd to get resource by the driver type:%s", string(drv.GetResourceType())) -} - -func (drv *InfluxdbBaseDriver) describeEvalResultTojson(evalMatchsMap map[string][]*monitor.EvalMatch, - mappingId string) jsonutils.JSONObject { - problem := jsonutils.NewDict() -loopEvalMap: - for _, evalMatchs := range evalMatchsMap { - for _, evalMatch := range evalMatchs { - metricId, _ := drv.getMetricId(evalMatch) - if metricId == mappingId { - problem.Add(jsonutils.NewFloat64(*evalMatch.Value), evalMatch.Metric) - break loopEvalMap - } - } - } - return problem -} - -func getResource(id string, manager modulebase.Manager) (jsonutils.JSONObject, error) { - session := auth.GetAdminSession(context.Background(), "", "") - query := jsonutils.NewDict() - query.Add(jsonutils.NewString("0"), "limit") - query.Add(jsonutils.NewString("system"), "scope") - server, err := manager.GetById(session, id, query) - if err != nil { - return nil, err - } - return server, nil -} - -func getMetricIdTag(tags map[string]string) map[string]string { - idTags := make(map[string]string, 0) - for key, val := range tags { - if strings.HasSuffix(key, "_id") { - idTags[key] = val - } - } - return idTags -} - -func getAndEvalMatches(scaleEvalMatchs map[string][]*monitor.EvalMatch, andscaleEvalMatchs []*monitor.EvalMatch) []*monitor.EvalMatch { - for key, evalMatchs := range scaleEvalMatchs { - andscaleEvalMatchs = getAndEvalMatches_(evalMatchs, andscaleEvalMatchs) - if len(andscaleEvalMatchs) == 0 { - return andscaleEvalMatchs - } - scaleEvalMatchs[key] = getAndEvalMatches_(andscaleEvalMatchs, evalMatchs) - } - return andscaleEvalMatchs -} - -func getOrEvalMatches(scaleEvalMatchs map[string][]*monitor.EvalMatch, orscaleEvalMatchs []*monitor.EvalMatch) { - for key, evalMatchs := range scaleEvalMatchs { - matches_ := getOrEvalMatches_(evalMatchs, orscaleEvalMatchs) - scaleEvalMatchs[key] = append(evalMatchs, matches_...) - } -} - -//by first param to scale other param's length -func getAndEvalMatches_(scaleEvalMatchs, andscaleEvalMatchs []*monitor.EvalMatch) []*monitor.EvalMatch { - resEvalMatchs := make([]*monitor.EvalMatch, 0) - for _, evalMatch := range scaleEvalMatchs { - idTags := getMetricIdTag(evalMatch.Tags) - twoLoop: - for _, andEvalMatch := range andscaleEvalMatchs { - andIdTags := getMetricIdTag(andEvalMatch.Tags) - //all the idTags must be equals - for key, val := range idTags { - if andVal, ok := andIdTags[key]; ok { - if val != andVal { - continue twoLoop - } - } - continue twoLoop - } - resEvalMatchs = append(resEvalMatchs, andEvalMatch) - } - } - return resEvalMatchs -} - -func getOrEvalMatches_(scaleEvalMatchs, orscaleEvalMatchs []*monitor.EvalMatch) []*monitor.EvalMatch { - resEvalMatchs := make([]*monitor.EvalMatch, 0) - containsEvalMatchMap := make(map[int]string) - for _, evalMatch := range scaleEvalMatchs { - idTags := getMetricIdTag(evalMatch.Tags) - twoLoop: - for i, orEvalMatch := range orscaleEvalMatchs { - orIdTags := getMetricIdTag(orEvalMatch.Tags) - //all the idTags must be equals - for key, val := range idTags { - if orVal, ok := orIdTags[key]; ok { - if val != orVal { - continue twoLoop - } - } - continue twoLoop - } - containsEvalMatchMap[i] = "" - } - } - for i, andEvalMatch := range orscaleEvalMatchs { - if _, ok := containsEvalMatchMap[i]; ok { - continue - } - resEvalMatchs = append(resEvalMatchs, andEvalMatch) - } - return resEvalMatchs -} - -func (drv *InfluxdbBaseDriver) newAlertQuery(scale monitor.Scale) monitor.AlertQuery { - suggestSysRules, _ := models.SuggestSysRuleManager.GetRules(drv.GetType()) - datasource, _ := models.DataSourceManager.GetDefaultSource() - return monitor.AlertQuery{ - Model: newMetricQuery(scale), - DataSourceId: datasource.Id, - From: suggestSysRules[0].TimeFrom, - To: "now", - } -} - -func newMetricQuery(scale monitor.Scale) monitor.MetricQuery { - sels := make([]monitor.MetricQuerySelect, 0) - sels = append(sels, monitor.NewMetricQuerySelect(monitor.MetricQueryPart{Type: "field", Params: []string{scale.Field}})) - return monitor.MetricQuery{ - Database: scale.Database, - Measurement: scale.Measurement, - Selects: sels, - GroupBy: []monitor.MetricQueryPart{ - { - Type: "field", - Params: []string{"*"}, - }, - }, - } -} - -func (drv *InfluxdbBaseDriver) StartResolveTask(ctx context.Context, userCred mcclient.TokenCredential, - suggestSysAlert *models.SSuggestSysAlert, - params *jsonutils.JSONDict) error { - log.Println("InfluxdbBaseDriver StartResolveTask do nothing") - return nil -} - -func (drv *InfluxdbBaseDriver) Resolve(data *models.SSuggestSysAlert) error { - log.Println("InfluxdbBaseDriver Resolve do nothing") - return nil -} diff --git a/pkg/multicloud/ctyun/instance.go b/pkg/multicloud/ctyun/instance.go index 53b5c04d2b..a38df8de9d 100644 --- a/pkg/multicloud/ctyun/instance.go +++ b/pkg/multicloud/ctyun/instance.go @@ -638,7 +638,7 @@ func (self *SInstance) NextDeviceName() (string, error) { } for i := 0; i < 25; i++ { - device := fmt.Sprintf("/dev/%sd%s", prefix, string(98+i)) + device := fmt.Sprintf("/dev/%sd%s", prefix, string([]byte{byte(98 + i)})) if ok, _ := utils.InStringArray(device, currents); !ok { return device, nil } diff --git a/pkg/multicloud/hcso/bucket.go b/pkg/multicloud/hcso/bucket.go index 00df3e0e71..4ada1d6882 100644 --- a/pkg/multicloud/hcso/bucket.go +++ b/pkg/multicloud/hcso/bucket.go @@ -601,7 +601,7 @@ func (b *SBucket) GetWebsiteConf() (cloudprovider.SBucketWebsiteConf, error) { result.Index = out.IndexDocument.Suffix result.ErrorDocument = out.ErrorDocument.Key endpoint := b.region.client.endpoints.GetEndpoint("obs-website", b.region.GetId()) - result.Url = fmt.Sprintf("https://%s.%s", endpoint) + result.Url = fmt.Sprintf("https://%s.%s", b.Name, endpoint) return result, nil } diff --git a/pkg/multicloud/hcso/instance.go b/pkg/multicloud/hcso/instance.go index 695e2694b6..8a6f8f1001 100644 --- a/pkg/multicloud/hcso/instance.go +++ b/pkg/multicloud/hcso/instance.go @@ -694,7 +694,7 @@ func (self *SInstance) NextDeviceName() (string, error) { } for i := 0; i < 25; i++ { - device := fmt.Sprintf("/dev/%sd%s", prefix, string(98+i)) + device := fmt.Sprintf("/dev/%sd%s", prefix, string([]byte{byte(98 + i)})) if ok, _ := utils.InStringArray(device, currents); !ok { return device, nil } diff --git a/pkg/multicloud/hcso/loadbalancer_backend.go b/pkg/multicloud/hcso/loadbalancer_backend.go index 2a36d80eb4..a7fef32f3a 100644 --- a/pkg/multicloud/hcso/loadbalancer_backend.go +++ b/pkg/multicloud/hcso/loadbalancer_backend.go @@ -160,7 +160,7 @@ func (self *SRegion) getInstanceByIP(privateIP string) (*SInstance, error) { if len(instances) == 1 { return &instances[0], nil } else if len(instances) > 1 { - log.Warningln("SRegion.getInstanceByIP %s result: multiple server find", privateIP) + log.Warningf("SRegion.getInstanceByIP %s result: multiple server find", privateIP) return &instances[0], nil } diff --git a/pkg/multicloud/huawei/instance.go b/pkg/multicloud/huawei/instance.go index b5ad40123b..02634ed564 100644 --- a/pkg/multicloud/huawei/instance.go +++ b/pkg/multicloud/huawei/instance.go @@ -703,7 +703,7 @@ func (self *SInstance) NextDeviceName() (string, error) { } for i := 0; i < 25; i++ { - device := fmt.Sprintf("/dev/%sd%s", prefix, string(98+i)) + device := fmt.Sprintf("/dev/%sd%s", prefix, string([]byte{byte(98 + i)})) if ok, _ := utils.InStringArray(device, currents); !ok { return device, nil } diff --git a/pkg/multicloud/huawei/loadbalancer_backend.go b/pkg/multicloud/huawei/loadbalancer_backend.go index 1ed311a282..3521725a82 100644 --- a/pkg/multicloud/huawei/loadbalancer_backend.go +++ b/pkg/multicloud/huawei/loadbalancer_backend.go @@ -160,7 +160,7 @@ func (self *SRegion) getInstanceByIP(privateIP string) (*SInstance, error) { if len(instances) == 1 { return &instances[0], nil } else if len(instances) > 1 { - log.Warningln("SRegion.getInstanceByIP %s result: multiple server find", privateIP) + log.Warningf("SRegion.getInstanceByIP %s result: multiple server find", privateIP) return &instances[0], nil } diff --git a/pkg/multicloud/openstack/storage.go b/pkg/multicloud/openstack/storage.go index 6eb831f6f9..582ce67aa7 100644 --- a/pkg/multicloud/openstack/storage.go +++ b/pkg/multicloud/openstack/storage.go @@ -145,7 +145,7 @@ func (storage *SStorage) GetIDiskById(idStr string) (cloudprovider.ICloudDisk, e return nil, err } if disk.AvailabilityZone != storage.zone.ZoneName { - return nil, errors.Wrapf(cloudprovider.ErrNotFound, "disk %s not in zone %s", storage.zone.ZoneName) + return nil, errors.Wrapf(cloudprovider.ErrNotFound, "disk %s not in zone %s", disk.Name, storage.zone.ZoneName) } disk.storage = storage return disk, nil diff --git a/pkg/notify/tasks/notifications_send_task.go b/pkg/notify/tasks/notifications_send_task.go index db6987882c..1e9c0bdfa3 100644 --- a/pkg/notify/tasks/notifications_send_task.go +++ b/pkg/notify/tasks/notifications_send_task.go @@ -216,7 +216,7 @@ type FailedReceiverSpec struct { } func (self *NotificationSendTask) batchSend(ctx context.Context, contactType string, receivers []ReceiverSpec, params rpcapi.SendParams) (fails []FailedReceiverSpec, err error) { - log.Debugf("contactType: %s, receivers: %s, params: %s", contactType, receivers, jsonutils.Marshal(params)) + log.Debugf("contactType: %s, receivers: %s, params: %s", contactType, jsonutils.Marshal(receivers), jsonutils.Marshal(params)) if contactType != apis.ROBOT && contactType != apis.WEBHOOK { return self._batchSend(ctx, contactType, receivers, func(res []*rpcapi.SReceiver) ([]*rpcapi.FailedRecord, error) { return models.NotifyService.BatchSend(ctx, contactType, rpcapi.BatchSendParams{ diff --git a/pkg/vpcagent/models/modelset.go b/pkg/vpcagent/models/modelset.go index 2bc38c7012..377faf4095 100644 --- a/pkg/vpcagent/models/modelset.go +++ b/pkg/vpcagent/models/modelset.go @@ -94,7 +94,7 @@ func (ms Vpcs) joinRouteTables(subEntries RouteTables) bool { } subEntry.Vpc = m if m.RouteTable != nil { - log.Warningf("vpc %s has more than 1 route table available, skipping %s(%s)", + log.Warningf("vpc %s(%s) has more than 1 route table available, skipping %s(%s)", m.Name, m.Id, subEntry.Name, subEntry.Id) correct = false continue