From 3c499f209c81e8754f86677bc5118bc218303468 Mon Sep 17 00:00:00 2001 From: zhaoxiangchun <1422928955@qq.com> Date: Fri, 9 Jul 2021 10:10:30 +0800 Subject: [PATCH] fix(monitor): alert policy use ownerId when update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.根据参数中的project和domain属性调用FetchOwnerId方法,然后确定报警策略归属并进行监控查询过滤 --- pkg/monitor/models/commonalert.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/monitor/models/commonalert.go b/pkg/monitor/models/commonalert.go index f9fb496c3d..12563e30b2 100644 --- a/pkg/monitor/models/commonalert.go +++ b/pkg/monitor/models/commonalert.go @@ -920,7 +920,8 @@ func (alert *SCommonAlert) ValidateUpdateData( return data, errors.Wrap(err, "metric_query Unmarshal error") } scope, _ := data.GetString("scope") - err = CommonAlertManager.ValidateMetricQuery(metricQuery, scope, userCred) + ownerId := CommonAlertManager.GetOwnerId(ctx, userCred, data) + err = CommonAlertManager.ValidateMetricQuery(metricQuery, scope, ownerId) if err != nil { return data, errors.Wrap(err, "metric query error") } @@ -951,6 +952,14 @@ func (alert *SCommonAlert) ValidateUpdateData( return data, nil } +func (manager *SCommonAlertManager) GetOwnerId(ctx context.Context, userCred mcclient.TokenCredential, data jsonutils.JSONObject) mcclient.IIdentityProvider { + ownId, _ := CommonAlertManager.FetchOwnerId(ctx, data) + if ownId == nil { + ownId = userCred + } + return ownId +} + func (alert *SCommonAlert) PostUpdate( ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) {