Merge pull request #11605 from zhaoxiangchun/automated-cherry-pick-of-#11603-upstream-release-3.7

Automated cherry pick of #11603: fix(monitor):  alert policy use ownerId when update
This commit is contained in:
Zexi Li
2021-07-09 12:07:11 +08:00
committed by GitHub
+10 -1
View File
@@ -916,7 +916,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")
}
@@ -947,6 +948,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) {