diff --git a/pkg/apis/monitor/monitor_resource.go b/pkg/apis/monitor/monitor_resource.go index 94629afeed..65f1fc6d4d 100644 --- a/pkg/apis/monitor/monitor_resource.go +++ b/pkg/apis/monitor/monitor_resource.go @@ -53,5 +53,6 @@ type MonitorResourceDetails struct { Ips string `json:"ips"` AccessIp string `json:"access_ip"` - AttachAlertCount int64 `json:"attach_alert_count"` + AttachAlertCount int64 `json:"attach_alert_count"` + Hypervisor string `json:"hypervisor"` } diff --git a/pkg/monitor/models/modelset.go b/pkg/monitor/models/modelset.go index 461bdcc9d1..35d2c8d184 100644 --- a/pkg/monitor/models/modelset.go +++ b/pkg/monitor/models/modelset.go @@ -18,6 +18,7 @@ import ( "yunion.io/x/jsonutils" "yunion.io/x/onecloud/pkg/apihelper" + compute_apis "yunion.io/x/onecloud/pkg/apis" "yunion.io/x/onecloud/pkg/apis/monitor" "yunion.io/x/onecloud/pkg/cloudcommon/db" compute_models "yunion.io/x/onecloud/pkg/compute/models" @@ -74,6 +75,7 @@ type Details struct { ProjectDomain string Ips string Account string + compute_apis.MetadataResourceInfo } // +onecloud:swagger-gen-ignore diff --git a/pkg/monitor/models/monitor_resource.go b/pkg/monitor/models/monitor_resource.go index ba5f60fa98..a76c62585e 100644 --- a/pkg/monitor/models/monitor_resource.go +++ b/pkg/monitor/models/monitor_resource.go @@ -508,6 +508,7 @@ func (manager *SMonitorResourceManager) SyncResources(ctx context.Context, mss * errs = append(errs, errors.Wrapf(err, "monitorResource:%s Update err", res[0].Name)) continue } + res[0].PostUpdate(ctx, userCred, jsonutils.NewDict(), newMonitorResourceCreateInput(obj, typ)) continue } if len(res) != 0 { @@ -544,6 +545,10 @@ func newMonitorResourceCreateInput(input jsonutils.JSONObject, typ string) jsonu monitorResource.Add(jsonutils.NewString(id), "res_id") monitorResource.Remove("id") monitorResource.Add(jsonutils.NewString(typ), "res_type") + if monitorResource.Contains("metadata") { + metadata, _ := monitorResource.Get("metadata") + monitorResource.Add(metadata, "__meta__") + } return monitorResource }