本文整理汇总了Golang中github.com/skyrings/skyring-common/models.AppEvent.ClusterId方法的典型用法代码示例。如果您正苦于以下问题:Golang AppEvent.ClusterId方法的具体用法?Golang AppEvent.ClusterId怎么用?Golang AppEvent.ClusterId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/skyrings/skyring-common/models.AppEvent
的用法示例。
在下文中一共展示了AppEvent.ClusterId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: logAuditEvent
func logAuditEvent(
eventtype string,
message string,
description string,
entityId *uuid.UUID,
clusterId *uuid.UUID,
notificationEntity models.NotificationEntity,
taskId *uuid.UUID,
deletionAudit bool,
ctxt string) error {
var event models.AppEvent
eventId, err := uuid.New()
if err != nil {
logger.Get().Error("%s-Uuid generation for the event failed for event: %s. error: %v", ctxt, event.Name, err)
return err
}
event.EventId = *eventId
if entityId != nil {
event.EntityId = *entityId
}
if clusterId != nil {
event.ClusterId = *clusterId
}
event.NotificationEntity = notificationEntity
event.Timestamp = time.Now()
event.Notify = false
event.Name = eventtype
event.Message = message
event.Description = description
event.Severity = models.ALARM_STATUS_CLEARED
if taskId != nil {
event.Tags = map[string]string{
"Task Id": (*taskId).String(),
}
}
if err := common_event.AuditLog(ctxt, event, GetDbProvider()); err != nil {
logger.Get().Error("%s- Error logging the event: %s. Error:%v", ctxt, event.Name, err)
return err
}
if deletionAudit {
if err := common_event.DismissAllEventsForEntity(event.EntityId, event, ctxt); err != nil {
logger.Get().Error("%s-Error while dismissing events for entity: %v. Error: %v", ctxt, event.EntityId, err)
}
}
return nil
}
示例2: RouteEvent
func RouteEvent(event models.NodeEvent) {
reqId, err := uuid.New()
if err != nil {
logger.Get().Error("Error Creating the RequestId. error: %v", err)
return
}
ctxt := fmt.Sprintf("%v:%v", models.ENGINE_NAME, reqId.String())
var e models.AppEvent
e.Timestamp = event.Timestamp
e.Tags = event.Tags
e.Message = event.Message
eventId, err := uuid.New()
if err != nil {
logger.Get().Error("%s-Uuid generation for the event failed for node: %s. error: %v", ctxt, event.Node, err)
return
}
e.EventId = *eventId
// querying DB to get node ID and Cluster ID for the event
sessionCopy := db.GetDatastore().Copy()
defer sessionCopy.Close()
var node models.Node
coll := sessionCopy.DB(conf.SystemConfig.DBConfig.Database).C(models.COLL_NAME_STORAGE_NODES)
if err := coll.Find(bson.M{"hostname": event.Node}).One(&node); err != nil {
logger.Get().Error("%s-Node information read from DB failed for node: %s. error: %v", ctxt, event.Node, err)
return
}
// Push the event to DB only if the node is managed
if node.Hostname == "" || !node.Enabled {
return
}
e.ClusterId = node.ClusterId
e.NodeId = node.NodeId
e.NodeName = node.Hostname
// Invoking the event handler
for tag, handler := range handlermap {
if match, err := filepath.Match(tag, event.Tag); err == nil {
if match {
if e, err = handler.(func(models.AppEvent, string) (models.AppEvent, error))(e, ctxt); err != nil {
logger.Get().Error("%s-Event Handling Failed for event for node: %s. error: %v", ctxt, node.Hostname, err)
return
}
if e.Name == "" {
return
}
if err := common_event.AuditLog(ctxt, e, skyring.GetDbProvider()); err != nil {
logger.Get().Error("%s-Could not persist the event to DB for node: %s. error: %v", ctxt, node.Hostname, err)
return
} else {
// For upcoming any new event , broadcasting to all connected clients
eventObj, err := json.Marshal(e)
if err != nil {
logger.Get().Error("%s-Error marshalling the event data for node: %s. error: %v", ctxt, node.Hostname, err)
}
GetBroadcaster().chBroadcast <- string(eventObj)
return
}
}
} else {
logger.Get().Error("%s-Error while maping handler for event for node: %s. error: %v", ctxt, node.Hostname, err)
return
}
}
e.Name = event.Tag
app := skyring.GetApp()
if err := app.RouteProviderEvents(ctxt, e); err != nil {
logger.Get().Error("%s-Event:%s could not be handled for node: %s. error: %v", ctxt, event.Tag, node.Hostname, err)
}
return
}