mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
接口重构,与OpsLog.LogEvent 保持一致
This commit is contained in:
@@ -741,7 +741,7 @@ func (dispatcher *DBModelDispatcher) Create(ctx context.Context, query jsonutils
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
OpsLog.LogEvent(model, ACT_CREATE, model.GetShortDesc(), userCred)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_CREATE, "", model, "")
|
||||
logclient.AddActionLog(model, logclient.ACT_CREATE, "", userCred)
|
||||
dispatcher.modelManager.OnCreateComplete(ctx, []IModel{model}, userCred, query, data)
|
||||
return getItemDetails(dispatcher.modelManager, model, ctx, userCred, query)
|
||||
}
|
||||
@@ -960,13 +960,13 @@ func updateItem(manager IModelManager, item IModel, ctx context.Context, userCre
|
||||
|
||||
if err != nil {
|
||||
log.Errorf("validate update condition error: %s", err)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, "", item, err.Error())
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, err.Error(), userCred)
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
|
||||
dataDict, ok := data.(*jsonutils.JSONDict)
|
||||
if !ok {
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, "", item, "Invalid data JSONObject")
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, "Invalid data JSONObject", userCred)
|
||||
return nil, httperrors.NewInternalServerError("Invalid data JSONObject")
|
||||
}
|
||||
|
||||
@@ -974,7 +974,7 @@ func updateItem(manager IModelManager, item IModel, ctx context.Context, userCre
|
||||
if len(name) > 0 {
|
||||
err = alterNameValidator(item, name)
|
||||
if err != nil {
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, "", item, err.Error())
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, err.Error(), userCred)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -983,7 +983,7 @@ func updateItem(manager IModelManager, item IModel, ctx context.Context, userCre
|
||||
if err != nil {
|
||||
errMsg := fmt.Sprintf("validate update data error: %s", err)
|
||||
log.Errorf(errMsg)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, "", item, errMsg)
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, errMsg, userCred)
|
||||
return nil, httperrors.NewGeneralError(err)
|
||||
}
|
||||
item.PreUpdate(ctx, userCred, query, dataDict)
|
||||
@@ -993,7 +993,7 @@ func updateItem(manager IModelManager, item IModel, ctx context.Context, userCre
|
||||
err = filterData.Unmarshal(item)
|
||||
if err != nil {
|
||||
errMsg := fmt.Sprintf("unmarshal fail: %s", err)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, "", item, errMsg)
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, errMsg, userCred)
|
||||
log.Errorf(errMsg)
|
||||
return httperrors.NewGeneralError(err)
|
||||
}
|
||||
@@ -1008,10 +1008,10 @@ func updateItem(manager IModelManager, item IModel, ctx context.Context, userCre
|
||||
diffStr := sqlchemy.UpdateDiffString(diff)
|
||||
if len(diffStr) > 0 {
|
||||
OpsLog.LogEvent(item, ACT_UPDATE, diffStr, userCred)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, "", item, diffStr)
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, diffStr, userCred)
|
||||
}
|
||||
}
|
||||
logclient.AddActionLog(userCred, logclient.ACT_UPDATE, dataDict.String(), item, "")
|
||||
logclient.AddActionLog(item, logclient.ACT_UPDATE, "", userCred)
|
||||
return getItemDetails(manager, item, ctx, userCred, query)
|
||||
}
|
||||
|
||||
@@ -1040,11 +1040,11 @@ func DeleteModel(ctx context.Context, userCred mcclient.TokenCredential, item IM
|
||||
if err != nil {
|
||||
msg := fmt.Sprintf("save update error %s", err)
|
||||
log.Errorf(msg)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_DELETE, "", item, msg)
|
||||
logclient.AddActionLog(item, logclient.ACT_DELETE, msg, userCred)
|
||||
return httperrors.NewGeneralError(err)
|
||||
}
|
||||
OpsLog.LogEvent(item, ACT_DELETE, item.GetShortDesc(), userCred)
|
||||
logclient.AddActionLog(userCred, logclient.ACT_DELETE, "", item, "")
|
||||
logclient.AddActionLog(item, logclient.ACT_DELETE, "", userCred)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ func (model *SStatusStandaloneResourceBase) SetStatus(userCred mcclient.TokenCre
|
||||
}
|
||||
OpsLog.LogEvent(model, ACT_UPDATE_STATUS, notes, userCred)
|
||||
if strings.Contains(notes, "fail") {
|
||||
logclient.AddActionLog(userCred, logclient.ACT_VM_SYNC_STATUS, "", model, notes)
|
||||
logclient.AddActionLog(model, logclient.ACT_VM_SYNC_STATUS, notes, userCred)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
@@ -50,7 +50,7 @@ func (self *GuestCreateTask) OnDiskPreparedFailed(ctx context.Context, obj db.IS
|
||||
guest := obj.(*models.SGuest)
|
||||
guest.SetStatus(self.UserCred, models.VM_DISK_FAILED, "allocation failed")
|
||||
db.OpsLog.LogEvent(guest, db.ACT_ALLOCATE_FAIL, data, self.UserCred)
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_ALLOCATE, "", guest, data.String())
|
||||
logclient.AddActionLog(guest, logclient.ACT_ALLOCATE, data, self.UserCred)
|
||||
notifyclient.NotifySystemError(guest.Id, guest.Name, models.VM_DISK_FAILED, data.String())
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ func (self *GuestCreateTask) OnCdromPreparedFailed(ctx context.Context, obj db.I
|
||||
guest := obj.(*models.SGuest)
|
||||
guest.SetStatus(self.UserCred, models.VM_DISK_FAILED, "")
|
||||
db.OpsLog.LogEvent(guest, db.ACT_ALLOCATE_FAIL, data, self.UserCred)
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_ALLOCATE, "", guest, data.String())
|
||||
logclient.AddActionLog(guest, logclient.ACT_ALLOCATE, data, self.UserCred)
|
||||
notifyclient.NotifySystemError(guest.Id, guest.Name, models.VM_DISK_FAILED, fmt.Sprintf("cdrom_failed %s", data))
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ func (self *GuestCreateTask) OnDeployGuestDescCompleteFailed(ctx context.Context
|
||||
guest := obj.(*models.SGuest)
|
||||
guest.SetStatus(self.UserCred, models.VM_DEPLOY_FAILED, "deploy_failed")
|
||||
db.OpsLog.LogEvent(guest, db.ACT_ALLOCATE_FAIL, data, self.UserCred)
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_ALLOCATE, "", guest, data.String())
|
||||
logclient.AddActionLog(guest, logclient.ACT_ALLOCATE, data, self.UserCred)
|
||||
notifyclient.NotifySystemError(guest.Id, guest.Name, models.VM_DEPLOY_FAILED, data.String())
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ func (self *GuestDeleteTask) OnGuestDeleteCompleteFailed(ctx context.Context, ob
|
||||
guest := obj.(*models.SGuest)
|
||||
guest.SetStatus(self.UserCred, models.VM_DELETE_FAIL, err.String())
|
||||
db.OpsLog.LogEvent(guest, db.ACT_DELOCATE_FAIL, err, self.UserCred)
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_DELETE, "", guest, err.String())
|
||||
logclient.AddActionLog(guest, logclient.ACT_DELETE, err, self.UserCred)
|
||||
}
|
||||
|
||||
func (self *GuestDeleteTask) OnGuestDeleteComplete(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
|
||||
@@ -105,7 +105,7 @@ func (self *GuestDeleteTask) DeleteGuest(ctx context.Context, guest *models.SGue
|
||||
guest.RealDelete(ctx, self.UserCred)
|
||||
guest.RemoveAllMetadata(ctx, self.UserCred)
|
||||
db.OpsLog.LogEvent(guest, db.ACT_DELOCATE, nil, self.UserCred)
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_DELETE, "", guest, "")
|
||||
logclient.AddActionLog(guest, logclient.ACT_DELETE, "", self.UserCred)
|
||||
if !guest.IsSystem && !guest.PendingDeleted {
|
||||
self.NotifyServerDeleted(ctx, guest)
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ func (self *GuestRebuildRootTask) StartRebuildRootDisk(ctx context.Context, gues
|
||||
})
|
||||
if err != nil {
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, err, self.UserCred)
|
||||
return
|
||||
} else {
|
||||
db.OpsLog.LogEvent(gds.Root, db.ACT_UPDATE_STATUS,
|
||||
@@ -66,19 +66,19 @@ func (self *GuestRebuildRootTask) OnRebuildRootDiskComplete(ctx context.Context,
|
||||
imginfo, err := models.CachedimageManager.GetImageById(ctx, self.UserCred, imgId, false)
|
||||
if err != nil {
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, err, self.UserCred)
|
||||
return
|
||||
}
|
||||
osprof, err := osprofile.GetOSProfileFromImageProperties(imginfo.Properties, guest.Hypervisor)
|
||||
if err != nil {
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, err, self.UserCred)
|
||||
return
|
||||
}
|
||||
err = guest.SetMetadata(ctx, "__os_profile__", osprof, self.UserCred)
|
||||
if err != nil {
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, err, self.UserCred)
|
||||
return
|
||||
}
|
||||
if guest.OsType != osprof.OSType {
|
||||
@@ -88,7 +88,7 @@ func (self *GuestRebuildRootTask) OnRebuildRootDiskComplete(ctx context.Context,
|
||||
})
|
||||
if err != nil {
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, err, self.UserCred)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -99,9 +99,9 @@ func (self *GuestRebuildRootTask) OnRebuildRootDiskComplete(ctx context.Context,
|
||||
}
|
||||
|
||||
func (self *GuestRebuildRootTask) OnRebuildRootDiskCompleteFailed(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {
|
||||
db.OpsLog.LogEvent(guest, db.ACT_REBUILD_ROOT_FAIL, data.String(), self.UserCred)
|
||||
db.OpsLog.LogEvent(guest, db.ACT_REBUILD_ROOT_FAIL, data, self.UserCred)
|
||||
guest.SetStatus(self.UserCred, models.VM_REBUILD_ROOT_FAIL, "")
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, data.String())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, data, self.UserCred)
|
||||
}
|
||||
|
||||
func (self *GuestRebuildRootTask) OnSyncStatusComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {
|
||||
@@ -111,7 +111,7 @@ func (self *GuestRebuildRootTask) OnSyncStatusComplete(ctx context.Context, gues
|
||||
} else {
|
||||
self.SetStageComplete(ctx, nil)
|
||||
}
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, "")
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, "", self.UserCred)
|
||||
}
|
||||
|
||||
func (self *GuestRebuildRootTask) OnGuestStartComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {
|
||||
@@ -143,7 +143,7 @@ func (self *KVMGuestRebuildRootTask) OnRebuildRootDiskComplete(ctx context.Conte
|
||||
|
||||
func (self *KVMGuestRebuildRootTask) OnRebuildRootDiskCompleteFailed(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {
|
||||
self.SetStageFailed(ctx, data.String())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_REBUILD, "", guest, data.String())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_REBUILD, data, self.UserCred)
|
||||
}
|
||||
|
||||
func (self *KVMGuestRebuildRootTask) OnGuestDeployComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {
|
||||
|
||||
@@ -59,7 +59,7 @@ func (self *GuestStartTask) OnStartComplete(ctx context.Context, obj db.IStandal
|
||||
db.OpsLog.LogEvent(guest, db.ACT_START, guest.GetShortDesc(), self.UserCred)
|
||||
self.SetStage("on_guest_syncstatus_after_start", nil)
|
||||
guest.StartSyncstatus(ctx, self.UserCred, self.GetTaskId())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_START, "", guest, "")
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_START, "", self.UserCred)
|
||||
// self.taskComplete(ctx, guest)
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ func (self *GuestStartTask) OnStartCompleteFailed(ctx context.Context, obj db.IS
|
||||
func (self *GuestStartTask) onStartGuestFailed(ctx context.Context, guest *models.SGuest, err error) {
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
self.OnStartCompleteFailed(ctx, guest, jsonutils.NewString(err.Error()))
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_START, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_START, err, self.UserCred)
|
||||
}
|
||||
|
||||
func (self *GuestStartTask) taskComplete(ctx context.Context, guest *models.SGuest) {
|
||||
|
||||
@@ -58,12 +58,12 @@ func (self *GuestStopTask) OnGuestStopTaskComplete(ctx context.Context, obj db.I
|
||||
if guest.Status == models.VM_READY && guest.DisableDelete.IsFalse() && guest.ShutdownBehavior == models.SHUTDOWN_TERMINATE {
|
||||
guest.StartAutoDeleteGuestTask(ctx, self.UserCred, "")
|
||||
}
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_STOP, "", guest, "")
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_STOP, "", self.UserCred)
|
||||
}
|
||||
|
||||
func (self *GuestStopTask) OnStopGuestFail(ctx context.Context, guest *models.SGuest, err error) {
|
||||
guest.SetStatus(self.UserCred, models.VM_STOP_FAILED, err.Error())
|
||||
db.OpsLog.LogEvent(guest, db.ACT_STOP_FAIL, err.Error(), self.UserCred)
|
||||
self.SetStageFailed(ctx, err.Error())
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_STOP, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_STOP, err, self.UserCred)
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package tasks
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/log"
|
||||
@@ -55,14 +54,11 @@ func (self *GuestSyncstatusTask) OnGetStatusSucc(ctx context.Context, guest *mod
|
||||
statusData.Add(jsonutils.NewString(statusStr), "status")
|
||||
guest.PerformStatus(ctx, self.UserCred, nil, statusData)
|
||||
self.SetStageComplete(ctx, nil)
|
||||
fmt.Println(" \n*\n*\n*\n*\n*\n*\n*\n*\n*\n*\n*\\n*n* * * * * * * * * * * * * ")
|
||||
fmt.Println("* * * * * * * * * * * * * server obj:", guest)
|
||||
fmt.Println(" \n*\n*\n*\n*\n*\n*\n*\n*\n*\n*\n*\\n*n* * * * * * * * * * * * * ")
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_SYNC_STATUS, "", guest, "")
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_SYNC_STATUS, "", self.UserCred)
|
||||
}
|
||||
|
||||
func (self *GuestSyncstatusTask) OnGetStatusFail(ctx context.Context, guest *models.SGuest, err error) {
|
||||
guest.SetStatus(self.UserCred, models.VM_UNKNOWN, err.Error())
|
||||
self.SetStageComplete(ctx, nil)
|
||||
logclient.AddActionLog(self.UserCred, logclient.ACT_VM_SYNC_STATUS, "", guest, err.Error())
|
||||
logclient.AddActionLog(guest, logclient.ACT_VM_SYNC_STATUS, err, self.UserCred)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/onecloud/pkg/mcclient/auth"
|
||||
"yunion.io/x/onecloud/pkg/mcclient/modules"
|
||||
"yunion.io/x/pkg/util/stringutils"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -53,34 +54,35 @@ type IObject interface {
|
||||
Keyword() string
|
||||
}
|
||||
|
||||
func AddActionLog(userCred mcclient.TokenCredential, action, notes string, obj IObject, e string) {
|
||||
func AddActionLog(model IObject, action string, iErr interface{}, userCred mcclient.TokenCredential) {
|
||||
// (model IModel, action string, notes interface{}, userCred mcclient.TokenCredential
|
||||
//func AddActionLog(userCred mcclient.TokenCredential, action, notes string, obj IObject, e string) { // originalk
|
||||
|
||||
token := userCred
|
||||
notes := stringutils.Interface2String(iErr)
|
||||
|
||||
s := auth.GetSession(userCred, "", "")
|
||||
|
||||
logentry := jsonutils.NewDict()
|
||||
logentry.Add(jsonutils.NewString(obj.GetName()), "obj_name")
|
||||
logentry.Add(jsonutils.NewString(obj.Keyword()), "obj_type")
|
||||
logentry.Add(jsonutils.NewString(obj.GetId()), "obj_id")
|
||||
logentry.Add(jsonutils.NewString(model.GetName()), "obj_name")
|
||||
logentry.Add(jsonutils.NewString(model.Keyword()), "obj_type")
|
||||
logentry.Add(jsonutils.NewString(model.GetId()), "obj_id")
|
||||
logentry.Add(jsonutils.NewString(action), "action")
|
||||
logentry.Add(jsonutils.NewString(token.GetUserId()), "user_id")
|
||||
logentry.Add(jsonutils.NewString(token.GetUserName()), "user")
|
||||
logentry.Add(jsonutils.NewString(token.GetTenantId()), "tenant_id")
|
||||
logentry.Add(jsonutils.NewString(token.GetTenantName()), "tenant")
|
||||
|
||||
// TODO delete following line later
|
||||
notes = "[a2]" + notes
|
||||
|
||||
s := auth.GetSession(userCred, "", "")
|
||||
|
||||
if len(e) > 0 {
|
||||
if len(notes) > 0 {
|
||||
// 失败日志
|
||||
logentry.Add(jsonutils.JSONFalse, "success")
|
||||
notes = fmt.Sprintf("%s%s", notes, e)
|
||||
logentry.Add(jsonutils.NewString(notes), "notes")
|
||||
} else {
|
||||
// 成功日志
|
||||
logentry.Add(jsonutils.JSONTrue, "success")
|
||||
logentry.Add(jsonutils.NewString(notes), "notes")
|
||||
}
|
||||
// TODO delete tag when done.
|
||||
notes = fmt.Sprintf("[a2]%s", notes)
|
||||
logentry.Add(jsonutils.NewString(notes), "notes")
|
||||
|
||||
_, err := modules.Actions.Create(s, logentry)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user