Merge pull request #759 in YUNIONIO/onecloud from ~QIUJIAN/onecloud:hotfix/qj-get-short-desc-ctx to release/2.4.0

* commit '739ef05c86bdf37c64079c899f22b97e4610bc6f':
  minor fixes
  1. GetShortDesc()改为GetShortDesc(ctx context.Context) 2. VirtualResource的GetShortDesc()中增加owner_tenant_id和owner_tenant两个字段
This commit is contained in:
邱剑
2018-12-14 15:18:19 +08:00
42 changed files with 169 additions and 153 deletions
+4 -4
View File
@@ -861,7 +861,7 @@ func (dispatcher *DBModelDispatcher) Create(ctx context.Context, query jsonutils
log.Errorf("fail to doCreateItem %s", err)
return nil, httperrors.NewGeneralError(err)
}
OpsLog.LogEvent(model, ACT_CREATE, model.GetShortDesc(), userCred)
OpsLog.LogEvent(model, ACT_CREATE, model.GetShortDesc(ctx), userCred)
logclient.AddActionLog(model, logclient.ACT_CREATE, "", userCred, true)
dispatcher.modelManager.OnCreateComplete(ctx, []IModel{model}, userCred, query, data)
return getItemDetails(dispatcher.modelManager, model, ctx, userCred, query)
@@ -1210,8 +1210,8 @@ func DeleteModel(ctx context.Context, userCred mcclient.TokenCredential, item IM
logclient.AddActionLog(item, logclient.ACT_DELETE, msg, userCred, false)
return httperrors.NewGeneralError(err)
}
OpsLog.LogEvent(item, ACT_DELETE, item.GetShortDesc(), userCred)
logclient.AddActionLog(item, logclient.ACT_DELETE, item.GetShortDesc(), userCred, true)
OpsLog.LogEvent(item, ACT_DELETE, item.GetShortDesc(ctx), userCred)
logclient.AddActionLog(item, logclient.ACT_DELETE, item.GetShortDesc(ctx), userCred, true)
return nil
}
@@ -1271,7 +1271,7 @@ func (dispatcher *DBModelDispatcher) Delete(ctx context.Context, idstr string, q
} else if err != nil {
return nil, httperrors.NewGeneralError(err)
}
log.Debugf("Delete %s", model.GetShortDesc())
// log.Debugf("Delete %s", model.GetShortDesc(ctx))
lockman.LockObject(ctx, model)
defer lockman.ReleaseObject(ctx, model)
+3 -3
View File
@@ -174,7 +174,7 @@ func attachItems(dispatcher *DBJointModelDispatcher, master IStandaloneModel, sl
if err != nil {
return nil, httperrors.NewGeneralError(err)
}
OpsLog.LogAttachEvent(master, slave, userCred, jsonutils.Marshal(item))
OpsLog.LogAttachEvent(ctx, master, slave, userCred, jsonutils.Marshal(item))
dispatcher.modelManager.OnCreateComplete(ctx, []IModel{item}, userCred, query, data)
return getItemDetails(dispatcher.JointModelManager(), item, ctx, userCred, query)
}
@@ -238,7 +238,7 @@ func (dispatcher *DBJointModelDispatcher) Detach(ctx context.Context, id1 string
defer lockman.ReleaseJointObject(ctx, master, slave)
obj, err := deleteItem(dispatcher.JointModelManager(), item, ctx, userCred, query, data)
if err == nil {
OpsLog.LogDetachEvent(item.Master(), item.Slave(), userCred, jsonutils.Marshal(item))
OpsLog.LogDetachEvent(ctx, item.Master(), item.Slave(), userCred, jsonutils.Marshal(item))
}
return obj, err
}
@@ -250,7 +250,7 @@ func DetachJoint(ctx context.Context, userCred mcclient.TokenCredential, item IJ
}
err = item.Delete(ctx, userCred)
if err == nil {
OpsLog.LogDetachEvent(item.Master(), item.Slave(), userCred, item.GetShortDesc())
OpsLog.LogDetachEvent(ctx, item.Master(), item.Slave(), userCred, item.GetShortDesc(ctx))
}
return err
}
+1 -1
View File
@@ -75,7 +75,7 @@ type IModel interface {
GetModelManager() IModelManager
SetModelManager(IModelManager)
GetShortDesc() *jsonutils.JSONDict
GetShortDesc(ctx context.Context) *jsonutils.JSONDict
// list hooks
GetCustomizeColumns(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) *jsonutils.JSONDict
+1 -1
View File
@@ -194,7 +194,7 @@ func (model *SModelBase) GetModelManager() IModelManager {
return model.manager
}
func (model *SModelBase) GetShortDesc() *jsonutils.JSONDict {
func (model *SModelBase) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := jsonutils.NewDict()
desc.Add(jsonutils.NewString(model.Keyword()), "res_name")
return desc
+11 -11
View File
@@ -242,8 +242,8 @@ func (manager *SOpsLogManager) LogEvent(model IModel, action string, notes inter
}
}
func combineNotes(m2 IModel, notes jsonutils.JSONObject) *jsonutils.JSONDict {
desc := m2.GetShortDesc()
func combineNotes(ctx context.Context, m2 IModel, notes jsonutils.JSONObject) *jsonutils.JSONDict {
desc := m2.GetShortDesc(ctx)
if notes != nil {
if notesDict, ok := notes.(*jsonutils.JSONDict); ok {
notesMap, _ := notesDict.GetMap()
@@ -266,22 +266,22 @@ func combineNotes(m2 IModel, notes jsonutils.JSONObject) *jsonutils.JSONDict {
return desc
}
func (manager *SOpsLogManager) logOneJointEvent(m1, m2 IModel, event string, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
nn := combineNotes(m2, notes)
func (manager *SOpsLogManager) logOneJointEvent(ctx context.Context, m1, m2 IModel, event string, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
nn := combineNotes(ctx, m2, notes)
manager.LogEvent(m1, event, nn, userCred)
}
func (manager *SOpsLogManager) logJoinEvent(m1, m2 IModel, event string, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
manager.logOneJointEvent(m1, m2, event, userCred, notes)
manager.logOneJointEvent(m2, m1, event, userCred, notes)
func (manager *SOpsLogManager) logJoinEvent(ctx context.Context, m1, m2 IModel, event string, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
manager.logOneJointEvent(ctx, m1, m2, event, userCred, notes)
manager.logOneJointEvent(ctx, m2, m1, event, userCred, notes)
}
func (manager *SOpsLogManager) LogAttachEvent(m1, m2 IModel, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
manager.logJoinEvent(m1, m2, ACT_ATTACH, userCred, notes)
func (manager *SOpsLogManager) LogAttachEvent(ctx context.Context, m1, m2 IModel, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
manager.logJoinEvent(ctx, m1, m2, ACT_ATTACH, userCred, notes)
}
func (manager *SOpsLogManager) LogDetachEvent(m1, m2 IModel, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
manager.logJoinEvent(m1, m2, ACT_DETACH, userCred, notes)
func (manager *SOpsLogManager) LogDetachEvent(ctx context.Context, m1, m2 IModel, userCred mcclient.TokenCredential, notes jsonutils.JSONObject) {
manager.logJoinEvent(ctx, m1, m2, ACT_DETACH, userCred, notes)
}
func (manager *SOpsLogManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (*sqlchemy.SQuery, error) {
+2 -2
View File
@@ -127,8 +127,8 @@ func (model *SStandaloneResourceBase) GetName() string {
return model.Name
}
func (model *SStandaloneResourceBase) GetShortDesc() *jsonutils.JSONDict {
desc := model.SResourceBase.GetShortDesc()
func (model *SStandaloneResourceBase) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := model.SResourceBase.GetShortDesc(ctx)
desc.Add(jsonutils.NewString(model.GetName()), "name")
desc.Add(jsonutils.NewString(model.GetId()), "id")
return desc
+10
View File
@@ -300,3 +300,13 @@ func (model *SVirtualResourceBase) CancelPendingDelete(ctx context.Context, user
})
return err
}
func (model *SVirtualResourceBase) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := model.SStatusStandaloneResourceBase.GetShortDesc(ctx)
desc.Add(jsonutils.NewString(model.ProjectId), "owner_tenant_id")
tc, _ := TenantCacheManager.FetchTenantById(ctx, model.ProjectId)
if tc != nil {
desc.Add(jsonutils.NewString(tc.GetName()), "owner_tenant")
}
return desc
}
+1 -1
View File
@@ -340,7 +340,7 @@ func (self *SBaremetalGuestDriver) OnGuestDeployTaskDataReceived(ctx context.Con
}
db.OpsLog.LogEvent(disk, db.ACT_UPDATE_STATUS, notes, task.GetUserCred())
logclient.AddActionLog(disk, logclient.ACT_VM_SYNC_STATUS, nil, task.GetUserCred(), false)
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(), task.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(ctx), task.GetUserCred())
if disks[i].Contains("dev") {
dev, _ := disks[i].GetString("dev")
disk.SetMetadata(ctx, "dev", dev, task.GetUserCred())
+1 -1
View File
@@ -61,7 +61,7 @@ func (self *SBaseGuestDriver) OnGuestCreateTaskComplete(ctx context.Context, gue
if len(duration) > 0 {
bc, err := billing.ParseBillingCycle(duration)
if err == nil && guest.ExpiredAt.IsZero() {
guest.SaveRenewInfo(task.GetUserCred(), &bc, nil)
guest.SaveRenewInfo(ctx, task.GetUserCred(), &bc, nil)
}
}
if jsonutils.QueryBoolean(task.GetParams(), "auto_start", false) {
+2 -2
View File
@@ -405,7 +405,7 @@ func (self *SManagedVirtualizedGuestDriver) OnGuestDeployTaskDataReceived(ctx co
log.Errorf(msg)
break
}
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(), task.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(ctx), task.GetUserCred())
guestdisk := guest.GetGuestDisk(disk.Id)
_, err = guestdisk.GetModelManager().TableSpec().Update(guestdisk, func() error {
guestdisk.Driver = diskInfo[i].Driver
@@ -439,7 +439,7 @@ func (self *SManagedVirtualizedGuestDriver) OnGuestDeployTaskDataReceived(ctx co
exp, err := data.GetTime("expired_at")
if err == nil && !guest.IsPrepaidRecycle() {
guest.SaveRenewInfo(task.GetUserCred(), nil, &exp)
guest.SaveRenewInfo(ctx, task.GetUserCred(), nil, &exp)
}
guest.SaveDeployInfo(ctx, task.GetUserCred(), data)
+5 -5
View File
@@ -1012,7 +1012,7 @@ func (manager *SDiskManager) newFromCloudDisk(ctx context.Context, userCred mccl
}
}
db.OpsLog.LogEvent(&disk, db.ACT_SYNC_CLOUD_DISK, disk.GetShortDesc(), userCred)
db.OpsLog.LogEvent(&disk, db.ACT_SYNC_CLOUD_DISK, disk.GetShortDesc(ctx), userCred)
return &disk, nil
}
@@ -1415,8 +1415,8 @@ func (self *SDisk) ClearHostSchedCache() error {
return nil
}
func (self *SDisk) GetShortDesc() *jsonutils.JSONDict {
desc := self.SSharableVirtualResourceBase.GetShortDesc()
func (self *SDisk) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.SSharableVirtualResourceBase.GetShortDesc(ctx)
desc.Add(jsonutils.NewInt(int64(self.DiskSize)), "size")
storage := self.GetStorage()
if storage != nil {
@@ -1562,7 +1562,7 @@ func (disk *SDisk) StratCreateBackupTask(ctx context.Context, userCred mcclient.
return nil
}
func (self *SDisk) SaveRenewInfo(userCred mcclient.TokenCredential, bc *billing.SBillingCycle, expireAt *time.Time) error {
func (self *SDisk) SaveRenewInfo(ctx context.Context, userCred mcclient.TokenCredential, bc *billing.SBillingCycle, expireAt *time.Time) error {
_, err := self.GetModelManager().TableSpec().Update(self, func() error {
if self.BillingType != BILLING_TYPE_PREPAID {
self.BillingType = BILLING_TYPE_PREPAID
@@ -1579,6 +1579,6 @@ func (self *SDisk) SaveRenewInfo(userCred mcclient.TokenCredential, bc *billing.
log.Errorf("Update error %s", err)
return err
}
db.OpsLog.LogEvent(self, db.ACT_RENEW, self.GetShortDesc(), userCred)
db.OpsLog.LogEvent(self, db.ACT_RENEW, self.GetShortDesc(ctx), userCred)
return nil
}
+15 -15
View File
@@ -161,8 +161,8 @@ func (self *SElasticip) GetRegion() *SCloudregion {
return CloudregionManager.FetchRegionById(self.CloudregionId)
}
func (self *SElasticip) GetShortDesc() *jsonutils.JSONDict {
desc := self.SVirtualResourceBase.GetShortDesc()
func (self *SElasticip) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.SVirtualResourceBase.GetShortDesc(ctx)
desc.Add(jsonutils.NewString(self.ChargeType), "charge_type")
@@ -228,7 +228,7 @@ func (manager *SElasticipManager) SyncEips(ctx context.Context, userCred mcclien
}
}
for i := 0; i < len(added); i += 1 {
_, err := manager.newFromCloudEip(userCred, added[i], region, projectId)
_, err := manager.newFromCloudEip(ctx, userCred, added[i], region, projectId)
if err != nil {
syncResult.AddError(err)
} else {
@@ -264,7 +264,7 @@ func (self *SElasticip) SyncInstanceWithCloudEip(ctx context.Context, userCred m
log.Errorf("fail to find vm by external ID %s", vmExtId)
return err
}
err = self.AssociateVM(userCred, newVM.(*SGuest))
err = self.AssociateVM(ctx, userCred, newVM.(*SGuest))
if err != nil {
log.Errorf("fail to associate with new vm %s", err)
return err
@@ -299,7 +299,7 @@ func (self *SElasticip) SyncWithCloudEip(userCred mcclient.TokenCredential, ext
return err
}
func (manager *SElasticipManager) newFromCloudEip(userCred mcclient.TokenCredential, extEip cloudprovider.ICloudEIP, region *SCloudregion, projectId string) (*SElasticip, error) {
func (manager *SElasticipManager) newFromCloudEip(ctx context.Context, userCred mcclient.TokenCredential, extEip cloudprovider.ICloudEIP, region *SCloudregion, projectId string) (*SElasticip, error) {
eip := SElasticip{}
eip.SetModelManager(manager)
@@ -324,7 +324,7 @@ func (manager *SElasticipManager) newFromCloudEip(userCred mcclient.TokenCredent
return nil, err
}
db.OpsLog.LogEvent(&eip, db.ACT_SYNC_CLOUD_EIP, eip.GetShortDesc(), userCred)
db.OpsLog.LogEvent(&eip, db.ACT_SYNC_CLOUD_EIP, eip.GetShortDesc(ctx), userCred)
return &eip, nil
}
@@ -375,9 +375,9 @@ func (self *SElasticip) Dissociate(ctx context.Context, userCred mcclient.TokenC
return err
}
if vm != nil {
db.OpsLog.LogDetachEvent(vm, self, userCred, self.GetShortDesc())
db.OpsLog.LogEvent(self, db.ACT_EIP_DETACH, vm.GetShortDesc(), userCred)
db.OpsLog.LogEvent(vm, db.ACT_EIP_DETACH, self.GetShortDesc(), userCred)
db.OpsLog.LogDetachEvent(ctx, vm, self, userCred, self.GetShortDesc(ctx))
db.OpsLog.LogEvent(self, db.ACT_EIP_DETACH, vm.GetShortDesc(ctx), userCred)
db.OpsLog.LogEvent(vm, db.ACT_EIP_DETACH, self.GetShortDesc(ctx), userCred)
}
if self.Mode == EIP_MODE_INSTANCE_PUBLICIP {
self.Delete(ctx, userCred)
@@ -385,7 +385,7 @@ func (self *SElasticip) Dissociate(ctx context.Context, userCred mcclient.TokenC
return nil
}
func (self *SElasticip) AssociateVM(userCred mcclient.TokenCredential, vm *SGuest) error {
func (self *SElasticip) AssociateVM(ctx context.Context, userCred mcclient.TokenCredential, vm *SGuest) error {
if len(self.AssociateType) > 0 {
return fmt.Errorf("EIP has been associated!!")
}
@@ -398,14 +398,14 @@ func (self *SElasticip) AssociateVM(userCred mcclient.TokenCredential, vm *SGues
return err
}
db.OpsLog.LogAttachEvent(vm, self, userCred, self.GetShortDesc())
db.OpsLog.LogEvent(self, db.ACT_EIP_ATTACH, vm.GetShortDesc(), userCred)
db.OpsLog.LogEvent(vm, db.ACT_EIP_ATTACH, self.GetShortDesc(), userCred)
db.OpsLog.LogAttachEvent(ctx, vm, self, userCred, self.GetShortDesc(ctx))
db.OpsLog.LogEvent(self, db.ACT_EIP_ATTACH, vm.GetShortDesc(ctx), userCred)
db.OpsLog.LogEvent(vm, db.ACT_EIP_ATTACH, self.GetShortDesc(ctx), userCred)
return nil
}
func (manager *SElasticipManager) getEipByExtEip(userCred mcclient.TokenCredential, extEip cloudprovider.ICloudEIP, region *SCloudregion, projectId string) (*SElasticip, error) {
func (manager *SElasticipManager) getEipByExtEip(ctx context.Context, userCred mcclient.TokenCredential, extEip cloudprovider.ICloudEIP, region *SCloudregion, projectId string) (*SElasticip, error) {
eipObj, err := manager.FetchByExternalId(extEip.GetGlobalId())
if err == nil {
return eipObj.(*SElasticip), nil
@@ -415,7 +415,7 @@ func (manager *SElasticipManager) getEipByExtEip(userCred mcclient.TokenCredenti
return nil, err
}
return manager.newFromCloudEip(userCred, extEip, region, projectId)
return manager.newFromCloudEip(ctx, userCred, extEip, region, projectId)
}
func (manager *SElasticipManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerProjId string, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) {
+9 -9
View File
@@ -1066,11 +1066,11 @@ func (self *SGuest) PerformDetachIsolatedDevice(ctx context.Context, userCred mc
host := self.GetHost()
lockman.LockObject(ctx, host)
defer lockman.ReleaseObject(ctx, host)
err = self.detachIsolateDevice(userCred, dev)
err = self.detachIsolateDevice(ctx, userCred, dev)
return nil, err
}
func (self *SGuest) detachIsolateDevice(userCred mcclient.TokenCredential, dev *SIsolatedDevice) error {
func (self *SGuest) detachIsolateDevice(ctx context.Context, userCred mcclient.TokenCredential, dev *SIsolatedDevice) error {
if dev.GuestId != self.Id {
msg := "Isolated device is not attached to this guest"
logclient.AddActionLog(self, logclient.ACT_GUEST_DETACH_ISOLATED_DEVICE, msg, userCred, false)
@@ -1083,7 +1083,7 @@ func (self *SGuest) detachIsolateDevice(userCred mcclient.TokenCredential, dev *
if err != nil {
return err
}
db.OpsLog.LogEvent(self, db.ACT_GUEST_DETACH_ISOLATED_DEVICE, dev.GetShortDesc(), userCred)
db.OpsLog.LogEvent(self, db.ACT_GUEST_DETACH_ISOLATED_DEVICE, dev.GetShortDesc(ctx), userCred)
return nil
}
@@ -1116,7 +1116,7 @@ func (self *SGuest) PerformAttachIsolatedDevice(ctx context.Context, userCred mc
host := self.GetHost()
lockman.LockObject(ctx, host)
defer lockman.ReleaseObject(ctx, host)
err = self.attachIsolatedDevice(userCred, dev)
err = self.attachIsolatedDevice(ctx, userCred, dev)
var msg string
if err != nil {
msg = err.Error()
@@ -2096,8 +2096,8 @@ func (self *SGuest) startGuestRenewTask(ctx context.Context, userCred mcclient.T
return nil
}
func (self *SGuest) SaveRenewInfo(userCred mcclient.TokenCredential, bc *billing.SBillingCycle, expireAt *time.Time) error {
err := self.doSaveRenewInfo(userCred, bc, expireAt)
func (self *SGuest) SaveRenewInfo(ctx context.Context, userCred mcclient.TokenCredential, bc *billing.SBillingCycle, expireAt *time.Time) error {
err := self.doSaveRenewInfo(ctx, userCred, bc, expireAt)
if err != nil {
return err
}
@@ -2105,7 +2105,7 @@ func (self *SGuest) SaveRenewInfo(userCred mcclient.TokenCredential, bc *billing
for i := 0; i < len(guestdisks); i += 1 {
disk := guestdisks[i].GetDisk()
if disk.BillingType == BILLING_TYPE_PREPAID {
err = disk.SaveRenewInfo(userCred, bc, expireAt)
err = disk.SaveRenewInfo(ctx, userCred, bc, expireAt)
if err != nil {
return err
}
@@ -2114,7 +2114,7 @@ func (self *SGuest) SaveRenewInfo(userCred mcclient.TokenCredential, bc *billing
return nil
}
func (self *SGuest) doSaveRenewInfo(userCred mcclient.TokenCredential, bc *billing.SBillingCycle, expireAt *time.Time) error {
func (self *SGuest) doSaveRenewInfo(ctx context.Context, userCred mcclient.TokenCredential, bc *billing.SBillingCycle, expireAt *time.Time) error {
_, err := self.GetModelManager().TableSpec().Update(self, func() error {
if self.BillingType != BILLING_TYPE_PREPAID {
self.BillingType = BILLING_TYPE_PREPAID
@@ -2131,7 +2131,7 @@ func (self *SGuest) doSaveRenewInfo(userCred mcclient.TokenCredential, bc *billi
log.Errorf("Update error %s", err)
return err
}
db.OpsLog.LogEvent(self, db.ACT_RENEW, self.GetShortDesc(), userCred)
db.OpsLog.LogEvent(self, db.ACT_RENEW, self.GetShortDesc(ctx), userCred)
return nil
}
+3 -3
View File
@@ -337,7 +337,7 @@ func (manager *SGuestnetworkManager) DeleteGuestNics(ctx context.Context, guest
if err != nil {
log.Errorf("%s", err)
}
gn.LogDetachEvent(userCred, guest, net)
gn.LogDetachEvent(ctx, userCred, guest, net)
if reserve && regutils.MatchIP4Addr(gn.IpAddr) {
ReservedipManager.ReserveIP(userCred, net, gn.IpAddr, "Delete to reserve")
}
@@ -361,12 +361,12 @@ func (manager *SGuestnetworkManager) getGuestNicByIP(ip string, networkId string
return &gn, nil
}
func (self *SGuestnetwork) LogDetachEvent(userCred mcclient.TokenCredential, guest *SGuest, network *SNetwork) {
func (self *SGuestnetwork) LogDetachEvent(ctx context.Context, userCred mcclient.TokenCredential, guest *SGuest, network *SNetwork) {
if network == nil {
netTmp, _ := NetworkManager.FetchById(self.NetworkId)
network = netTmp.(*SNetwork)
}
db.OpsLog.LogDetachEvent(guest, network, userCred, nil)
db.OpsLog.LogDetachEvent(ctx, guest, network, userCred, nil)
}
func (self *SGuestnetwork) Delete(ctx context.Context, userCred mcclient.TokenCredential) error {
+19 -19
View File
@@ -1852,7 +1852,7 @@ func (manager *SGuestManager) newCloudVM(ctx context.Context, userCred mcclient.
}
}
db.OpsLog.LogEvent(&guest, db.ACT_SYNC_CLOUD_SERVER, guest.GetShortDesc(), userCred)
db.OpsLog.LogEvent(&guest, db.ACT_SYNC_CLOUD_SERVER, guest.GetShortDesc(ctx), userCred)
return &guest, nil
}
@@ -1953,7 +1953,7 @@ func (self *SGuest) Attach2Network(ctx context.Context, userCred mcclient.TokenC
address = guestnic.IpAddr
}
notes.Add(jsonutils.NewString(address), "ip_addr")
db.OpsLog.LogAttachEvent(self, network, userCred, notes)
db.OpsLog.LogAttachEvent(ctx, self, network, userCred, notes)
return nil
}
@@ -2090,11 +2090,11 @@ func (self *SGuest) getMaxDiskIndex() int8 {
return int8(len(guestdisks))
}
func (self *SGuest) AttachDisk(disk *SDisk, userCred mcclient.TokenCredential, driver string, cache string, mountpoint string) error {
return self.attach2Disk(disk, userCred, driver, cache, mountpoint)
func (self *SGuest) AttachDisk(ctx context.Context, disk *SDisk, userCred mcclient.TokenCredential, driver string, cache string, mountpoint string) error {
return self.attach2Disk(ctx, disk, userCred, driver, cache, mountpoint)
}
func (self *SGuest) attach2Disk(disk *SDisk, userCred mcclient.TokenCredential, driver string, cache string, mountpoint string) error {
func (self *SGuest) attach2Disk(ctx context.Context, disk *SDisk, userCred mcclient.TokenCredential, driver string, cache string, mountpoint string) error {
if self.isAttach2Disk(disk) {
return fmt.Errorf("Guest has been attached to disk")
}
@@ -2111,7 +2111,7 @@ func (self *SGuest) attach2Disk(disk *SDisk, userCred mcclient.TokenCredential,
guestdisk.Index = index
err := guestdisk.DoSave(driver, cache, mountpoint)
if err == nil {
db.OpsLog.LogAttachEvent(self, disk, userCred, nil)
db.OpsLog.LogAttachEvent(ctx, self, disk, userCred, nil)
}
return err
}
@@ -2179,7 +2179,7 @@ func (self *SGuest) SyncVMDisks(ctx context.Context, userCred mcclient.TokenCred
}
for i := 0; i < len(needAdds); i += 1 {
vdisk := needAdds[i].vdisk
err := self.attach2Disk(needAdds[i].disk, userCred, vdisk.GetDriver(), vdisk.GetCacheMode(), vdisk.GetMountpoint())
err := self.attach2Disk(ctx, needAdds[i].disk, userCred, vdisk.GetDriver(), vdisk.GetCacheMode(), vdisk.GetMountpoint())
if err != nil {
log.Errorf("attach2Disk error: %v", err)
result.AddError(err)
@@ -2459,7 +2459,7 @@ func (self *SGuest) createDiskOnHost(ctx context.Context, userCred mcclient.Toke
return disk, err
}
}
err = self.attach2Disk(disk, userCred, diskConfig.Driver, diskConfig.Cache, diskConfig.Mountpoint)
err = self.attach2Disk(ctx, disk, userCred, diskConfig.Driver, diskConfig.Cache, diskConfig.Mountpoint)
return disk, err
}
@@ -2482,7 +2482,7 @@ func (self *SGuest) createIsolatedDeviceOnHost(ctx context.Context, userCred mcc
lockman.LockClass(ctx, QuotaManager, self.ProjectId)
defer lockman.ReleaseClass(ctx, QuotaManager, self.ProjectId)
err := IsolatedDeviceManager.attachHostDeviceToGuestByDesc(self, host, devConfig, userCred)
err := IsolatedDeviceManager.attachHostDeviceToGuestByDesc(ctx, self, host, devConfig, userCred)
if err != nil {
return err
}
@@ -2492,7 +2492,7 @@ func (self *SGuest) createIsolatedDeviceOnHost(ctx context.Context, userCred mcc
return err
}
func (self *SGuest) attachIsolatedDevice(userCred mcclient.TokenCredential, dev *SIsolatedDevice) error {
func (self *SGuest) attachIsolatedDevice(ctx context.Context, userCred mcclient.TokenCredential, dev *SIsolatedDevice) error {
if len(dev.GuestId) > 0 {
return fmt.Errorf("Isolated device already attached to another guest: %s", dev.GuestId)
}
@@ -2506,7 +2506,7 @@ func (self *SGuest) attachIsolatedDevice(userCred mcclient.TokenCredential, dev
if err != nil {
return err
}
db.OpsLog.LogEvent(self, db.ACT_GUEST_ATTACH_ISOLATED_DEVICE, dev.GetShortDesc(), userCred)
db.OpsLog.LogEvent(self, db.ACT_GUEST_ATTACH_ISOLATED_DEVICE, dev.GetShortDesc(ctx), userCred)
return nil
}
@@ -2566,7 +2566,7 @@ func (self *SGuest) CategorizeNics() SGuestNicCategory {
return netCat
}
func (self *SGuest) LeaveAllGroups(userCred mcclient.TokenCredential) {
func (self *SGuest) LeaveAllGroups(ctx context.Context, userCred mcclient.TokenCredential) {
groupGuests := make([]SGroupguest, 0)
q := GroupguestManager.Query()
err := q.Filter(sqlchemy.Equals(q.Field("guest_id"), self.Id)).All(&groupGuests)
@@ -2583,7 +2583,7 @@ func (self *SGuest) LeaveAllGroups(userCred mcclient.TokenCredential) {
log.Errorln(err.Error())
return
}
db.OpsLog.LogDetachEvent(self, &group, userCred, nil)
db.OpsLog.LogDetachEvent(ctx, self, &group, userCred, nil)
}
}
@@ -3167,8 +3167,8 @@ func (self *SGuest) GetTemplateId() string {
return ""
}
func (self *SGuest) GetShortDesc() *jsonutils.JSONDict {
desc := self.SStandaloneResourceBase.GetShortDesc()
func (self *SGuest) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.SVirtualResourceBase.GetShortDesc(ctx)
desc.Set("mem", jsonutils.NewInt(int64(self.VmemSize)))
desc.Set("cpu", jsonutils.NewInt(int64(self.VcpuCount)))
@@ -3434,12 +3434,12 @@ func (self *SGuest) SyncVMEip(ctx context.Context, userCred mcclient.TokenCreden
// do nothing
} else if eip == nil && extEip != nil {
// add
neip, err := ElasticipManager.getEipByExtEip(userCred, extEip, self.getRegion(), projectId)
neip, err := ElasticipManager.getEipByExtEip(ctx, userCred, extEip, self.getRegion(), projectId)
if err != nil {
log.Errorf("getEipByExtEip error %v", err)
result.AddError(err)
} else {
err = neip.AssociateVM(userCred, self)
err = neip.AssociateVM(ctx, userCred, self)
if err != nil {
log.Errorf("AssociateVM error %v", err)
result.AddError(err)
@@ -3465,11 +3465,11 @@ func (self *SGuest) SyncVMEip(ctx context.Context, userCred mcclient.TokenCreden
result.DeleteError(err)
} else {
result.Delete()
neip, err := ElasticipManager.getEipByExtEip(userCred, extEip, self.getRegion(), projectId)
neip, err := ElasticipManager.getEipByExtEip(ctx, userCred, extEip, self.getRegion(), projectId)
if err != nil {
result.AddError(err)
} else {
err = neip.AssociateVM(userCred, self)
err = neip.AssociateVM(ctx, userCred, self)
if err != nil {
result.AddError(err)
} else {
+9 -9
View File
@@ -58,12 +58,12 @@ func (self *SGuest) PerformPrepaidRecycle(ctx context.Context, userCred mcclient
err = self.doPrepaidRecycle(ctx, userCred)
if err != nil {
logclient.AddActionLog(self, logclient.ACT_RECYCLE_PREPAID, self.GetShortDesc(), userCred, false)
logclient.AddActionLog(self, logclient.ACT_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred, false)
return nil, httperrors.NewGeneralError(err)
}
db.OpsLog.LogEvent(self, db.ACT_RECYCLE_PREPAID, self.GetShortDesc(), userCred)
logclient.AddActionLog(self, logclient.ACT_RECYCLE_PREPAID, self.GetShortDesc(), userCred, true)
db.OpsLog.LogEvent(self, db.ACT_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred)
logclient.AddActionLog(self, logclient.ACT_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred, true)
return nil, nil
}
@@ -288,12 +288,12 @@ func (self *SGuest) PerformUndoPrepaidRecycle(ctx context.Context, userCred mccl
err := doUndoPrepaidRecycle(ctx, userCred, host, self)
if err != nil {
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(), userCred, false)
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred, false)
return nil, httperrors.NewGeneralError(err)
}
db.OpsLog.LogEvent(self, db.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(), userCred)
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(), userCred, true)
db.OpsLog.LogEvent(self, db.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred)
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred, true)
return nil, nil
}
@@ -327,12 +327,12 @@ func (self *SHost) PerformUndoPrepaidRecycle(ctx context.Context, userCred mccli
err := doUndoPrepaidRecycle(ctx, userCred, self, &guests[0])
if err != nil {
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(), userCred, false)
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred, false)
return nil, httperrors.NewGeneralError(err)
}
db.OpsLog.LogEvent(self, db.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(), userCred)
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(), userCred, true)
db.OpsLog.LogEvent(self, db.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred)
logclient.AddActionLog(self, logclient.ACT_UNDO_RECYCLE_PREPAID, self.GetShortDesc(ctx), userCred, true)
return nil, nil
}
+15 -9
View File
@@ -1141,7 +1141,7 @@ func (self *SHost) GetNetInterface(mac string) *SNetInterface {
func (self *SHost) DeleteBaremetalnetwork(ctx context.Context, userCred mcclient.TokenCredential, bn *SHostnetwork, reserve bool) {
net := bn.GetNetwork()
bn.Delete(ctx, userCred)
db.OpsLog.LogDetachEvent(self, net, userCred, nil)
db.OpsLog.LogDetachEvent(ctx, self, net, userCred, nil)
if reserve && net != nil && len(bn.IpAddr) > 0 && regutils.MatchIP4Addr(bn.IpAddr) {
ReservedipManager.ReserveIP(userCred, net, bn.IpAddr, "Delete baremetalnetwork to reserve")
}
@@ -1459,7 +1459,7 @@ func (self *SHost) Attach2Storage(ctx context.Context, userCred mcclient.TokenCr
return err
}
db.OpsLog.LogAttachEvent(self, storage, userCred, nil)
db.OpsLog.LogAttachEvent(ctx, self, storage, userCred, nil)
return nil
}
@@ -1562,7 +1562,7 @@ func (self *SHost) Attach2Wire(ctx context.Context, userCred mcclient.TokenCrede
if err != nil {
return err
}
db.OpsLog.LogAttachEvent(self, wire, userCred, nil)
db.OpsLog.LogAttachEvent(ctx, self, wire, userCred, nil)
return nil
}
@@ -2055,7 +2055,7 @@ func (self *SHost) getMoreDetails(ctx context.Context, extra *jsonutils.JSONDict
if schedtags != nil && len(schedtags) > 0 {
info := make([]jsonutils.JSONObject, len(schedtags))
for i := 0; i < len(schedtags); i += 1 {
info[i] = schedtags[i].GetShortDesc()
info[i] = schedtags[i].GetShortDesc(ctx)
}
extra.Add(jsonutils.NewArray(info...), "schedtags")
}
@@ -3017,8 +3017,12 @@ func (self *SHost) Attach2Network(ctx context.Context, userCred mcclient.TokenCr
bn.NetworkId = net.Id
bn.IpAddr = freeIp
bn.MacAddr = netif.Mac
HostnetworkManager.TableSpec().Insert(bn)
db.OpsLog.LogAttachEvent(self, net, userCred, jsonutils.NewString(freeIp))
err = HostnetworkManager.TableSpec().Insert(bn)
if err != nil {
log.Errorf("HostnetworkManager.TableSpec().Insert fail %s", err)
return err
}
db.OpsLog.LogAttachEvent(ctx, self, net, userCred, jsonutils.NewString(freeIp))
self.UpdateDnsRecord(netif, true)
net.UpdateBaremetalNetmap(bn, self.GetNetifName(netif))
return nil
@@ -3058,7 +3062,7 @@ func (self *SHost) RemoveNetif(ctx context.Context, userCred mcclient.TokenCrede
if len(others) == 0 {
hw, _ := HostwireManager.FetchByIds(self.Id, wire.Id)
if hw != nil {
db.OpsLog.LogDetachEvent(self, wire, userCred, jsonutils.NewString(fmt.Sprintf("disable netif %s", self.AccessMac)))
db.OpsLog.LogDetachEvent(ctx, self, wire, userCred, jsonutils.NewString(fmt.Sprintf("disable netif %s", self.AccessMac)))
log.Infof("Detach host wire because of remove netif %s", netif.Mac)
return hw.Delete(ctx, userCred)
}
@@ -3538,7 +3542,9 @@ func (self *SHost) getCloudProviderInfo() SCloudProviderInfo {
return MakeCloudProviderInfo(region, zone, provider)
}
func (self *SHost) GetShortDesc() *jsonutils.JSONDict {
func (self *SHost) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.SEnabledStatusStandaloneResourceBase.GetShortDesc(ctx)
info := self.getCloudProviderInfo()
return jsonutils.Marshal(&info).(*jsonutils.JSONDict)
desc.Update(jsonutils.Marshal(&info))
return desc
}
+13 -13
View File
@@ -285,15 +285,15 @@ func (manager *SIsolatedDeviceManager) isValidDeviceinfo(config *SIsolatedDevice
return nil
}
func (manager *SIsolatedDeviceManager) attachHostDeviceToGuestByDesc(guest *SGuest, host *SHost, devConfig *SIsolatedDeviceConfig, userCred mcclient.TokenCredential) error {
func (manager *SIsolatedDeviceManager) attachHostDeviceToGuestByDesc(ctx context.Context, guest *SGuest, host *SHost, devConfig *SIsolatedDeviceConfig, userCred mcclient.TokenCredential) error {
if len(devConfig.Id) > 0 {
return manager.attachSpecificDeviceToGuest(guest, devConfig, userCred)
return manager.attachSpecificDeviceToGuest(ctx, guest, devConfig, userCred)
} else {
return manager.attachHostDeviceToGuestByModel(guest, host, devConfig, userCred)
return manager.attachHostDeviceToGuestByModel(ctx, guest, host, devConfig, userCred)
}
}
func (manager *SIsolatedDeviceManager) attachSpecificDeviceToGuest(guest *SGuest, devConfig *SIsolatedDeviceConfig, userCred mcclient.TokenCredential) error {
func (manager *SIsolatedDeviceManager) attachSpecificDeviceToGuest(ctx context.Context, guest *SGuest, devConfig *SIsolatedDeviceConfig, userCred mcclient.TokenCredential) error {
devObj, err := manager.FetchById(devConfig.Id)
if devObj == nil {
return fmt.Errorf("Device %s not found: %s", devConfig.Id, err)
@@ -302,10 +302,10 @@ func (manager *SIsolatedDeviceManager) attachSpecificDeviceToGuest(guest *SGuest
if len(devConfig.DevType) > 0 && devConfig.DevType != dev.DevType {
dev.DevType = devConfig.DevType
}
return guest.attachIsolatedDevice(userCred, dev)
return guest.attachIsolatedDevice(ctx, userCred, dev)
}
func (manager *SIsolatedDeviceManager) attachHostDeviceToGuestByModel(guest *SGuest, host *SHost, devConfig *SIsolatedDeviceConfig, userCred mcclient.TokenCredential) error {
func (manager *SIsolatedDeviceManager) attachHostDeviceToGuestByModel(ctx context.Context, guest *SGuest, host *SHost, devConfig *SIsolatedDeviceConfig, userCred mcclient.TokenCredential) error {
if len(devConfig.Model) == 0 {
return fmt.Errorf("Not found model from info: %s", devConfig)
}
@@ -314,7 +314,7 @@ func (manager *SIsolatedDeviceManager) attachHostDeviceToGuestByModel(guest *SGu
return fmt.Errorf("Can't found %s model on host", host.Id)
}
selectedDev := devs[0]
return guest.attachIsolatedDevice(userCred, &selectedDev)
return guest.attachIsolatedDevice(ctx, userCred, &selectedDev)
}
func (manager *SIsolatedDeviceManager) findUnusedQuery() *sqlchemy.SQuery {
@@ -365,7 +365,7 @@ func (manager *SIsolatedDeviceManager) findHostUnusedByModel(model string, hostI
return devs, nil
}
func (manager *SIsolatedDeviceManager) ReleaseDevicesOfGuest(guest *SGuest, userCred mcclient.TokenCredential) error {
func (manager *SIsolatedDeviceManager) ReleaseDevicesOfGuest(ctx context.Context, guest *SGuest, userCred mcclient.TokenCredential) error {
devs := manager.findAttachedDevicesOfGuest(guest)
if devs == nil {
return fmt.Errorf("fail to find attached devices")
@@ -376,10 +376,10 @@ func (manager *SIsolatedDeviceManager) ReleaseDevicesOfGuest(guest *SGuest, user
return nil
})
if err != nil {
db.OpsLog.LogEvent(guest, db.ACT_GUEST_DETACH_ISOLATED_DEVICE_FAIL, dev.GetShortDesc(), userCred)
db.OpsLog.LogEvent(guest, db.ACT_GUEST_DETACH_ISOLATED_DEVICE_FAIL, dev.GetShortDesc(ctx), userCred)
return err
}
db.OpsLog.LogEvent(guest, db.ACT_GUEST_DETACH_ISOLATED_DEVICE, dev.GetShortDesc(), userCred)
db.OpsLog.LogEvent(guest, db.ACT_GUEST_DETACH_ISOLATED_DEVICE, dev.GetShortDesc(ctx), userCred)
}
return nil
}
@@ -457,7 +457,7 @@ func (man *SIsolatedDeviceManager) GetSpecIdent(spec *jsonutils.JSONDict) []stri
return keys
}
func (self *SIsolatedDevice) GetShortDesc() *jsonutils.JSONDict {
func (self *SIsolatedDevice) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.getDesc()
desc.Add(jsonutils.NewString(IsolatedDeviceManager.Keyword()), "res_name")
return desc
@@ -536,14 +536,14 @@ func (self *SIsolatedDevice) CustomizeDelete(ctx context.Context, userCred mccli
return err
}
guest := iGuest.(*SGuest)
err = guest.detachIsolateDevice(userCred, self)
err = guest.detachIsolateDevice(ctx, userCred, self)
if err != nil {
return err
}
}
host := self.getHost()
if host != nil {
db.OpsLog.LogEvent(host, db.ACT_HOST_DETACH_ISOLATED_DEVICE, self.GetShortDesc(), userCred)
db.OpsLog.LogEvent(host, db.ACT_HOST_DETACH_ISOLATED_DEVICE, self.GetShortDesc(ctx), userCred)
}
return self.RealDelete(ctx, userCred)
}
+1 -1
View File
@@ -1268,7 +1268,7 @@ func (self *SNetwork) CustomizeDelete(ctx context.Context, userCred mcclient.Tok
}
func (self *SNetwork) RealDelete(ctx context.Context, userCred mcclient.TokenCredential) error {
db.OpsLog.LogEvent(self, db.ACT_DELOCATE, self.GetShortDesc(), userCred)
db.OpsLog.LogEvent(self, db.ACT_DELOCATE, self.GetShortDesc(ctx), userCred)
self.SetStatus(userCred, NETWORK_STATUS_DELETED, "real delete")
return self.SSharableVirtualResourceBase.Delete(ctx, userCred)
}
+2 -4
View File
@@ -202,10 +202,8 @@ func (self *SSchedtag) GetExtraDetails(ctx context.Context, userCred mcclient.To
self.SStandaloneResourceBase.PostUpdate(ctx, userCred, query, data)
}*/
func (self *SSchedtag) GetShortDesc() *jsonutils.JSONDict {
desc := jsonutils.NewDict()
desc.Add(jsonutils.NewString(self.Id), "id")
desc.Add(jsonutils.NewString(self.Name), "name")
func (self *SSchedtag) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.SStandaloneResourceBase.GetShortDesc(ctx)
desc.Add(jsonutils.NewString(self.DefaultStrategy), "default")
return desc
}
+5 -5
View File
@@ -197,8 +197,8 @@ func (self *SSnapshot) getMoreDetails(extra *jsonutils.JSONDict) *jsonutils.JSON
return extra
}
func (self *SSnapshot) GetShortDesc() *jsonutils.JSONDict {
res := self.SVirtualResourceBase.GetShortDesc()
func (self *SSnapshot) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
res := self.SVirtualResourceBase.GetShortDesc(ctx)
res.Add(jsonutils.NewInt(int64(self.Size)), "size")
/*if cloudprovider := self.GetCloudprovider(); cloudprovider != nil {
res.Add(jsonutils.NewString(cloudprovider.Provider), "hypervisor")
@@ -537,7 +537,7 @@ func (self *SSnapshot) SyncWithCloudSnapshot(userCred mcclient.TokenCredential,
return err
}
func (manager *SSnapshotManager) newFromCloudSnapshot(userCred mcclient.TokenCredential, extSnapshot cloudprovider.ICloudSnapshot, region *SCloudregion, projectId string, provider *SCloudprovider) (*SSnapshot, error) {
func (manager *SSnapshotManager) newFromCloudSnapshot(ctx context.Context, userCred mcclient.TokenCredential, extSnapshot cloudprovider.ICloudSnapshot, region *SCloudregion, projectId string, provider *SCloudprovider) (*SSnapshot, error) {
snapshot := SSnapshot{}
snapshot.SetModelManager(manager)
@@ -567,7 +567,7 @@ func (manager *SSnapshotManager) newFromCloudSnapshot(userCred mcclient.TokenCre
log.Errorf("newFromCloudEip fail %s", err)
return nil, err
}
db.OpsLog.LogEvent(&snapshot, db.ACT_SNAPSHOT_DONE, snapshot.GetShortDesc(), userCred)
db.OpsLog.LogEvent(&snapshot, db.ACT_SNAPSHOT_DONE, snapshot.GetShortDesc(ctx), userCred)
return &snapshot, nil
}
@@ -618,7 +618,7 @@ func (manager *SSnapshotManager) SyncSnapshots(ctx context.Context, userCred mcc
}
}
for i := 0; i < len(added); i += 1 {
_, err := manager.newFromCloudSnapshot(userCred, added[i], region, projectId, provider)
_, err := manager.newFromCloudSnapshot(ctx, userCred, added[i], region, projectId, provider)
if err != nil {
syncResult.AddError(err)
} else {
+4 -2
View File
@@ -1184,7 +1184,9 @@ func (self *SStorage) getCloudProviderInfo() SCloudProviderInfo {
return MakeCloudProviderInfo(region, zone, provider)
}
func (self *SStorage) GetShortDesc() *jsonutils.JSONDict {
func (self *SStorage) GetShortDesc(ctx context.Context) *jsonutils.JSONDict {
desc := self.SStandaloneResourceBase.GetShortDesc(ctx)
info := self.getCloudProviderInfo()
return jsonutils.Marshal(&info).(*jsonutils.JSONDict)
desc.Update(jsonutils.Marshal(&info))
return desc
}
+1 -1
View File
@@ -477,7 +477,7 @@ func (self *SVpc) CustomizeDelete(ctx context.Context, userCred mcclient.TokenCr
}
func (self *SVpc) RealDelete(ctx context.Context, userCred mcclient.TokenCredential) error {
db.OpsLog.LogEvent(self, db.ACT_DELOCATE, self.GetShortDesc(), userCred)
db.OpsLog.LogEvent(self, db.ACT_DELOCATE, self.GetShortDesc(ctx), userCred)
self.SetStatus(userCred, VPC_STATUS_DELETED, "real delete")
return self.SEnabledStatusStandaloneResourceBase.Delete(ctx, userCred)
}
@@ -45,7 +45,7 @@ func (self *BaremetalServerStartTask) OnStartComplete(ctx context.Context, guest
guest.SetStatus(self.UserCred, models.VM_RUNNING, "")
baremetal := guest.GetHost()
baremetal.SetStatus(self.UserCred, models.BAREMETAL_RUNNING, "")
db.OpsLog.LogEvent(guest, db.ACT_START, guest.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(guest, db.ACT_START, guest.GetShortDesc(ctx), self.UserCred)
}
func (self *BaremetalServerStartTask) OnStartCompleteFailed(ctx context.Context, guest *models.SGuest, body jsonutils.JSONObject) {
@@ -460,7 +460,7 @@ func syncHostVMs(ctx context.Context, provider *models.SCloudprovider, task *Clo
syncVMEip(ctx, provider, task, &localVMs[i], remoteVMs[i])
if localVMs[i].Status == models.VM_RUNNING {
db.OpsLog.LogEvent(&localVMs[i], db.ACT_START, localVMs[i].GetShortDesc(), task.UserCred)
db.OpsLog.LogEvent(&localVMs[i], db.ACT_START, localVMs[i].GetShortDesc(ctx), task.UserCred)
}
}
}
+5 -5
View File
@@ -45,11 +45,11 @@ func (self *DiskCreateTask) OnStorageCacheImageComplete(ctx context.Context, dis
rebuild, _ := self.GetParams().Bool("rebuild")
snapshot, _ := self.GetParams().GetString("snapshot")
if rebuild {
db.OpsLog.LogEvent(disk, db.ACT_DELOCATE, disk.GetShortDesc(), self.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_DELOCATE, disk.GetShortDesc(ctx), self.GetUserCred())
}
storage := disk.GetStorage()
host := storage.GetMasterHost()
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATING, disk.GetShortDesc(), self.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATING, disk.GetShortDesc(ctx), self.GetUserCred())
disk.SetStatus(self.GetUserCred(), models.DISK_STARTALLOC, "")
if len(disk.BackupStorageId) > 0 {
self.SetStage("OnMasterStorageCreateDiskComplete", nil)
@@ -66,7 +66,7 @@ func (self *DiskCreateTask) OnMasterStorageCreateDiskComplete(ctx context.Contex
snapshot, _ := self.GetParams().GetString("snapshot")
storage := models.StorageManager.FetchStorageById(disk.BackupStorageId)
host := storage.GetMasterHost()
db.OpsLog.LogEvent(disk, db.ACT_BACKUP_ALLOCATING, disk.GetShortDesc(), self.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_BACKUP_ALLOCATING, disk.GetShortDesc(ctx), self.GetUserCred())
disk.SetStatus(self.UserCred, models.DISK_BACKUP_STARTALLOC, "")
self.SetStage("OnDiskReady", nil)
if err := disk.StartAllocate(ctx, host, storage, self.GetTaskId(), self.GetUserCred(), rebuild, snapshot, self); err != nil {
@@ -97,7 +97,7 @@ func (self *DiskCreateTask) OnDiskReady(ctx context.Context, disk *models.SDisk,
disk.SetStatus(self.UserCred, models.DISK_READY, "")
self.CleanHostSchedCache(disk)
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(ctx), self.UserCred)
self.SetStageComplete(ctx, nil)
}
@@ -127,7 +127,7 @@ func (self *DiskCreateBackupTask) OnDiskReady(ctx context.Context, disk *models.
bkStorage := models.StorageManager.FetchStorageById(disk.BackupStorageId)
bkStorage.ClearSchedDescCache()
disk.SetStatus(self.UserCred, models.DISK_READY, "")
db.OpsLog.LogEvent(disk, db.ACT_BACKUP_ALLOCATE, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(disk, db.ACT_BACKUP_ALLOCATE, disk.GetShortDesc(ctx), self.UserCred)
self.SetStageComplete(ctx, nil)
}
+3 -3
View File
@@ -37,7 +37,7 @@ func (self *DiskDeleteTask) OnInit(ctx context.Context, obj db.IStandaloneModel,
}
func (self *DiskDeleteTask) startDeleteDisk(ctx context.Context, disk *models.SDisk) {
db.OpsLog.LogEvent(disk, db.ACT_DELOCATING, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(disk, db.ACT_DELOCATING, disk.GetShortDesc(ctx), self.UserCred)
if disk.Status == models.DISK_INIT {
self.OnGuestDiskDeleteComplete(ctx, disk, nil)
return
@@ -92,7 +92,7 @@ func (self *DiskDeleteTask) OnGuestDiskDeleteComplete(ctx context.Context, obj d
}
disk := obj.(*models.SDisk)
self.CleanHostSchedCache(disk)
db.OpsLog.LogEvent(disk, db.ACT_DELOCATE, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(disk, db.ACT_DELOCATE, disk.GetShortDesc(ctx), self.UserCred)
if len(disk.SnapshotId) > 0 && disk.GetMetadata("merge_snapshot", nil) == "true" {
models.SnapshotManager.AddRefCount(disk.SnapshotId, -1)
}
@@ -103,5 +103,5 @@ func (self *DiskDeleteTask) OnGuestDiskDeleteComplete(ctx context.Context, obj d
func (self *DiskDeleteTask) OnGuestDiskDeleteCompleteFailed(ctx context.Context, disk *models.SDisk, resion jsonutils.JSONObject) {
disk.SetStatus(self.GetUserCred(), models.DISK_DEALLOC_FAILED, resion.String())
self.SetStageFailed(ctx, resion.String())
db.OpsLog.LogEvent(disk, db.ACT_DELOCATE_FAIL, disk.GetShortDesc(), self.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_DELOCATE_FAIL, disk.GetShortDesc(ctx), self.GetUserCred())
}
+3 -3
View File
@@ -101,15 +101,15 @@ func (self *DiskResizeTask) OnDiskResizeComplete(ctx context.Context, disk *mode
notes := fmt.Sprintf("%s=>%s", oldStatus, disk.Status)
db.OpsLog.LogEvent(disk, db.ACT_UPDATE_STATUS, notes, self.UserCred)
self.CleanHostSchedCache(disk)
db.OpsLog.LogEvent(disk, db.ACT_RESIZE, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(disk, db.ACT_RESIZE, disk.GetShortDesc(ctx), self.UserCred)
logclient.AddActionLog(disk, logclient.ACT_RESIZE, nil, self.UserCred, true)
self.SetStageComplete(ctx, disk.GetShortDesc())
self.SetStageComplete(ctx, disk.GetShortDesc(ctx))
self.finalReleasePendingUsage(ctx)
}
func (self *DiskResizeTask) OnDiskResizeCompleteFailed(ctx context.Context, disk *models.SDisk, data jsonutils.JSONObject) {
disk.SetDiskReady(ctx, self.GetUserCred(), data.String())
db.OpsLog.LogEvent(disk, db.ACT_RESIZE_FAIL, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(disk, db.ACT_RESIZE_FAIL, disk.GetShortDesc(ctx), self.UserCred)
logclient.AddActionLog(disk, logclient.ACT_RESIZE, data.String(), self.UserCred, false)
self.SetStageFailed(ctx, data.String())
}
+1 -1
View File
@@ -71,7 +71,7 @@ func (self *DiskSaveTask) OnDiskBackupCompleteFailed(ctx context.Context, disk *
func (self *DiskSaveTask) OnDiskBackupComplete(ctx context.Context, disk *models.SDisk, data *jsonutils.JSONDict) {
disk.SetDiskReady(ctx, self.GetUserCred(), "")
db.OpsLog.LogEvent(disk, db.ACT_SAVE, disk.GetShortDesc(), self.GetUserCred())
db.OpsLog.LogEvent(disk, db.ACT_SAVE, disk.GetShortDesc(ctx), self.GetUserCred())
self.SetStageComplete(ctx, nil)
imageId, _ := self.GetParams().GetString("image_id")
if host := self.GetMasterHost(disk); host == nil {
+1 -1
View File
@@ -57,7 +57,7 @@ func (self *EipAssociateTask) OnInit(ctx context.Context, obj db.IStandaloneMode
return
}
err = eip.AssociateVM(self.UserCred, server)
err = eip.AssociateVM(ctx, self.UserCred, server)
if err != nil {
msg := fmt.Sprintf("fail to local associate EIP %s", err)
self.TaskFail(ctx, eip, msg, server)
+1 -1
View File
@@ -38,7 +38,7 @@ func (self *GuestAttachDiskTask) OnInit(ctx context.Context, obj db.IStandaloneM
cache, _ := self.Params.GetString("cache")
mountpoint, _ := self.Params.GetString("mountpoint")
err = guest.AttachDisk(disk, self.UserCred, driver, cache, mountpoint)
err = guest.AttachDisk(ctx, disk, self.UserCred, driver, cache, mountpoint)
if err != nil {
self.OnTaskFail(ctx, guest, nil, err)
return
+2 -2
View File
@@ -264,8 +264,8 @@ func (self *ESXiGuestCreateDiskTask) OnInit(ctx context.Context, obj db.IStandal
disk.SetStatus(self.UserCred, models.DISK_READY, "create disk success")
disk.GetStorage().ClearSchedDescCache()
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(), self.UserCred)
db.OpsLog.LogAttachEvent(guest, disk, self.UserCred, disk.GetShortDesc())
db.OpsLog.LogEvent(disk, db.ACT_ALLOCATE, disk.GetShortDesc(ctx), self.UserCred)
db.OpsLog.LogAttachEvent(ctx, guest, disk, self.UserCred, disk.GetShortDesc(ctx))
}
self.SetStageComplete(ctx, nil)
+2 -2
View File
@@ -114,10 +114,10 @@ func (self *GuestCreateTask) OnDeployGuestDescCompleteFailed(ctx context.Context
func (self *GuestCreateTask) OnAutoStartGuest(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
guest := obj.(*models.SGuest)
self.SetStageComplete(ctx, guest.GetShortDesc())
self.SetStageComplete(ctx, guest.GetShortDesc(ctx))
}
func (self *GuestCreateTask) OnSyncStatusComplete(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
guest := obj.(*models.SGuest)
self.SetStageComplete(ctx, guest.GetShortDesc())
self.SetStageComplete(ctx, guest.GetShortDesc(ctx))
}
+3 -3
View File
@@ -115,7 +115,7 @@ func (self *GuestDeleteTask) doStartDeleteGuest(ctx context.Context, obj db.ISta
func (self *GuestDeleteTask) StartPendingDeleteGuest(ctx context.Context, guest *models.SGuest) {
guest.DoPendingDelete(ctx, self.UserCred)
models.IsolatedDeviceManager.ReleaseDevicesOfGuest(guest, self.UserCred)
models.IsolatedDeviceManager.ReleaseDevicesOfGuest(ctx, guest, self.UserCred)
self.SetStage("on_pending_delete_complete", nil)
guest.StartSyncstatus(ctx, self.UserCred, self.GetTaskId())
}
@@ -154,7 +154,7 @@ func (self *GuestDeleteTask) OnGuestDetachDisksCompleteFailed(ctx context.Contex
}
func (self *GuestDeleteTask) DoDeleteGuest(ctx context.Context, guest *models.SGuest) {
models.IsolatedDeviceManager.ReleaseDevicesOfGuest(guest, self.UserCred)
models.IsolatedDeviceManager.ReleaseDevicesOfGuest(ctx, guest, self.UserCred)
host := guest.GetHost()
if guest.IsPrepaidRecycle() {
err := host.BorrowIpAddrsFromGuest(ctx, self.UserCred, guest)
@@ -187,7 +187,7 @@ func (self *GuestDeleteTask) OnGuestDeleteCompleteFailed(ctx context.Context, ob
func (self *GuestDeleteTask) OnGuestDeleteComplete(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
guest := obj.(*models.SGuest)
guest.LeaveAllGroups(self.UserCred)
guest.LeaveAllGroups(ctx, self.UserCred)
guest.DetachAllNetworks(ctx, self.UserCred)
guest.EjectIso(self.UserCred)
guest.DeleteEip(ctx, self.UserCred)
+1 -1
View File
@@ -117,7 +117,7 @@ func (self *GuestDetachDiskTask) OnSyncConfigCompleteFailed(ctx context.Context,
disk := objDisk.(*models.SDisk)
db.OpsLog.LogEvent(disk, db.ACT_DETACH, resion.String(), self.UserCred)
disk.SetDiskReady(ctx, self.UserCred, "")
err = guest.AttachDisk(disk, self.UserCred, driver, cache, mountpoint)
err = guest.AttachDisk(ctx, disk, self.UserCred, driver, cache, mountpoint)
if err != nil {
self.OnTaskFail(ctx, guest, disk, err)
return
@@ -94,7 +94,7 @@ func (self *GuestDiskSnapshotTask) OnAutoDeleteSnapshotFailed(ctx context.Contex
func (self *GuestDiskSnapshotTask) TaskComplete(ctx context.Context, guest *models.SGuest, data jsonutils.JSONObject) {
snapshotId, _ := self.Params.GetString("snapshot_id")
iSnapshot, _ := models.SnapshotManager.FetchById(snapshotId)
db.OpsLog.LogEvent(iSnapshot, db.ACT_SNAPSHOT_DONE, iSnapshot.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(iSnapshot, db.ACT_SNAPSHOT_DONE, iSnapshot.GetShortDesc(ctx), self.UserCred)
logclient.AddActionLog(iSnapshot, logclient.ACT_CREATE, nil, self.UserCred, true)
guest.StartSyncstatus(ctx, self.UserCred, self.GetTaskId())
self.SetStage("OnSyncStatus", nil)
@@ -293,7 +293,7 @@ func (self *SnapshotDeleteTask) OnReloadDiskSnapshot(ctx context.Context, snapsh
}
func (self *SnapshotDeleteTask) TaskComplete(ctx context.Context, snapshot *models.SSnapshot, data jsonutils.JSONObject) {
db.OpsLog.LogEvent(snapshot, db.ACT_SNAPSHOT_DELETE, snapshot.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(snapshot, db.ACT_SNAPSHOT_DELETE, snapshot.GetShortDesc(ctx), self.UserCred)
logclient.AddActionLog(snapshot, logclient.ACT_DELETE, nil, self.UserCred, true)
self.SetStageComplete(ctx, nil)
}
+1 -1
View File
@@ -35,7 +35,7 @@ func (self *GuestRenewTask) OnInit(ctx context.Context, obj db.IStandaloneModel,
return
}
err = guest.SaveRenewInfo(self.UserCred, &bc, &exp)
err = guest.SaveRenewInfo(ctx, self.UserCred, &bc, &exp)
if err != nil {
msg := fmt.Sprintf("SaveRenewInfo fail %s", err)
log.Errorf(msg)
+1 -1
View File
@@ -113,7 +113,7 @@ func (self *GuestStartTask) OnStartBackupGuestCompleteFailed(ctx context.Context
func (self *GuestStartTask) OnStartComplete(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
guest := obj.(*models.SGuest)
db.OpsLog.LogEvent(guest, db.ACT_START, guest.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(guest, db.ACT_START, guest.GetShortDesc(ctx), self.UserCred)
self.SetStage("OnGuestSyncstatusAfterStart", nil)
guest.StartSyncstatus(ctx, self.UserCred, self.GetTaskId())
logclient.AddActionLog(guest, logclient.ACT_VM_START, "", self.UserCred, true)
+1 -1
View File
@@ -69,7 +69,7 @@ func (self *GuestStopTask) OnGuestStopTaskComplete(ctx context.Context, guest *m
if !self.isSubtask() {
guest.SetStatus(self.UserCred, models.VM_READY, "")
}
db.OpsLog.LogEvent(guest, db.ACT_STOP, guest.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(guest, db.ACT_STOP, guest.GetShortDesc(ctx), self.UserCred)
models.HostManager.ClearSchedDescCache(guest.HostId)
self.SetStageComplete(ctx, nil)
if guest.Status == models.VM_READY && guest.DisableDelete.IsFalse() && guest.ShutdownBehavior == models.SHUTDOWN_TERMINATE {
+1 -1
View File
@@ -38,7 +38,7 @@ func (self *GuestSyncConfTask) OnSyncComplete(ctx context.Context, obj db.IStand
guest := obj.(*models.SGuest)
if fw_only, _ := self.GetParams().Bool("fw_only"); fw_only {
db.OpsLog.LogEvent(guest, db.ACT_SYNC_CONF, nil, self.UserCred)
self.SetStageComplete(ctx, guest.GetShortDesc())
self.SetStageComplete(ctx, guest.GetShortDesc(ctx))
} else if data.Contains("task") {
self.SetStage("on_disk_sync_complete", nil)
} else {
+1 -1
View File
@@ -30,7 +30,7 @@ func (self *NetworkDeleteTask) OnInit(ctx context.Context, obj db.IStandaloneMod
network := obj.(*models.SNetwork)
network.SetStatus(self.UserCred, models.NETWORK_STATUS_DELETING, "")
db.OpsLog.LogEvent(network, db.ACT_DELOCATING, network.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(network, db.ACT_DELOCATING, network.GetShortDesc(ctx), self.UserCred)
inet, err := network.GetINetwork()
if inet != nil {
+1 -1
View File
@@ -31,7 +31,7 @@ func (self *VpcDeleteTask) OnInit(ctx context.Context, obj db.IStandaloneModel,
vpc := obj.(*models.SVpc)
vpc.SetStatus(self.UserCred, models.VPC_STATUS_DELETING, "")
db.OpsLog.LogEvent(vpc, db.ACT_DELOCATING, vpc.GetShortDesc(), self.UserCred)
db.OpsLog.LogEvent(vpc, db.ACT_DELOCATING, vpc.GetShortDesc(ctx), self.UserCred)
region, err := vpc.GetIRegion()
if err != nil {