From 9f4d4a450eaf93173074e3def70f503e61bc84d8 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Mon, 8 Jun 2020 11:13:19 +0800 Subject: [PATCH] refactor ITableSpec signature with context --- pkg/cloudcommon/db/db_dispatcher.go | 2 +- pkg/cloudcommon/db/metadata.go | 2 +- pkg/cloudcommon/db/opslog.go | 2 +- pkg/cloudcommon/db/proxy/proxysetting.go | 2 +- pkg/cloudcommon/db/quotas/models.go | 4 +- pkg/cloudcommon/db/sharedresource.go | 2 +- pkg/cloudcommon/db/tablespec.go | 40 +++++++++++-------- pkg/cloudcommon/db/taskman/tasks.go | 10 ++--- pkg/cloudcommon/db/tenantcache.go | 2 +- pkg/cloudcommon/db/update.go | 2 +- pkg/cloudcommon/db/usercache.go | 2 +- pkg/cloudcommon/informer/informer.go | 2 +- pkg/cloudevent/models/cloudevents.go | 2 +- pkg/cloudevent/models/cloudproviders.go | 2 +- pkg/cloudnet/models/ifaces.go | 6 +-- pkg/cloudnet/models/meshnetwork_members.go | 2 +- pkg/cloudnet/models/rules.go | 2 +- pkg/compute/models/buckets.go | 2 +- pkg/compute/models/cachedimages.go | 4 +- pkg/compute/models/cloudaccounts.go | 4 +- pkg/compute/models/cloudprovider_quotas.go | 2 +- pkg/compute/models/cloudprovidercapacities.go | 2 +- pkg/compute/models/cloudproviderregions.go | 2 +- pkg/compute/models/cloudproviders.go | 2 +- pkg/compute/models/cloudregions.go | 4 +- pkg/compute/models/dbinstance_accounts.go | 2 +- pkg/compute/models/dbinstance_backups.go | 2 +- pkg/compute/models/dbinstance_databases.go | 2 +- pkg/compute/models/dbinstance_parameters.go | 2 +- pkg/compute/models/dbinstance_privileges.go | 2 +- pkg/compute/models/dbinstance_skus.go | 2 +- pkg/compute/models/dbinstancenetworks.go | 4 +- pkg/compute/models/dbinstances.go | 2 +- pkg/compute/models/disks.go | 2 +- pkg/compute/models/elasticcache_accounts.go | 2 +- pkg/compute/models/elasticcache_acls.go | 2 +- pkg/compute/models/elasticcache_backups.go | 2 +- pkg/compute/models/elasticcache_instances.go | 2 +- pkg/compute/models/elasticcache_parameters.go | 2 +- pkg/compute/models/elasticcache_skus.go | 2 +- pkg/compute/models/elasticips.go | 4 +- pkg/compute/models/external_projects.go | 2 +- pkg/compute/models/groupguests.go | 2 +- pkg/compute/models/guest_actions.go | 2 +- pkg/compute/models/guestdisks.go | 4 +- pkg/compute/models/guestnetworks.go | 2 +- pkg/compute/models/guests.go | 22 +++++----- pkg/compute/models/guestsecgroups.go | 2 +- pkg/compute/models/host_recycle.go | 4 +- pkg/compute/models/hosts.go | 18 ++++----- pkg/compute/models/instance_snapshot_joint.go | 10 +++-- pkg/compute/models/instance_snapshots.go | 2 +- pkg/compute/models/loadbalanceracls.go | 2 +- pkg/compute/models/loadbalanceragents.go | 2 +- .../models/loadbalancerawscachedlbb.go | 4 +- .../models/loadbalancerawscachedlbbg.go | 2 +- .../models/loadbalancerbackendgroups.go | 2 +- pkg/compute/models/loadbalancerbackends.go | 2 +- pkg/compute/models/loadbalancercachedacls.go | 8 ++-- .../models/loadbalancercachedcertificates.go | 6 +-- .../models/loadbalancercertificates.go | 4 +- pkg/compute/models/loadbalancerclusters.go | 2 +- .../models/loadbalancerhuaweicachedlbb.go | 6 +-- .../models/loadbalancerhuaweicachedlbbg.go | 4 +- .../models/loadbalancerlistenerrules.go | 2 +- pkg/compute/models/loadbalancerlisteners.go | 2 +- pkg/compute/models/loadbalancernetworks.go | 4 +- .../models/loadbalancerqcloudcachedlbb.go | 4 +- .../models/loadbalancerqcloudcachedlbbg.go | 2 +- pkg/compute/models/loadbalancers.go | 2 +- pkg/compute/models/natdtable.go | 2 +- pkg/compute/models/natgateways.go | 2 +- pkg/compute/models/natstable.go | 2 +- pkg/compute/models/networkinterfacenetwork.go | 2 +- pkg/compute/models/networkinterfaces.go | 2 +- pkg/compute/models/networks.go | 10 ++--- pkg/compute/models/policy_assignment.go | 8 ++-- pkg/compute/models/regiondrivers.go | 2 +- pkg/compute/models/reservedips.go | 2 +- pkg/compute/models/routetables.go | 2 +- pkg/compute/models/scaling_activity.go | 4 +- pkg/compute/models/scaling_group.go | 2 +- pkg/compute/models/scaling_trigger.go | 4 +- pkg/compute/models/scalinggroup_guest.go | 2 +- pkg/compute/models/scalinggroup_network.go | 2 +- pkg/compute/models/schedtags.go | 2 +- pkg/compute/models/secgroupcache.go | 2 +- pkg/compute/models/secgrouprules.go | 2 +- pkg/compute/models/secgroups.go | 14 +++---- pkg/compute/models/skus.go | 16 ++++---- pkg/compute/models/snapshotpolicy.go | 2 +- pkg/compute/models/snapshotpolicycache.go | 4 +- pkg/compute/models/snapshotpolicydisks.go | 4 +- pkg/compute/models/snapshots.go | 4 +- pkg/compute/models/storagecachedimages.go | 2 +- pkg/compute/models/storagecaches.go | 2 +- pkg/compute/models/storages.go | 8 ++-- pkg/compute/models/vpcs.go | 12 +++--- pkg/compute/models/wires.go | 6 +-- pkg/compute/models/zones.go | 2 +- pkg/compute/regiondrivers/aws.go | 2 +- pkg/compute/regiondrivers/base.go | 2 +- pkg/compute/regiondrivers/google.go | 4 +- pkg/compute/regiondrivers/huawei.go | 12 +++--- pkg/compute/regiondrivers/kvm.go | 2 +- pkg/compute/regiondrivers/managedvirtual.go | 2 +- pkg/compute/regiondrivers/qcloud.go | 6 +-- pkg/compute/storagedrivers/gpfs.go | 2 +- pkg/compute/storagedrivers/nfs.go | 2 +- pkg/compute/storagedrivers/rbd.go | 4 +- .../tasks/dbinstance_account_create_task.go | 2 +- ...dbinstance_account_grant_privilege_task.go | 2 +- .../dbinstance_account_set_privileges_task.go | 2 +- .../tasks/dbinstance_database_create_task.go | 2 +- .../tasks/instance_snapshot_create_task.go | 2 +- pkg/controller/autoscaling/controller.go | 1 + pkg/controller/autoscaling/timer.go | 4 +- pkg/image/models/image_guest_joint.go | 2 +- pkg/image/models/image_properties.go | 2 +- pkg/image/models/images.go | 18 ++++----- pkg/keystone/cronjobs/project_resources.go | 6 +-- pkg/keystone/models/assignments.go | 14 +++---- pkg/keystone/models/configs.go | 5 ++- pkg/keystone/models/domains.go | 4 +- pkg/keystone/models/fernetkeys.go | 3 +- pkg/keystone/models/groups.go | 2 +- pkg/keystone/models/id_mappings.go | 2 +- pkg/keystone/models/identity_provider.go | 8 ++-- pkg/keystone/models/localusers.go | 3 +- pkg/keystone/models/passwords.go | 3 +- pkg/keystone/models/projects.go | 8 ++-- pkg/keystone/models/roles.go | 6 +-- pkg/keystone/models/user_group_memberships.go | 2 +- pkg/keystone/models/users.go | 6 +-- pkg/monitor/models/alertnotification.go | 2 +- pkg/monitor/models/datasource.go | 2 +- pkg/notify/cache/user_group_cache.go | 2 +- pkg/notify/models/mod_config.go | 2 +- pkg/notify/models/mod_template.go | 2 +- pkg/notify/models/worker.go | 2 +- 140 files changed, 290 insertions(+), 273 deletions(-) diff --git a/pkg/cloudcommon/db/db_dispatcher.go b/pkg/cloudcommon/db/db_dispatcher.go index b271bb204e..7dd6d2b6f3 100644 --- a/pkg/cloudcommon/db/db_dispatcher.go +++ b/pkg/cloudcommon/db/db_dispatcher.go @@ -1167,7 +1167,7 @@ func _doCreateItem( if err != nil { return nil, httperrors.NewGeneralError(err) } - err = manager.TableSpec().InsertOrUpdate(model) + err = manager.TableSpec().InsertOrUpdate(ctx, model) if err != nil { return nil, httperrors.NewGeneralError(err) } diff --git a/pkg/cloudcommon/db/metadata.go b/pkg/cloudcommon/db/metadata.go index b9dccd3348..3730840146 100644 --- a/pkg/cloudcommon/db/metadata.go +++ b/pkg/cloudcommon/db/metadata.go @@ -514,7 +514,7 @@ func (manager *SMetadataManager) SetValues(ctx context.Context, obj IModel, stor } if len(record.Id) == 0 { - err = manager.TableSpec().InsertOrUpdate(&newRecord) + err = manager.TableSpec().InsertOrUpdate(ctx, &newRecord) } else { rV, rD := record.Value, record.Deleted _, err = Update(&record, func() error { diff --git a/pkg/cloudcommon/db/opslog.go b/pkg/cloudcommon/db/opslog.go index a4022864bc..80a8e5dc1a 100644 --- a/pkg/cloudcommon/db/opslog.go +++ b/pkg/cloudcommon/db/opslog.go @@ -399,7 +399,7 @@ func (manager *SOpsLogManager) LogEvent(model IModel, action string, notes inter } } - err := manager.TableSpec().Insert(&opslog) + err := manager.TableSpec().Insert(context.Background(), &opslog) if err != nil { log.Errorf("fail to insert opslog: %s", err) } diff --git a/pkg/cloudcommon/db/proxy/proxysetting.go b/pkg/cloudcommon/db/proxy/proxysetting.go index 6a6efdb089..85ef24c156 100644 --- a/pkg/cloudcommon/db/proxy/proxysetting.go +++ b/pkg/cloudcommon/db/proxy/proxysetting.go @@ -228,7 +228,7 @@ func (man *SProxySettingManager) InitializeData() error { ps.Description = "Connect directly" ps.IsPublic = true ps.PublicScope = string(rbacutils.ScopeSystem) - if err := man.TableSpec().Insert(ps); err != nil { + if err := man.TableSpec().Insert(context.Background(), ps); err != nil { return err } return nil diff --git a/pkg/cloudcommon/db/quotas/models.go b/pkg/cloudcommon/db/quotas/models.go index f15486fa7a..639b04ce01 100644 --- a/pkg/cloudcommon/db/quotas/models.go +++ b/pkg/cloudcommon/db/quotas/models.go @@ -155,7 +155,7 @@ func (manager *SQuotaBaseManager) getQuotasInternal(ctx context.Context, keys IQ } func (manager *SQuotaBaseManager) setQuotaInternal(ctx context.Context, userCred mcclient.TokenCredential, quota IQuota) error { - err := manager.TableSpec().InsertOrUpdate(quota) + err := manager.TableSpec().InsertOrUpdate(ctx, quota) if err != nil { return errors.Wrap(err, "InsertOrUpdate") } @@ -292,7 +292,7 @@ func (manager *SQuotaBaseManager) InitializeData() error { if quota.IsEmpty() { quota.FetchSystemQuota() } - err = manager.TableSpec().Insert(quota) + err = manager.TableSpec().Insert(context.Background(), quota) if err != nil { log.Errorf("%s insert error %s", manager.KeywordPlural(), err) continue diff --git a/pkg/cloudcommon/db/sharedresource.go b/pkg/cloudcommon/db/sharedresource.go index 4cfdf89529..b03aa899d3 100644 --- a/pkg/cloudcommon/db/sharedresource.go +++ b/pkg/cloudcommon/db/sharedresource.go @@ -205,7 +205,7 @@ func (manager *SSharedResourceManager) shareToTarget( sharedResource.ResourceId = model.GetId() sharedResource.TargetProjectId = targetId sharedResource.TargetType = targetType - if insetErr := SharedResourceManager.TableSpec().Insert(sharedResource); insetErr != nil { + if insetErr := SharedResourceManager.TableSpec().Insert(ctx, sharedResource); insetErr != nil { return nil, httperrors.NewInternalServerError("Insert shared resource failed %s", insetErr) } } diff --git a/pkg/cloudcommon/db/tablespec.go b/pkg/cloudcommon/db/tablespec.go index ccdc627945..b76959da4a 100644 --- a/pkg/cloudcommon/db/tablespec.go +++ b/pkg/cloudcommon/db/tablespec.go @@ -30,9 +30,9 @@ import ( type ITableSpec interface { Name() string DataType() reflect.Type - Insert(dt interface{}) error - InsertOrUpdate(dt interface{}) error - Update(dt interface{}, doUpdate func() error) (sqlchemy.UpdateDiffs, error) + Insert(ctx context.Context, dt interface{}) error + InsertOrUpdate(ctx context.Context, dt interface{}) error + Update(ctx context.Context, dt interface{}, doUpdate func() error) (sqlchemy.UpdateDiffs, error) Instance() *sqlchemy.STable ColumnSpec(name string) sqlchemy.IColumnSpec PrimaryColumns() []sqlchemy.IColumnSpec @@ -87,23 +87,23 @@ func (ts *sTableSpec) isMarkDeleted(dt interface{}) (bool, error) { return obj.GetDeleted(), nil } -func (ts *sTableSpec) Insert(dt interface{}) error { +func (ts *sTableSpec) Insert(ctx context.Context, dt interface{}) error { if err := ts.STableSpec.Insert(dt); err != nil { return err } - ts.inform(dt, informer.Create) + ts.inform(ctx, dt, informer.Create) return nil } -func (ts *sTableSpec) InsertOrUpdate(dt interface{}) error { +func (ts *sTableSpec) InsertOrUpdate(ctx context.Context, dt interface{}) error { if err := ts.STableSpec.InsertOrUpdate(dt); err != nil { return err } - ts.inform(dt, informer.Create) + ts.inform(ctx, dt, informer.Create) return nil } -func (ts *sTableSpec) Update(dt interface{}, doUpdate func() error) (sqlchemy.UpdateDiffs, error) { +func (ts *sTableSpec) Update(ctx context.Context, dt interface{}, doUpdate func() error) (sqlchemy.UpdateDiffs, error) { oldObj := jsonutils.Marshal(dt) diffs, err := ts.STableSpec.Update(dt, doUpdate) if err != nil { @@ -118,36 +118,44 @@ func (ts *sTableSpec) Update(dt interface{}, doUpdate func() error) (sqlchemy.Up return nil, errors.Wrap(err, "check is mark deleted") } if isDeleted { - ts.inform(dt, informer.Delete) + ts.inform(ctx, dt, informer.Delete) } else { - ts.informUpdate(dt, oldObj.(*jsonutils.JSONDict)) + ts.informUpdate(ctx, dt, oldObj.(*jsonutils.JSONDict)) } return diffs, nil } -func (ts *sTableSpec) inform(dt interface{}, f func(ctx context.Context, obj *informer.ModelObject) error) { +func (ts *sTableSpec) inform(ctx context.Context, dt interface{}, f func(ctx context.Context, obj *informer.ModelObject) error) { nf := func() { obj, err := ts.newInformerModel(dt) if err != nil { log.Warningf("newInformerModel error: %v", err) return } - if err := f(context.Background(), obj); err != nil { - log.Errorf("call informer func error: %v", err) + if err := f(ctx, obj); err != nil { + if errors.Cause(err) == informer.ErrBackendNotInit { + log.V(4).Warningf("informer backend not init") + } else { + log.Errorf("call informer func error: %v", err) + } } } nopanic.Run(nf) } -func (ts *sTableSpec) informUpdate(dt interface{}, oldObj *jsonutils.JSONDict) { +func (ts *sTableSpec) informUpdate(ctx context.Context, dt interface{}, oldObj *jsonutils.JSONDict) { nf := func() { obj, err := ts.newInformerModel(dt) if err != nil { log.Warningf("newInformerModel error: %v", err) return } - if err := informer.Update(context.Background(), obj, oldObj); err != nil { - log.Errorf("call informer update func error: %v", err) + if err := informer.Update(ctx, obj, oldObj); err != nil { + if errors.Cause(err) == informer.ErrBackendNotInit { + log.V(4).Warningf("informer backend not init") + } else { + log.Errorf("call informer update func error: %v", err) + } } } nopanic.Run(nf) diff --git a/pkg/cloudcommon/db/taskman/tasks.go b/pkg/cloudcommon/db/taskman/tasks.go index 7d86c9444d..b59d9b97d7 100644 --- a/pkg/cloudcommon/db/taskman/tasks.go +++ b/pkg/cloudcommon/db/taskman/tasks.go @@ -263,7 +263,7 @@ func (manager *STaskManager) NewTask( Params: data, Stage: TASK_INIT_STAGE, } - err := manager.TableSpec().Insert(&task) + err := manager.TableSpec().Insert(ctx, &task) if err != nil { log.Errorf("Task insert error %s", err) return nil, err @@ -271,7 +271,7 @@ func (manager *STaskManager) NewTask( parentTask := task.GetParentTask() if parentTask != nil { st := SSubTask{TaskId: parentTask.Id, Stage: parentTask.Stage, SubtaskId: task.Id} - err := SubTaskManager.TableSpec().Insert(&st) + err := SubTaskManager.TableSpec().Insert(ctx, &st) if err != nil { log.Errorf("Subtask insert error %s", err) return nil, err @@ -311,14 +311,14 @@ func (manager *STaskManager) NewParallelTask( Params: data, Stage: TASK_INIT_STAGE, } - err := manager.TableSpec().Insert(&task) + err := manager.TableSpec().Insert(ctx, &task) if err != nil { log.Errorf("Task insert error %s", err) return nil, err } for _, obj := range objs { to := STaskObject{TaskId: task.Id, ObjId: obj.GetId()} - err := TaskObjectManager.TableSpec().Insert(&to) + err := TaskObjectManager.TableSpec().Insert(ctx, &to) if err != nil { log.Errorf("Taskobject insert error %s", err) return nil, err @@ -327,7 +327,7 @@ func (manager *STaskManager) NewParallelTask( parentTask := task.GetParentTask() if parentTask != nil { st := SSubTask{TaskId: parentTask.Id, Stage: parentTask.Stage, SubtaskId: task.Id} - err := SubTaskManager.TableSpec().Insert(&st) + err := SubTaskManager.TableSpec().Insert(ctx, &st) if err != nil { log.Errorf("Subtask insert error %s", err) return nil, err diff --git a/pkg/cloudcommon/db/tenantcache.go b/pkg/cloudcommon/db/tenantcache.go index da640bb3aa..c3ea578ebe 100644 --- a/pkg/cloudcommon/db/tenantcache.go +++ b/pkg/cloudcommon/db/tenantcache.go @@ -336,7 +336,7 @@ func (manager *STenantCacheManager) Save(ctx context.Context, idStr string, name obj.Domain = domain obj.DomainId = domainId obj.LastCheck = now - err = manager.TableSpec().InsertOrUpdate(obj) + err = manager.TableSpec().InsertOrUpdate(ctx, obj) if err != nil { return nil, errors.Wrap(err, "InsertOrUpdate") } else { diff --git a/pkg/cloudcommon/db/update.go b/pkg/cloudcommon/db/update.go index 85ec3c46c4..597be223fa 100644 --- a/pkg/cloudcommon/db/update.go +++ b/pkg/cloudcommon/db/update.go @@ -23,7 +23,7 @@ import ( ) func Update(model IModel, updateFunc func() error) (sqlchemy.UpdateDiffs, error) { - return model.GetModelManager().TableSpec().Update(model, updateFunc) + return model.GetModelManager().TableSpec().Update(context.Background(), model, updateFunc) } func UpdateWithLock(ctx context.Context, model IModel, updateFunc func() error) (sqlchemy.UpdateDiffs, error) { diff --git a/pkg/cloudcommon/db/usercache.go b/pkg/cloudcommon/db/usercache.go index d73b98af0d..3588895580 100644 --- a/pkg/cloudcommon/db/usercache.go +++ b/pkg/cloudcommon/db/usercache.go @@ -172,7 +172,7 @@ func (manager *SUserCacheManager) Save(ctx context.Context, idStr string, name s obj.Domain = domain obj.DomainId = domainId obj.LastCheck = time.Now().UTC() - err = manager.TableSpec().InsertOrUpdate(obj) + err = manager.TableSpec().InsertOrUpdate(ctx, obj) if err != nil { return nil, err } else { diff --git a/pkg/cloudcommon/informer/informer.go b/pkg/cloudcommon/informer/informer.go index c6a57ab52b..ead1f0866d 100644 --- a/pkg/cloudcommon/informer/informer.go +++ b/pkg/cloudcommon/informer/informer.go @@ -55,7 +55,7 @@ func Set(be IInformerBackend) { func GetDefaultBackend() IInformerBackend { if defaultBackend == nil { - log.Warningf("default informer backend is not init") + log.V(10).Warningf("default informer backend is not init") } return defaultBackend } diff --git a/pkg/cloudevent/models/cloudevents.go b/pkg/cloudevent/models/cloudevents.go index 03f2c567fe..5d7483675c 100644 --- a/pkg/cloudevent/models/cloudevents.go +++ b/pkg/cloudevent/models/cloudevents.go @@ -148,7 +148,7 @@ func (manager *SCloudeventManager) SyncCloudevent(ctx context.Context, userCred event.CreatedAt = iEvent.GetCreatedAt() event.SetModelManager(manager, event) - err := manager.TableSpec().Insert(event) + err := manager.TableSpec().Insert(ctx, event) if err != nil { log.Errorf("failed to insert event: %s for cloudprovider: %s(%s) error: %v", jsonutils.Marshal(event).PrettyString(), cloudprovider.Name, cloudprovider.Id, err) continue diff --git a/pkg/cloudevent/models/cloudproviders.go b/pkg/cloudevent/models/cloudproviders.go index fb0295c8cf..4aac8222a4 100644 --- a/pkg/cloudevent/models/cloudproviders.go +++ b/pkg/cloudevent/models/cloudproviders.go @@ -206,7 +206,7 @@ func (self *SCloudprovider) SetLastSyncTimeAt(userCred mcclient.TokenCredential, func (manager *SCloudproviderManager) newFromRegionProvider(ctx context.Context, userCred mcclient.TokenCredential, cloudprovider SCloudprovider) error { cloudprovider.SyncStatus = api.CLOUD_PROVIDER_SYNC_STATUS_IDLE - return manager.TableSpec().Insert(&cloudprovider) + return manager.TableSpec().Insert(ctx, &cloudprovider) } func (manager *SCloudproviderManager) syncCloudeventTask(ctx context.Context, userCred mcclient.TokenCredential) error { diff --git a/pkg/cloudnet/models/ifaces.go b/pkg/cloudnet/models/ifaces.go index bbdee78aa7..729c5e4927 100644 --- a/pkg/cloudnet/models/ifaces.go +++ b/pkg/cloudnet/models/ifaces.go @@ -170,7 +170,7 @@ func (iface *SIface) addOrUpdatePeer(ctx context.Context, userCred mcclient.Toke PersistentKeepalive: persistentKeepalive, } ifacePeer.Name = fmt.Sprintf("%s-%s", iface.Name, peerIface.Name) - err := IfacePeerManager.TableSpec().Insert(ifacePeer) + err := IfacePeerManager.TableSpec().Insert(ctx, ifacePeer) return err } _, err = db.Update(ifacePeer, func() error { @@ -396,7 +396,7 @@ func (man *SIfaceManager) addWireguardIface(ctx context.Context, userCred mcclie } iface.SetModelManager(man, iface) - err := man.TableSpec().Insert(iface) + err := man.TableSpec().Insert(ctx, iface) if err != nil { return nil, err } @@ -419,7 +419,7 @@ func (man *SIfaceManager) addIface(ctx context.Context, userCred mcclient.TokenC Ifname: ifname, } iface.SetModelManager(man, iface) - err := man.TableSpec().Insert(iface) + err := man.TableSpec().Insert(ctx, iface) if err != nil { return nil, err } diff --git a/pkg/cloudnet/models/meshnetwork_members.go b/pkg/cloudnet/models/meshnetwork_members.go index 7de54c6f8f..a3b48bb352 100644 --- a/pkg/cloudnet/models/meshnetwork_members.go +++ b/pkg/cloudnet/models/meshnetwork_members.go @@ -147,6 +147,6 @@ func (man *SMeshNetworkMemberManager) addMember(ctx context.Context, userCred mc } member.SetModelManager(man, member) member.Name = fmt.Sprintf("%s-%s", mn.Name, router.Name) - man.TableSpec().Insert(member) + man.TableSpec().Insert(ctx, member) return member, nil } diff --git a/pkg/cloudnet/models/rules.go b/pkg/cloudnet/models/rules.go index 888c225942..88358e0ae0 100644 --- a/pkg/cloudnet/models/rules.go +++ b/pkg/cloudnet/models/rules.go @@ -380,7 +380,7 @@ func (man *SRuleManager) addRules(ctx context.Context, userCred mcclient.TokenCr } func (man *SRuleManager) addRule(ctx context.Context, userCred mcclient.TokenCredential, rule *SRule) error { - return man.TableSpec().Insert(rule) + return man.TableSpec().Insert(ctx, rule) } func (rule *SRule) firewalldRule() (*firewalld.Rule, error) { diff --git a/pkg/compute/models/buckets.go b/pkg/compute/models/buckets.go index 483c75b886..574a6b0191 100644 --- a/pkg/compute/models/buckets.go +++ b/pkg/compute/models/buckets.go @@ -213,7 +213,7 @@ func (manager *SBucketManager) newFromCloudBucket( bucket.IsEmulated = false - err = manager.TableSpec().Insert(&bucket) + err = manager.TableSpec().Insert(ctx, &bucket) if err != nil { return nil, errors.Wrap(err, "Insert") } diff --git a/pkg/compute/models/cachedimages.go b/pkg/compute/models/cachedimages.go index 1ce24a9925..68429b8e55 100644 --- a/pkg/compute/models/cachedimages.go +++ b/pkg/compute/models/cachedimages.go @@ -220,7 +220,7 @@ func (manager *SCachedimageManager) cacheGlanceImageInfo(ctx context.Context, us imageCache.Info = info imageCache.LastSync = timeutils.UtcNow() - err = manager.TableSpec().Insert(&imageCache) + err = manager.TableSpec().Insert(ctx, &imageCache) if err != nil { return nil, err } @@ -490,7 +490,7 @@ func (manager *SCachedimageManager) newFromCloudImage(ctx context.Context, userC cachedImage.ImageType = image.GetImageType() cachedImage.ExternalId = image.GetGlobalId() - err = manager.TableSpec().Insert(&cachedImage) + err = manager.TableSpec().Insert(ctx, &cachedImage) if err != nil { return nil, err } diff --git a/pkg/compute/models/cloudaccounts.go b/pkg/compute/models/cloudaccounts.go index bc224afb31..53bdbcd4c4 100644 --- a/pkg/compute/models/cloudaccounts.go +++ b/pkg/compute/models/cloudaccounts.go @@ -906,7 +906,7 @@ func (self *SCloudaccount) importSubAccount(ctx context.Context, userCred mcclie newCloudprovider.SetModelManager(CloudproviderManager, &newCloudprovider) - err = CloudproviderManager.TableSpec().Insert(&newCloudprovider) + err = CloudproviderManager.TableSpec().Insert(ctx, &newCloudprovider) if err != nil { return nil, err } else { @@ -1173,7 +1173,7 @@ func migrateCloudprovider(cloudprovider *SCloudprovider) error { account.Name = providerName account.Status = cloudprovider.Status - err := CloudaccountManager.TableSpec().Insert(&account) + err := CloudaccountManager.TableSpec().Insert(context.Background(), &account) if err != nil { log.Errorf("Insert Account error: %v", err) return err diff --git a/pkg/compute/models/cloudprovider_quotas.go b/pkg/compute/models/cloudprovider_quotas.go index ad90dbe323..3c8bf1e41b 100644 --- a/pkg/compute/models/cloudprovider_quotas.go +++ b/pkg/compute/models/cloudprovider_quotas.go @@ -283,7 +283,7 @@ func (manager *SCloudproviderQuotaManager) newFromCloudQuota(ctx context.Context quota.CloudregionId = region.Id } - return manager.TableSpec().Insert("a) + return manager.TableSpec().Insert(ctx, "a) } func (manager *SCloudproviderQuotaManager) ListItemExportKeys(ctx context.Context, diff --git a/pkg/compute/models/cloudprovidercapacities.go b/pkg/compute/models/cloudprovidercapacities.go index 6be7efb776..56c99433ab 100644 --- a/pkg/compute/models/cloudprovidercapacities.go +++ b/pkg/compute/models/cloudprovidercapacities.go @@ -73,7 +73,7 @@ func (manager *SCloudproviderCapabilityManager) setRegionCapabilities(ctx contex for _, capability := range added { cpc.Capability = capability - err := manager.TableSpec().InsertOrUpdate(&cpc) + err := manager.TableSpec().InsertOrUpdate(ctx, &cpc) if err != nil { return errors.Wrap(err, "manager.TableSpec().InsertOrUpdate") } diff --git a/pkg/compute/models/cloudproviderregions.go b/pkg/compute/models/cloudproviderregions.go index c165372084..f8b79942a8 100644 --- a/pkg/compute/models/cloudproviderregions.go +++ b/pkg/compute/models/cloudproviderregions.go @@ -253,7 +253,7 @@ func (manager *SCloudproviderregionManager) FetchByIdsOrCreate(providerId string cpr.Enabled = true cpr.SyncStatus = api.CLOUD_PROVIDER_SYNC_STATUS_IDLE - err := manager.TableSpec().Insert(cpr) + err := manager.TableSpec().Insert(context.Background(), cpr) if err != nil { log.Errorf("insert fail %s", err) return nil diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index fd9a93ea22..cd6f74b943 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -1053,7 +1053,7 @@ func (manager *SCloudproviderManager) migrateVCenterInfo(vc *SVCenter) error { cp.LastSync = vc.LastSync cp.Provider = api.CLOUD_PROVIDER_VMWARE - return manager.TableSpec().Insert(&cp) + return manager.TableSpec().Insert(context.TODO(), &cp) } // 云订阅列表 diff --git a/pkg/compute/models/cloudregions.go b/pkg/compute/models/cloudregions.go index 28f8c59d00..aed8986272 100644 --- a/pkg/compute/models/cloudregions.go +++ b/pkg/compute/models/cloudregions.go @@ -483,7 +483,7 @@ func (manager *SCloudregionManager) newFromCloudRegion(ctx context.Context, user region.ManagerId = provider.Id } - err = manager.TableSpec().Insert(®ion) + err = manager.TableSpec().Insert(ctx, ®ion) if err != nil { log.Errorf("newFromCloudRegion fail %s", err) return nil, err @@ -549,7 +549,7 @@ func (manager *SCloudregionManager) InitializeData() error { defRegion.Description = "Default Region" defRegion.Status = api.CLOUD_REGION_STATUS_INSERVER defRegion.Provider = api.CLOUD_PROVIDER_ONECLOUD - err := manager.TableSpec().Insert(&defRegion) + err := manager.TableSpec().Insert(context.TODO(), &defRegion) if err != nil { return errors.Wrap(err, "insert default region") } diff --git a/pkg/compute/models/dbinstance_accounts.go b/pkg/compute/models/dbinstance_accounts.go index c5470e8e8a..c5bf7e86b6 100644 --- a/pkg/compute/models/dbinstance_accounts.go +++ b/pkg/compute/models/dbinstance_accounts.go @@ -680,7 +680,7 @@ func (manager *SDBInstanceAccountManager) newFromCloudDBInstanceAccount(ctx cont account.Status = extAccount.GetStatus() account.ExternalId = extAccount.GetGlobalId() - err := manager.TableSpec().Insert(&account) + err := manager.TableSpec().Insert(ctx, &account) if err != nil { return nil, errors.Wrapf(err, "newFromCloudDBInstanceAccount.Insert") } diff --git a/pkg/compute/models/dbinstance_backups.go b/pkg/compute/models/dbinstance_backups.go index bb17a5f699..9a2d9b88d8 100644 --- a/pkg/compute/models/dbinstance_backups.go +++ b/pkg/compute/models/dbinstance_backups.go @@ -504,7 +504,7 @@ func (manager *SDBInstanceBackupManager) newFromCloudDBInstanceBackup( } } - err = manager.TableSpec().Insert(&backup) + err = manager.TableSpec().Insert(ctx, &backup) if err != nil { return errors.Wrapf(err, "newFromCloudDBInstanceBackup.Insert") } diff --git a/pkg/compute/models/dbinstance_databases.go b/pkg/compute/models/dbinstance_databases.go index 5a428f1699..c4c7e00f8a 100644 --- a/pkg/compute/models/dbinstance_databases.go +++ b/pkg/compute/models/dbinstance_databases.go @@ -436,7 +436,7 @@ func (manager *SDBInstanceDatabaseManager) newFromCloudDBInstanceDatabase(ctx co database.CharacterSet = extDatabase.GetCharacterSet() database.ExternalId = extDatabase.GetGlobalId() - err := manager.TableSpec().Insert(&database) + err := manager.TableSpec().Insert(ctx, &database) if err != nil { return errors.Wrapf(err, "newFromCloudDBInstanceDatabase.Insert") } diff --git a/pkg/compute/models/dbinstance_parameters.go b/pkg/compute/models/dbinstance_parameters.go index 4fb2d92556..b660dffddd 100644 --- a/pkg/compute/models/dbinstance_parameters.go +++ b/pkg/compute/models/dbinstance_parameters.go @@ -211,7 +211,7 @@ func (manager *SDBInstanceParameterManager) newFromCloudDBInstanceParameter(ctx parameter.Value = extParameter.GetValue() parameter.ExternalId = extParameter.GetGlobalId() - err := manager.TableSpec().Insert(¶meter) + err := manager.TableSpec().Insert(ctx, ¶meter) if err != nil { return errors.Wrapf(err, "newFromCloudDBInstanceParameter.Insert") } diff --git a/pkg/compute/models/dbinstance_privileges.go b/pkg/compute/models/dbinstance_privileges.go index fbeacd9726..47591509ce 100644 --- a/pkg/compute/models/dbinstance_privileges.go +++ b/pkg/compute/models/dbinstance_privileges.go @@ -195,7 +195,7 @@ func (manager *SDBInstancePrivilegeManager) newFromCloudPrivileges(ctx context.C privilege.DBInstancedatabaseId = database.Id - err = manager.TableSpec().Insert(&privilege) + err = manager.TableSpec().Insert(ctx, &privilege) if err != nil { return errors.Wrapf(err, "newFromCloudDBInstanceDatabase.Insert") } diff --git a/pkg/compute/models/dbinstance_skus.go b/pkg/compute/models/dbinstance_skus.go index 32fff6e3aa..4b6ccdc868 100644 --- a/pkg/compute/models/dbinstance_skus.go +++ b/pkg/compute/models/dbinstance_skus.go @@ -586,7 +586,7 @@ func (manager *SDBInstanceSkuManager) newFromCloudSku(ctx context.Context, userC sku.Zone3 = zone.Id } - return manager.TableSpec().Insert(sku) + return manager.TableSpec().Insert(ctx, sku) } func SyncRegionDBInstanceSkus(ctx context.Context, userCred mcclient.TokenCredential, regionId string, isStart bool) { diff --git a/pkg/compute/models/dbinstancenetworks.go b/pkg/compute/models/dbinstancenetworks.go index 649c4b8436..17774c67b3 100644 --- a/pkg/compute/models/dbinstancenetworks.go +++ b/pkg/compute/models/dbinstancenetworks.go @@ -122,7 +122,7 @@ func (m *SDBInstanceNetworkManager) NewDBInstanceNetwork(ctx context.Context, us return nil, err } in.IpAddr = ipAddr - err = m.TableSpec().Insert(in) + err = m.TableSpec().Insert(ctx, in) if err != nil { // NOTE no need to free ipAddr as GetFreeIP has no side effect return nil, err @@ -210,7 +210,7 @@ func (manager *SDBInstanceNetworkManager) newFromCloudDBNetwork(ctx context.Cont dbNetwork.NetworkId = localnetwork.Id dbNetwork.IpAddr = network.IP - err = manager.TableSpec().Insert(&dbNetwork) + err = manager.TableSpec().Insert(ctx, &dbNetwork) if err != nil { return errors.Wrapf(err, "newFromCloudDBNetwork.Insert") } diff --git a/pkg/compute/models/dbinstances.go b/pkg/compute/models/dbinstances.go index 45a4aa1f7c..f6bbb90e5b 100644 --- a/pkg/compute/models/dbinstances.go +++ b/pkg/compute/models/dbinstances.go @@ -1608,7 +1608,7 @@ func (manager *SDBInstanceManager) newFromCloudDBInstance(ctx context.Context, u instance.AutoRenew = extInstance.IsAutoRenew() } - err = manager.TableSpec().Insert(&instance) + err = manager.TableSpec().Insert(ctx, &instance) if err != nil { return nil, errors.Wrapf(err, "newFromCloudDBInstance.Insert") } diff --git a/pkg/compute/models/disks.go b/pkg/compute/models/disks.go index 427f229fe0..e3d14bb0fc 100644 --- a/pkg/compute/models/disks.go +++ b/pkg/compute/models/disks.go @@ -1517,7 +1517,7 @@ func (manager *SDiskManager) newFromCloudDisk(ctx context.Context, userCred mccl disk.CreatedAt = createAt } - err = manager.TableSpec().Insert(&disk) + err = manager.TableSpec().Insert(ctx, &disk) if err != nil { log.Errorf("newFromCloudZone fail %s", err) return nil, err diff --git a/pkg/compute/models/elasticcache_accounts.go b/pkg/compute/models/elasticcache_accounts.go index b86b95b0ee..4b475f8bd4 100644 --- a/pkg/compute/models/elasticcache_accounts.go +++ b/pkg/compute/models/elasticcache_accounts.go @@ -179,7 +179,7 @@ func (manager *SElasticcacheAccountManager) newFromCloudElasticcacheAccount(ctx account.AccountType = extAccount.GetAccountType() account.AccountPrivilege = extAccount.GetAccountPrivilege() - err := manager.TableSpec().Insert(&account) + err := manager.TableSpec().Insert(ctx, &account) if err != nil { return nil, errors.Wrapf(err, "newFromCloudElasticcacheAccount.Insert") } diff --git a/pkg/compute/models/elasticcache_acls.go b/pkg/compute/models/elasticcache_acls.go index 56b43cef9c..81f0e4d09b 100644 --- a/pkg/compute/models/elasticcache_acls.go +++ b/pkg/compute/models/elasticcache_acls.go @@ -159,7 +159,7 @@ func (manager *SElasticcacheAclManager) newFromCloudElasticcacheAcl(ctx context. acl.ExternalId = extAcl.GetGlobalId() acl.IpList = extAcl.GetIpList() - err := manager.TableSpec().Insert(&acl) + err := manager.TableSpec().Insert(ctx, &acl) if err != nil { return nil, errors.Wrapf(err, "newFromCloudElasticcacheAcl.Insert") } diff --git a/pkg/compute/models/elasticcache_backups.go b/pkg/compute/models/elasticcache_backups.go index 8653f818d5..95b1e5dd6f 100644 --- a/pkg/compute/models/elasticcache_backups.go +++ b/pkg/compute/models/elasticcache_backups.go @@ -187,7 +187,7 @@ func (manager *SElasticcacheBackupManager) newFromCloudElasticcacheBackup(ctx co backup.StartTime = extBackup.GetStartTime() backup.EndTime = extBackup.GetEndTime() - err := manager.TableSpec().Insert(&backup) + err := manager.TableSpec().Insert(ctx, &backup) if err != nil { return nil, errors.Wrapf(err, "newFromCloudElasticcacheBackup.Insert") } diff --git a/pkg/compute/models/elasticcache_instances.go b/pkg/compute/models/elasticcache_instances.go index 89645ed865..15d21dc8c2 100644 --- a/pkg/compute/models/elasticcache_instances.go +++ b/pkg/compute/models/elasticcache_instances.go @@ -613,7 +613,7 @@ func (manager *SElasticcacheManager) newFromCloudElasticcache(ctx context.Contex instance.AutoRenew = extInstance.IsAutoRenew() } - err = manager.TableSpec().Insert(&instance) + err = manager.TableSpec().Insert(ctx, &instance) if err != nil { return nil, errors.Wrapf(err, "newFromCloudElasticcache.Insert") } diff --git a/pkg/compute/models/elasticcache_parameters.go b/pkg/compute/models/elasticcache_parameters.go index 075f4ea708..02e837fd7f 100644 --- a/pkg/compute/models/elasticcache_parameters.go +++ b/pkg/compute/models/elasticcache_parameters.go @@ -175,7 +175,7 @@ func (manager *SElasticcacheParameterManager) newFromCloudElasticcacheParameter( parameter.ForceRestart = extParameter.GetForceRestart() parameter.Description = extParameter.GetDescription() - err := manager.TableSpec().Insert(¶meter) + err := manager.TableSpec().Insert(ctx, ¶meter) if err != nil { return nil, errors.Wrapf(err, "newFromCloudElasticcacheParameter.Insert") } diff --git a/pkg/compute/models/elasticcache_skus.go b/pkg/compute/models/elasticcache_skus.go index 70b4934bc0..282b580d01 100644 --- a/pkg/compute/models/elasticcache_skus.go +++ b/pkg/compute/models/elasticcache_skus.go @@ -454,7 +454,7 @@ func (self *SElasticcacheSku) syncWithCloudSku(ctx context.Context, userCred mcc } func (manager *SElasticcacheSkuManager) newFromCloudSku(ctx context.Context, userCred mcclient.TokenCredential, extSku SElasticcacheSku) error { - return manager.TableSpec().Insert(&extSku) + return manager.TableSpec().Insert(ctx, &extSku) } func (manager *SElasticcacheSkuManager) AllowGetPropertyInstanceSpecs(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool { diff --git a/pkg/compute/models/elasticips.go b/pkg/compute/models/elasticips.go index 3b9afaa6ec..a1dbdba9d1 100644 --- a/pkg/compute/models/elasticips.go +++ b/pkg/compute/models/elasticips.go @@ -510,7 +510,7 @@ func (manager *SElasticipManager) newFromCloudEip(ctx context.Context, userCred eip.NetworkId = network.GetId() } - err = manager.TableSpec().Insert(&eip) + err = manager.TableSpec().Insert(ctx, &eip) if err != nil { log.Errorf("newFromCloudEip fail %s", err) return nil, err @@ -1236,7 +1236,7 @@ func (manager *SElasticipManager) NewEipForVMOnHost(ctx context.Context, userCre return nil, errors.Wrap(err, "db.GenerateName") } - err = manager.TableSpec().Insert(&eip) + err = manager.TableSpec().Insert(ctx, &eip) if err != nil { log.Errorf("create EIP record fail %s", err) return nil, err diff --git a/pkg/compute/models/external_projects.go b/pkg/compute/models/external_projects.go index 537cc83597..aad334daf2 100644 --- a/pkg/compute/models/external_projects.go +++ b/pkg/compute/models/external_projects.go @@ -232,7 +232,7 @@ func (manager *SExternalProjectManager) newFromCloudProject(ctx context.Context, } } - err := manager.TableSpec().Insert(&project) + err := manager.TableSpec().Insert(ctx, &project) if err != nil { log.Errorf("newFromCloudProject fail %s", err) return nil, err diff --git a/pkg/compute/models/groupguests.go b/pkg/compute/models/groupguests.go index 678a9fd616..623b37c942 100644 --- a/pkg/compute/models/groupguests.go +++ b/pkg/compute/models/groupguests.go @@ -148,7 +148,7 @@ func (self *SGroupguestManager) Attach(ctx context.Context, groupId, guestId str joint.GuestId = guestId joint.GroupId = groupId - err := self.TableSpec().Insert(joint) + err := self.TableSpec().Insert(ctx, joint) if err != nil { return nil, err } diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index 513194dd05..be20cbdd99 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -3731,7 +3731,7 @@ func (man *SGuestManager) createImportGuest(ctx context.Context, userCred mcclie gst.VcpuCount = desc.Cpu gst.BootOrder = desc.BootOrder gst.Description = desc.Description - err = man.TableSpec().Insert(gst) + err = man.TableSpec().Insert(ctx, gst) return gst, err } diff --git a/pkg/compute/models/guestdisks.go b/pkg/compute/models/guestdisks.go index 74ae4c81e8..8d91cdf867 100644 --- a/pkg/compute/models/guestdisks.go +++ b/pkg/compute/models/guestdisks.go @@ -167,7 +167,7 @@ func (manager *SGuestdiskManager) FetchCustomizeColumns( return rows } -func (self *SGuestdisk) DoSave(driver string, cache string, mountpoint string) error { +func (self *SGuestdisk) DoSave(ctx context.Context, driver string, cache string, mountpoint string) error { self.ImagePath = "" if len(driver) == 0 { driver = "scsi" @@ -181,7 +181,7 @@ func (self *SGuestdisk) DoSave(driver string, cache string, mountpoint string) e self.Driver = driver self.CacheMode = cache self.AioMode = "native" - return GuestdiskManager.TableSpec().Insert(self) + return GuestdiskManager.TableSpec().Insert(ctx, self) } func (self *SGuestdisk) GetDisk() *SDisk { diff --git a/pkg/compute/models/guestnetworks.go b/pkg/compute/models/guestnetworks.go index 34a6480924..8bda03160f 100644 --- a/pkg/compute/models/guestnetworks.go +++ b/pkg/compute/models/guestnetworks.go @@ -277,7 +277,7 @@ func (manager *SGuestnetworkManager) newGuestNetwork( } gn.Ifname = ifname gn.TeamWith = teamWithMac - err = manager.TableSpec().Insert(&gn) + err = manager.TableSpec().Insert(ctx, &gn) if err != nil { return nil, err } diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 3c28465ad3..120e55cf59 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -1661,7 +1661,7 @@ func (guest *SGuest) PostCreate(ctx context.Context, userCred mcclient.TokenCred gs := SGuestsecgroup{} gs.SecgroupId = secgroup gs.GuestId = guest.Id - GuestsecgroupManager.TableSpec().Insert(&gs) + GuestsecgroupManager.TableSpec().Insert(ctx, &gs) } } @@ -1982,7 +1982,7 @@ func (self *SGuest) getCdrom(create bool) *SGuestcdrom { if err == sql.ErrNoRows { if create { cdrom.Id = self.Id - err = GuestcdromManager.TableSpec().Insert(&cdrom) + err = GuestcdromManager.TableSpec().Insert(context.TODO(), &cdrom) if err != nil { log.Errorf("insert cdrom fail %s", err) return nil @@ -2510,7 +2510,7 @@ func (manager *SGuestManager) newCloudVM(ctx context.Context, userCred mcclient. guest.VmemSize = extVM.GetVmemSizeMB() } - err := manager.TableSpec().Insert(&guest) + err := manager.TableSpec().Insert(ctx, &guest) if err != nil { log.Errorf("Insert fail %s", err) return nil, err @@ -2700,20 +2700,20 @@ type sAddGuestnic struct { reserve bool } -func getCloudNicNetwork(vnic cloudprovider.ICloudNic, host *SHost, ipList []string, index int) (*SNetwork, error) { +func getCloudNicNetwork(ctx context.Context, vnic cloudprovider.ICloudNic, host *SHost, ipList []string, index int) (*SNetwork, error) { vnet := vnic.GetINetwork() if vnet == nil { if vnic.InClassicNetwork() { - vpc, err := VpcManager.GetOrCreateVpcForClassicNetwork(host) + vpc, err := VpcManager.GetOrCreateVpcForClassicNetwork(ctx, host) if err != nil { return nil, errors.Wrap(err, "NewVpcForClassicNetwork") } zone := host.GetZone() - wire, err := WireManager.GetOrCreateWireForClassicNetwork(vpc, zone) + wire, err := WireManager.GetOrCreateWireForClassicNetwork(ctx, vpc, zone) if err != nil { return nil, errors.Wrap(err, "NewWireForClassicNetwork") } - return NetworkManager.GetOrCreateClassicNetwork(wire) + return NetworkManager.GetOrCreateClassicNetwork(ctx, wire) } ip := vnic.GetIP() if len(ip) == 0 { @@ -2749,7 +2749,7 @@ func (self *SGuest) SyncVMNics(ctx context.Context, userCred mcclient.TokenCrede for i := 0; i < len(guestnics) || i < len(vnics); i += 1 { if i < len(guestnics) && i < len(vnics) { - localNet, err := getCloudNicNetwork(vnics[i], host, ipList, i) + localNet, err := getCloudNicNetwork(ctx, vnics[i], host, ipList, i) if err != nil { log.Errorf("%s", err) result.Error(err) @@ -2783,7 +2783,7 @@ func (self *SGuest) SyncVMNics(ctx context.Context, userCred mcclient.TokenCrede } else if i < len(guestnics) { removed = append(removed, sRemoveGuestnic{nic: &guestnics[i]}) } else if i < len(vnics) { - localNet, err := getCloudNicNetwork(vnics[i], host, ipList, i) + localNet, err := getCloudNicNetwork(ctx, vnics[i], host, ipList, i) if err != nil { log.Errorf("%s", err) // ignore this case } else { @@ -2907,7 +2907,7 @@ func (self *SGuest) attach2Disk(ctx context.Context, disk *SDisk, userCred mccli lockman.LockObject(ctx, self) guestdisk.Index = self.getDiskIndex() - err = guestdisk.DoSave(driver, cache, mountpoint) + err = guestdisk.DoSave(ctx, driver, cache, mountpoint) if err == nil { db.OpsLog.LogAttachEvent(ctx, self, disk, userCred, nil) } @@ -3326,7 +3326,7 @@ func (self *SGuest) createDiskOnStorage(ctx context.Context, userCred mcclient.T if storage.IsLocal() || billingType == billing_api.BILLING_TYPE_PREPAID || isWithServerCreate { autoDelete = true } - disk, err := storage.createDisk(diskName, diskConfig, userCred, self.GetOwnerId(), autoDelete, self.IsSystem, + disk, err := storage.createDisk(ctx, diskName, diskConfig, userCred, self.GetOwnerId(), autoDelete, self.IsSystem, billingType, billingCycle) if err != nil { diff --git a/pkg/compute/models/guestsecgroups.go b/pkg/compute/models/guestsecgroups.go index d942374de0..7be27957a9 100644 --- a/pkg/compute/models/guestsecgroups.go +++ b/pkg/compute/models/guestsecgroups.go @@ -93,7 +93,7 @@ func (manager *SGuestsecgroupManager) newGuestSecgroup(ctx context.Context, user lockman.LockObject(ctx, secgroup) defer lockman.ReleaseObject(ctx, secgroup) - return &gs, manager.TableSpec().Insert(&gs) + return &gs, manager.TableSpec().Insert(ctx, &gs) } func (manager *SGuestsecgroupManager) GetGuestSecgroups(guest *SGuest, secgroup *SSecurityGroup) ([]SGuestsecgroup, error) { diff --git a/pkg/compute/models/host_recycle.go b/pkg/compute/models/host_recycle.go index 92c8a1355e..c9257243b3 100644 --- a/pkg/compute/models/host_recycle.go +++ b/pkg/compute/models/host_recycle.go @@ -174,7 +174,7 @@ func (self *SGuest) doPrepaidRecycleNoLock(ctx context.Context, userCred mcclien fakeHost.IsEmulated = true fakeHost.Description = "fake host for prepaid vm recycling" - err = HostManager.TableSpec().Insert(&fakeHost) + err = HostManager.TableSpec().Insert(ctx, &fakeHost) if err != nil { log.Errorf("fail to insert fake host %s", err) return err @@ -245,7 +245,7 @@ func (self *SGuest) doPrepaidRecycleNoLock(ctx context.Context, userCred mcclien fakeStorage.ManagerId = sysStorage.ManagerId fakeStorage.ExternalId = externalId - err = StorageManager.TableSpec().Insert(&fakeStorage) + err = StorageManager.TableSpec().Insert(ctx, &fakeStorage) if err != nil { log.Errorf("fail to insert fake storage %s", err) fakeHost.RealDelete(ctx, userCred) diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index bc4512bc1f..1d246570a7 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -830,7 +830,7 @@ func (self *SHost) PerformUpdateStorage( storage.StoragecacheId = storageCacheId storage.DomainId = self.DomainId storage.DomainSrc = string(apis.OWNER_SOURCE_LOCAL) - err := StorageManager.TableSpec().Insert(&storage) + err := StorageManager.TableSpec().Insert(ctx, &storage) if err != nil { return nil, fmt.Errorf("Create baremetal storage error: %v", err) } @@ -842,7 +842,7 @@ func (self *SHost) PerformUpdateStorage( bmStorage.StorageId = storage.Id bmStorage.RealCapacity = capacity bmStorage.MountPoint = "" - err = HoststorageManager.TableSpec().Insert(&bmStorage) + err = HoststorageManager.TableSpec().Insert(ctx, &bmStorage) if err != nil { return nil, fmt.Errorf("Create baremetal hostStorage error: %v", err) } @@ -1747,7 +1747,7 @@ func (manager *SHostManager) newFromCloudHost(ctx context.Context, userCred mccl host.IsPublic = false host.PublicScope = string(rbacutils.ScopeNone) - err = manager.TableSpec().Insert(&host) + err = manager.TableSpec().Insert(ctx, &host) if err != nil { log.Errorf("newFromCloudHost fail %s", err) return nil, err @@ -1882,7 +1882,7 @@ func (self *SHost) Attach2Storage(ctx context.Context, userCred mcclient.TokenCr hs.StorageId = storage.Id hs.HostId = self.Id hs.MountPoint = mountPoint - err := HoststorageManager.TableSpec().Insert(&hs) + err := HoststorageManager.TableSpec().Insert(ctx, &hs) if err != nil { return err } @@ -1999,7 +1999,7 @@ func (self *SHost) Attach2Wire(ctx context.Context, userCred mcclient.TokenCrede hs.WireId = wire.Id hs.HostId = self.Id - err := HostwireManager.TableSpec().Insert(&hs) + err := HostwireManager.TableSpec().Insert(ctx, &hs) if err != nil { return err } @@ -3694,7 +3694,7 @@ func (self *SHost) PerformInitialize( guest.Status = api.VM_RUNNING guest.OsType = "Linux" guest.SetModelManager(GuestManager, guest) - err = GuestManager.TableSpec().Insert(guest) + err = GuestManager.TableSpec().Insert(ctx, guest) if err != nil { return nil, httperrors.NewInternalServerError("Guest Insert error: %s", err) } @@ -3815,7 +3815,7 @@ func (self *SHost) addNetif(ctx context.Context, userCred mcclient.TokenCredenti netif.LinkUp = linkUp.Bool() } netif.Mtu = mtu - err = NetInterfaceManager.TableSpec().Insert(netif) + err = NetInterfaceManager.TableSpec().Insert(ctx, netif) if err != nil { return err } @@ -3876,7 +3876,7 @@ func (self *SHost) addNetif(ctx context.Context, userCred mcclient.TokenCredenti hw.WireId = sw.Id hw.IsMaster = isMaster hw.MacAddr = mac - err := HostwireManager.TableSpec().Insert(hw) + err := HostwireManager.TableSpec().Insert(ctx, hw) if err != nil { return err } @@ -4074,7 +4074,7 @@ func (self *SHost) Attach2Network(ctx context.Context, userCred mcclient.TokenCr bn.NetworkId = net.Id bn.IpAddr = freeIp bn.MacAddr = netif.Mac - err = HostnetworkManager.TableSpec().Insert(bn) + err = HostnetworkManager.TableSpec().Insert(ctx, bn) if err != nil { return nil, errors.Wrap(err, "HostnetworkManager.TableSpec().Insert") } diff --git a/pkg/compute/models/instance_snapshot_joint.go b/pkg/compute/models/instance_snapshot_joint.go index a2cb4177af..3875194790 100644 --- a/pkg/compute/models/instance_snapshot_joint.go +++ b/pkg/compute/models/instance_snapshot_joint.go @@ -14,7 +14,11 @@ package models -import "yunion.io/x/onecloud/pkg/cloudcommon/db" +import ( + "context" + + "yunion.io/x/onecloud/pkg/cloudcommon/db" +) func init() { db.InitManager(func() { @@ -56,14 +60,14 @@ func (manager *SInstanceSnapshotJointManager) GetSlaveFieldName() string { var InstanceSnapshotJointManager *SInstanceSnapshotJointManager -func (manager *SInstanceSnapshotJointManager) CreateJoint(instanceSnapshotId, snapshotId string, diskIndex int8) error { +func (manager *SInstanceSnapshotJointManager) CreateJoint(ctx context.Context, instanceSnapshotId, snapshotId string, diskIndex int8) error { instanceSnapshotJoint := &SInstanceSnapshotJoint{} instanceSnapshotJoint.SetModelManager(manager, instanceSnapshotJoint) instanceSnapshotJoint.InstanceSnapshotId = instanceSnapshotId instanceSnapshotJoint.SnapshotId = snapshotId instanceSnapshotJoint.DiskIndex = diskIndex - return manager.TableSpec().Insert(instanceSnapshotJoint) + return manager.TableSpec().Insert(ctx, instanceSnapshotJoint) } func (manager *SInstanceSnapshotJointManager) IsSubSnapshot(snapshotId string) (bool, error) { diff --git a/pkg/compute/models/instance_snapshots.go b/pkg/compute/models/instance_snapshots.go index fd8821e3db..6377b4a2b4 100644 --- a/pkg/compute/models/instance_snapshots.go +++ b/pkg/compute/models/instance_snapshots.go @@ -284,7 +284,7 @@ func (manager *SInstanceSnapshotManager) CreateInstanceSnapshot( instanceSnapshot.OsType = guest.OsType instanceSnapshot.ServerMetadata = serverMetadata instanceSnapshot.InstanceType = guest.InstanceType - err := manager.TableSpec().Insert(instanceSnapshot) + err := manager.TableSpec().Insert(ctx, instanceSnapshot) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalanceracls.go b/pkg/compute/models/loadbalanceracls.go index 3a5914aff4..be3be9f624 100644 --- a/pkg/compute/models/loadbalanceracls.go +++ b/pkg/compute/models/loadbalanceracls.go @@ -446,7 +446,7 @@ func (manager *SLoadbalancerAclManager) InitializeData() error { } cachedAcl.Id = "" cachedAcl.AclId = acl.Id - err = CachedLoadbalancerAclManager.TableSpec().Insert(cachedAcl) + err = CachedLoadbalancerAclManager.TableSpec().Insert(context.TODO(), cachedAcl) if err != nil { return err } diff --git a/pkg/compute/models/loadbalanceragents.go b/pkg/compute/models/loadbalanceragents.go index 0dce283825..88ebf52dcc 100644 --- a/pkg/compute/models/loadbalanceragents.go +++ b/pkg/compute/models/loadbalanceragents.go @@ -684,7 +684,7 @@ func (lbagent *SLoadbalancerAgent) PerformHb(ctx context.Context, userCred mccli } } } - diff, err := lbagent.GetModelManager().TableSpec().Update(lbagent, func() error { + diff, err := lbagent.GetModelManager().TableSpec().Update(ctx, lbagent, func() error { lbagent.HbLastSeen = time.Now() if jVer, err := data.Get("version"); err == nil { if jVerStr, ok := jVer.(*jsonutils.JSONString); ok { diff --git a/pkg/compute/models/loadbalancerawscachedlbb.go b/pkg/compute/models/loadbalancerawscachedlbb.go index 702e29f96e..f08acac4d3 100644 --- a/pkg/compute/models/loadbalancerawscachedlbb.go +++ b/pkg/compute/models/loadbalancerawscachedlbb.go @@ -89,7 +89,7 @@ func (man *SAwsCachedLbManager) CreateAwsCachedLb(ctx context.Context, userCred return nil, err } - err = man.TableSpec().Insert(cachedlbb) + err = man.TableSpec().Insert(ctx, cachedlbb) if err != nil { return nil, err @@ -269,7 +269,7 @@ func (man *SAwsCachedLbManager) newFromCloudLoadbalancerBackend(ctx context.Cont return nil, err } - err = man.TableSpec().Insert(lbb) + err = man.TableSpec().Insert(ctx, lbb) if err != nil { return nil, err diff --git a/pkg/compute/models/loadbalancerawscachedlbbg.go b/pkg/compute/models/loadbalancerawscachedlbbg.go index 653379bd28..888b116374 100644 --- a/pkg/compute/models/loadbalancerawscachedlbbg.go +++ b/pkg/compute/models/loadbalancerawscachedlbbg.go @@ -422,7 +422,7 @@ func (man *SAwsCachedLbbgManager) newFromCloudLoadbalancerBackendgroup(ctx conte lbbg.Name = newName lbbg.Status = extLoadbalancerBackendgroup.GetStatus() - err = man.TableSpec().Insert(lbbg) + err = man.TableSpec().Insert(ctx, lbbg) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalancerbackendgroups.go b/pkg/compute/models/loadbalancerbackendgroups.go index caeb797dc4..b0b8e24826 100644 --- a/pkg/compute/models/loadbalancerbackendgroups.go +++ b/pkg/compute/models/loadbalancerbackendgroups.go @@ -977,7 +977,7 @@ func (man *SLoadbalancerBackendGroupManager) newFromCloudLoadbalancerBackendgrou lbbg.Type = extLoadbalancerBackendgroup.GetType() lbbg.Status = extLoadbalancerBackendgroup.GetStatus() - err = man.TableSpec().Insert(lbbg) + err = man.TableSpec().Insert(ctx, lbbg) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalancerbackends.go b/pkg/compute/models/loadbalancerbackends.go index 55c644886c..e6599fdbf8 100644 --- a/pkg/compute/models/loadbalancerbackends.go +++ b/pkg/compute/models/loadbalancerbackends.go @@ -609,7 +609,7 @@ func (man *SLoadbalancerBackendManager) newFromCloudLoadbalancerBackend(ctx cont return nil, err } - err = man.TableSpec().Insert(lbb) + err = man.TableSpec().Insert(ctx, lbb) if err != nil { return nil, err diff --git a/pkg/compute/models/loadbalancercachedacls.go b/pkg/compute/models/loadbalancercachedacls.go index cc757a31f7..b9bf5920f7 100644 --- a/pkg/compute/models/loadbalancercachedacls.go +++ b/pkg/compute/models/loadbalancercachedacls.go @@ -363,7 +363,7 @@ func (man *SCachedLoadbalancerAclManager) GetOrCreateCachedAcl(ctx context.Conte lbacl, err := man.getLoadbalancerAclByRegion(provider, region.Id, acl.Id, listenerId) if err == nil { if lbacl.Id != acl.Id { - _, err := man.TableSpec().Update(&lbacl, func() error { + _, err := man.TableSpec().Update(ctx, &lbacl, func() error { lbacl.Name = acl.Name lbacl.AclId = acl.Id return nil @@ -389,7 +389,7 @@ func (man *SCachedLoadbalancerAclManager) GetOrCreateCachedAcl(ctx context.Conte lbacl.AclId = acl.Id lbacl.ListenerId = listenerId - err = man.TableSpec().Insert(&lbacl) + err = man.TableSpec().Insert(ctx, &lbacl) if err != nil { return nil, err } @@ -514,7 +514,7 @@ func (man *SCachedLoadbalancerAclManager) newFromCloudLoadbalancerAcl(ctx contex localAcl.DomainId = userCred.GetProjectDomainId() localAcl.ProjectId = userCred.GetProjectId() localAcl.ProjectSrc = string(apis.OWNER_SOURCE_CLOUD) - err := LoadbalancerAclManager.TableSpec().Insert(&localAcl) + err := LoadbalancerAclManager.TableSpec().Insert(ctx, &localAcl) if err != nil { return nil, errors.Wrap(err, "cachedLoadbalancerAclManager.new.InsertAcl") } @@ -529,7 +529,7 @@ func (man *SCachedLoadbalancerAclManager) newFromCloudLoadbalancerAcl(ctx contex acl.AclId = localAcl.GetId() } - err = man.TableSpec().Insert(&acl) + err = man.TableSpec().Insert(ctx, &acl) if err != nil { log.Errorf("newFromCloudLoadbalancerAcl fail %s", err) return nil, errors.Wrap(err, "cachedLoadbalancerAclManager.new.InsertCachedAcl") diff --git a/pkg/compute/models/loadbalancercachedcertificates.go b/pkg/compute/models/loadbalancercachedcertificates.go index 2106132db8..e45b6c0864 100644 --- a/pkg/compute/models/loadbalancercachedcertificates.go +++ b/pkg/compute/models/loadbalancercachedcertificates.go @@ -281,7 +281,7 @@ func (man *SCachedLoadbalancerCertificateManager) GetOrCreateCachedCertificate(c lbcert.IsSystem = cert.IsSystem lbcert.CertificateId = cert.Id - err = man.TableSpec().Insert(&lbcert) + err = man.TableSpec().Insert(ctx, &lbcert) if err != nil { return nil, errors.Wrap(err, "cachedLoadbalancerCertificateManager.create") } @@ -317,7 +317,7 @@ func (man *SCachedLoadbalancerCertificateManager) newFromCloudLoadbalancerCertif if err != nil { switch err { case sql.ErrNoRows: - localcert, err := LoadbalancerCertificateManager.CreateCertificate(userCred, lbcert.Name, extCertificate.GetPublickKey(), extCertificate.GetPrivateKey(), extCertificate.GetFingerprint()) + localcert, err := LoadbalancerCertificateManager.CreateCertificate(ctx, userCred, lbcert.Name, extCertificate.GetPublickKey(), extCertificate.GetPrivateKey(), extCertificate.GetFingerprint()) if err != nil { return nil, fmt.Errorf("newFromCloudLoadbalancerCertificate CreateCertificate %s", err) } @@ -330,7 +330,7 @@ func (man *SCachedLoadbalancerCertificateManager) newFromCloudLoadbalancerCertif lbcert.CertificateId = c.Id } - err = man.TableSpec().Insert(&lbcert) + err = man.TableSpec().Insert(ctx, &lbcert) if err != nil { log.Errorf("newFromCloudLoadbalancerCertificate fail %s", err) return nil, err diff --git a/pkg/compute/models/loadbalancercertificates.go b/pkg/compute/models/loadbalancercertificates.go index b47f9987d7..93a2413c88 100644 --- a/pkg/compute/models/loadbalancercertificates.go +++ b/pkg/compute/models/loadbalancercertificates.go @@ -357,7 +357,7 @@ func (man *SLoadbalancerCertificateManager) InitializeData() error { return nil } -func (man *SLoadbalancerCertificateManager) CreateCertificate(userCred mcclient.TokenCredential, name string, publicKey string, privateKey, fingerprint string) (*SLoadbalancerCertificate, error) { +func (man *SLoadbalancerCertificateManager) CreateCertificate(ctx context.Context, userCred mcclient.TokenCredential, name string, publicKey string, privateKey, fingerprint string) (*SLoadbalancerCertificate, error) { if len(fingerprint) == 0 { return nil, fmt.Errorf("CreateCertificate fingerprint can not be empty") } @@ -385,7 +385,7 @@ func (man *SLoadbalancerCertificateManager) CreateCertificate(userCred mcclient. cert.ProjectId = userCred.GetProjectId() cert.ProjectSrc = string(apis.OWNER_SOURCE_CLOUD) - err = man.TableSpec().Insert(cert) + err = man.TableSpec().Insert(ctx, cert) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalancerclusters.go b/pkg/compute/models/loadbalancerclusters.go index 9349fc3b2b..275bd1e104 100644 --- a/pkg/compute/models/loadbalancerclusters.go +++ b/pkg/compute/models/loadbalancerclusters.go @@ -360,7 +360,7 @@ func (man *SLoadbalancerClusterManager) InitializeData() error { lbc = m.(*SLoadbalancerCluster) lbc.Name = "auto-lbc-" + zoneId lbc.ZoneId = zoneId - if err := man.TableSpec().Insert(lbc); err != nil { + if err := man.TableSpec().Insert(context.TODO(), lbc); err != nil { return errors.Wrap(err, "insert lbcluster model") } } else { diff --git a/pkg/compute/models/loadbalancerhuaweicachedlbb.go b/pkg/compute/models/loadbalancerhuaweicachedlbb.go index 711d78a85e..64033700b8 100644 --- a/pkg/compute/models/loadbalancerhuaweicachedlbb.go +++ b/pkg/compute/models/loadbalancerhuaweicachedlbb.go @@ -92,7 +92,7 @@ func (man *SHuaweiCachedLbManager) CreateHuaweiCachedLb(ctx context.Context, use return nil, err } - err = man.TableSpec().Insert(cachedlbb) + err = man.TableSpec().Insert(ctx, cachedlbb) if err != nil { return nil, err @@ -272,7 +272,7 @@ func (man *SHuaweiCachedLbManager) newFromCloudLoadbalancerBackend(ctx context.C return nil, err } - err = man.TableSpec().Insert(lbb) + err = man.TableSpec().Insert(ctx, lbb) if err != nil { return nil, err @@ -354,7 +354,7 @@ func newLocalBackendFromCloudLoadbalancerBackend(ctx context.Context, userCred m return nil, err } - err = man.TableSpec().Insert(lbb) + err = man.TableSpec().Insert(ctx, lbb) if err != nil { return nil, err diff --git a/pkg/compute/models/loadbalancerhuaweicachedlbbg.go b/pkg/compute/models/loadbalancerhuaweicachedlbbg.go index 5d982216cf..f9ab38151b 100644 --- a/pkg/compute/models/loadbalancerhuaweicachedlbbg.go +++ b/pkg/compute/models/loadbalancerhuaweicachedlbbg.go @@ -359,7 +359,7 @@ func (man *SHuaweiCachedLbbgManager) newFromCloudLoadbalancerBackendgroup(ctx co lbbg.Name = newName lbbg.Status = extLoadbalancerBackendgroup.GetStatus() - err = man.TableSpec().Insert(lbbg) + err = man.TableSpec().Insert(ctx, lbbg) if err != nil { return nil, err } @@ -389,7 +389,7 @@ func newLocalBackendgroupFromCloudLoadbalancerBackendgroup(ctx context.Context, lbbg.Type = extLoadbalancerBackendgroup.GetType() lbbg.Status = extLoadbalancerBackendgroup.GetStatus() - err = localman.TableSpec().Insert(lbbg) + err = localman.TableSpec().Insert(ctx, lbbg) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalancerlistenerrules.go b/pkg/compute/models/loadbalancerlistenerrules.go index 2ac862ba7a..78ee78b51e 100644 --- a/pkg/compute/models/loadbalancerlistenerrules.go +++ b/pkg/compute/models/loadbalancerlistenerrules.go @@ -850,7 +850,7 @@ func (man *SLoadbalancerListenerRuleManager) newFromCloudLoadbalancerListenerRul } lbr.Name = newName lbr.constructFieldsFromCloudListenerRule(userCred, extRule) - err = man.TableSpec().Insert(lbr) + err = man.TableSpec().Insert(ctx, lbr) if err != nil { log.Errorf("newFromCloudLoadbalancerListenerRule fail %s", err) diff --git a/pkg/compute/models/loadbalancerlisteners.go b/pkg/compute/models/loadbalancerlisteners.go index 646870b56a..3db950efd7 100644 --- a/pkg/compute/models/loadbalancerlisteners.go +++ b/pkg/compute/models/loadbalancerlisteners.go @@ -1191,7 +1191,7 @@ func (man *SLoadbalancerListenerManager) newFromCloudLoadbalancerListener(ctx co lblis.constructFieldsFromCloudListener(userCred, lb, extListener) - err = man.TableSpec().Insert(lblis) + err = man.TableSpec().Insert(ctx, lblis) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalancernetworks.go b/pkg/compute/models/loadbalancernetworks.go index 3601fe88c7..fa302abac9 100644 --- a/pkg/compute/models/loadbalancernetworks.go +++ b/pkg/compute/models/loadbalancernetworks.go @@ -121,7 +121,7 @@ func (m *SLoadbalancernetworkManager) NewLoadbalancerNetwork(ctx context.Context return nil, err } ln.IpAddr = ipAddr - err = m.TableSpec().Insert(ln) + err = m.TableSpec().Insert(ctx, ln) if err != nil { // NOTE no need to free ipAddr as GetFreeIP has no side effect return nil, err @@ -179,7 +179,7 @@ func (m *SLoadbalancernetworkManager) syncLoadbalancerNetwork(ctx context.Contex } if len(lns) == 0 { ln := &SLoadbalancerNetwork{LoadbalancerId: req.Loadbalancer.Id, NetworkId: req.NetworkId, IpAddr: req.Address} - return m.TableSpec().Insert(ln) + return m.TableSpec().Insert(ctx, ln) } for i := 0; i < len(lns); i++ { if i == 0 { diff --git a/pkg/compute/models/loadbalancerqcloudcachedlbb.go b/pkg/compute/models/loadbalancerqcloudcachedlbb.go index 2efbea1f7c..ff860b50ce 100644 --- a/pkg/compute/models/loadbalancerqcloudcachedlbb.go +++ b/pkg/compute/models/loadbalancerqcloudcachedlbb.go @@ -170,7 +170,7 @@ func (man *SQcloudCachedLbManager) newFromCloudLoadbalancerBackend(ctx context.C return nil, err } - err = man.TableSpec().Insert(lbb) + err = man.TableSpec().Insert(ctx, lbb) if err != nil { return nil, err @@ -275,7 +275,7 @@ func (man *SQcloudCachedLbManager) CreateQcloudCachedLb(ctx context.Context, use return nil, err } - err = man.TableSpec().Insert(cachedlbb) + err = man.TableSpec().Insert(ctx, cachedlbb) if err != nil { return nil, err diff --git a/pkg/compute/models/loadbalancerqcloudcachedlbbg.go b/pkg/compute/models/loadbalancerqcloudcachedlbbg.go index 0301c90fcb..08072f7349 100644 --- a/pkg/compute/models/loadbalancerqcloudcachedlbbg.go +++ b/pkg/compute/models/loadbalancerqcloudcachedlbbg.go @@ -341,7 +341,7 @@ func (man *SQcloudCachedLbbgManager) newFromCloudLoadbalancerBackendgroup(ctx co lbbg.Name = newName lbbg.Status = extLoadbalancerBackendgroup.GetStatus() - err = man.TableSpec().Insert(lbbg) + err = man.TableSpec().Insert(ctx, lbbg) if err != nil { return nil, err } diff --git a/pkg/compute/models/loadbalancers.go b/pkg/compute/models/loadbalancers.go index 8d3dc01a15..a2fbabd309 100644 --- a/pkg/compute/models/loadbalancers.go +++ b/pkg/compute/models/loadbalancers.go @@ -792,7 +792,7 @@ func (man *SLoadbalancerManager) newFromCloudLoadbalancer(ctx context.Context, u lb.LBInfo = extLb.GetMetadata() } - if err := man.TableSpec().Insert(&lb); err != nil { + if err := man.TableSpec().Insert(ctx, &lb); err != nil { log.Errorf("newFromCloudRegion fail %s", err) return nil, err } diff --git a/pkg/compute/models/natdtable.go b/pkg/compute/models/natdtable.go index 4a159537ce..5529c70a87 100644 --- a/pkg/compute/models/natdtable.go +++ b/pkg/compute/models/natdtable.go @@ -283,7 +283,7 @@ func (manager *SNatDEntryManager) newFromCloudNatDTable(ctx context.Context, use table.InternalPort = extEntry.GetInternalPort() table.IpProtocol = extEntry.GetIpProtocol() - err := manager.TableSpec().Insert(&table) + err := manager.TableSpec().Insert(ctx, &table) if err != nil { log.Errorf("newFromCloudNatDTable fail %s", err) return nil, err diff --git a/pkg/compute/models/natgateways.go b/pkg/compute/models/natgateways.go index 3def5f4da0..04b1930a3f 100644 --- a/pkg/compute/models/natgateways.go +++ b/pkg/compute/models/natgateways.go @@ -411,7 +411,7 @@ func (manager *SNatGatewayManager) newFromCloudNatGateway(ctx context.Context, u nat.AutoRenew = extNat.IsAutoRenew() } - err = manager.TableSpec().Insert(&nat) + err = manager.TableSpec().Insert(ctx, &nat) if err != nil { log.Errorf("newFromCloudNatGateway fail %s", err) return nil, errors.Wrap(err, "Insert") diff --git a/pkg/compute/models/natstable.go b/pkg/compute/models/natstable.go index 26ebaa5d29..c9201fb7ef 100644 --- a/pkg/compute/models/natstable.go +++ b/pkg/compute/models/natstable.go @@ -329,7 +329,7 @@ func (manager *SNatSEntryManager) newFromCloudNatSTable(ctx context.Context, use table.NetworkId = network.GetId() } - err := manager.TableSpec().Insert(&table) + err := manager.TableSpec().Insert(ctx, &table) if err != nil { log.Errorf("newFromCloudNatSTable fail %s", err) return nil, err diff --git a/pkg/compute/models/networkinterfacenetwork.go b/pkg/compute/models/networkinterfacenetwork.go index 65b96a0e4b..7e0052465a 100644 --- a/pkg/compute/models/networkinterfacenetwork.go +++ b/pkg/compute/models/networkinterfacenetwork.go @@ -199,7 +199,7 @@ func (manager *SNetworkinterfacenetworkManager) newFromCloudInterfaceAddress(ctx address.NetworkId = network.Id - err = manager.TableSpec().Insert(&address) + err = manager.TableSpec().Insert(ctx, &address) if err != nil { return errors.Wrap(err, "TableSpec().Insert(&address)") } diff --git a/pkg/compute/models/networkinterfaces.go b/pkg/compute/models/networkinterfaces.go index 7926a9e1c3..8173bd9412 100644 --- a/pkg/compute/models/networkinterfaces.go +++ b/pkg/compute/models/networkinterfaces.go @@ -347,7 +347,7 @@ func (manager *SNetworkInterfaceManager) newFromCloudNetworkInterface(ctx contex } } - err = manager.TableSpec().Insert(&networkinterface) + err = manager.TableSpec().Insert(ctx, &networkinterface) if err != nil { return nil, errors.Wrap(err, "TableSpec().Insert(&networkinterface)") } diff --git a/pkg/compute/models/networks.go b/pkg/compute/models/networks.go index fc08a470fa..dffffa62bd 100644 --- a/pkg/compute/models/networks.go +++ b/pkg/compute/models/networks.go @@ -308,7 +308,7 @@ func (self *SNetwork) GetNetworkInterfacesCount() (int, error) { return NetworkInterfaceManager.Query().In("id", sq).CountWithError() } -func (manager *SNetworkManager) GetOrCreateClassicNetwork(wire *SWire) (*SNetwork, error) { +func (manager *SNetworkManager) GetOrCreateClassicNetwork(ctx context.Context, wire *SWire) (*SNetwork, error) { _network, err := db.FetchByExternalId(manager, wire.Id) if err == nil { return _network.(*SNetwork), nil @@ -334,7 +334,7 @@ func (manager *SNetworkManager) GetOrCreateClassicNetwork(wire *SWire) (*SNetwor network.DomainId = admin.GetProjectDomainId() network.ProjectId = admin.GetProjectId() network.Status = api.NETWORK_STATUS_UNAVAILABLE - err = manager.TableSpec().Insert(&network) + err = manager.TableSpec().Insert(ctx, &network) if err != nil { return nil, errors.Wrap(err, "Insert classic network") } @@ -726,7 +726,7 @@ func (manager *SNetworkManager) newFromCloudNetwork(ctx context.Context, userCre net.AllocTimoutSeconds = extNet.GetAllocTimeoutSeconds() - err = manager.TableSpec().Insert(&net) + err = manager.TableSpec().Insert(ctx, &net) if err != nil { log.Errorf("newFromCloudZone fail %s", err) return nil, err @@ -2156,7 +2156,7 @@ func (self *SNetwork) PerformSplit(ctx context.Context, userCred mcclient.TokenC network.IsSystem = self.IsSystem network.Description = self.Description - err = NetworkManager.TableSpec().Insert(network) + err = NetworkManager.TableSpec().Insert(ctx, network) if err != nil { return nil, err } @@ -2286,7 +2286,7 @@ func (manager *SNetworkManager) PerformTryCreateNetwork(ctx context.Context, use } newNetwork.Name = newName - err = NetworkManager.TableSpec().Insert(newNetwork) + err = NetworkManager.TableSpec().Insert(ctx, newNetwork) if err != nil { return nil, err } diff --git a/pkg/compute/models/policy_assignment.go b/pkg/compute/models/policy_assignment.go index 3ab62d8ec1..c02a0647bd 100644 --- a/pkg/compute/models/policy_assignment.go +++ b/pkg/compute/models/policy_assignment.go @@ -106,19 +106,19 @@ func (manager *SPolicyAssignmentManager) QueryDistinctExtraField(q *sqlchemy.SQu return q, httperrors.ErrNotFound } -func (manager *SPolicyAssignmentManager) checkAndSetAssignment(definition *SPolicyDefinition, domainId string) error { +func (manager *SPolicyAssignmentManager) checkAndSetAssignment(ctx context.Context, definition *SPolicyDefinition, domainId string) error { q := manager.Query().Equals("policydefinition_id", definition.Id).Equals("domain_id", domainId) count, err := q.CountWithError() if err != nil { return errors.Wrap(err, "CountWithError") } if count == 0 { - return manager.newAssignment(definition, domainId) + return manager.newAssignment(ctx, definition, domainId) } return nil } -func (manager *SPolicyAssignmentManager) newAssignment(definition *SPolicyDefinition, domainId string) error { +func (manager *SPolicyAssignmentManager) newAssignment(ctx context.Context, definition *SPolicyDefinition, domainId string) error { assignment := SPolicyAssignment{} assignment.SetModelManager(manager, &assignment) @@ -126,5 +126,5 @@ func (manager *SPolicyAssignmentManager) newAssignment(definition *SPolicyDefini assignment.DomainId = domainId assignment.PolicydefinitionId = definition.Id - return manager.TableSpec().Insert(&assignment) + return manager.TableSpec().Insert(ctx, &assignment) } diff --git a/pkg/compute/models/regiondrivers.go b/pkg/compute/models/regiondrivers.go index 353e8596b7..ed022f5e02 100644 --- a/pkg/compute/models/regiondrivers.go +++ b/pkg/compute/models/regiondrivers.go @@ -153,7 +153,7 @@ type IDBInstanceDriver interface { IsSupportDBInstancePublicConnection() bool IsSupportKeepDBInstanceManualBackup() bool - InitDBInstanceUser(dbinstance *SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error + InitDBInstanceUser(ctx context.Context, dbinstance *SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error IsDBInstanceNeedSecgroup() bool } diff --git a/pkg/compute/models/reservedips.go b/pkg/compute/models/reservedips.go index 2e0805854a..0697178cc5 100644 --- a/pkg/compute/models/reservedips.go +++ b/pkg/compute/models/reservedips.go @@ -113,7 +113,7 @@ func (manager *SReservedipManager) ReserveIPWithDurationAndStatus(userCred mccli if rip == nil { rip := SReservedip{IpAddr: ip, Notes: notes, ExpiredAt: expiredAt, Status: status} rip.NetworkId = network.Id - err := manager.TableSpec().Insert(&rip) + err := manager.TableSpec().Insert(context.TODO(), &rip) if err != nil { log.Errorf("ReserveIP fail: %s", err) return errors.Wrap(err, "Insert") diff --git a/pkg/compute/models/routetables.go b/pkg/compute/models/routetables.go index edc751ab9a..36a5e75c34 100644 --- a/pkg/compute/models/routetables.go +++ b/pkg/compute/models/routetables.go @@ -425,7 +425,7 @@ func (man *SRouteTableManager) insertFromCloud(ctx context.Context, userCred mcc if err != nil { return nil, err } - if err := man.TableSpec().Insert(routeTable); err != nil { + if err := man.TableSpec().Insert(ctx, routeTable); err != nil { return nil, err } SyncCloudDomain(userCred, routeTable, provider.GetOwnerId()) diff --git a/pkg/compute/models/scaling_activity.go b/pkg/compute/models/scaling_activity.go index 2750dabe1c..00bb8391b2 100644 --- a/pkg/compute/models/scaling_activity.go +++ b/pkg/compute/models/scaling_activity.go @@ -108,7 +108,7 @@ func (sam *SScalingActivity) SetReject(action string, reason string) error { return sam.SetResult(action, compute.SA_STATUS_REJECT, reason, -1) } -func (sam *SScalingActivityManager) CreateScalingActivity(sgId, triggerDesc, status string) (*SScalingActivity, error) { +func (sam *SScalingActivityManager) CreateScalingActivity(ctx context.Context, sgId, triggerDesc, status string) (*SScalingActivity, error) { scalingActivity := &SScalingActivity{ TriggerDesc: triggerDesc, StartTime: time.Now(), @@ -116,7 +116,7 @@ func (sam *SScalingActivityManager) CreateScalingActivity(sgId, triggerDesc, sta scalingActivity.ScalingGroupId = sgId scalingActivity.Status = status scalingActivity.SetModelManager(sam, scalingActivity) - return scalingActivity, sam.TableSpec().Insert(scalingActivity) + return scalingActivity, sam.TableSpec().Insert(ctx, scalingActivity) } func (sa *SScalingActivity) StartToScale(triggerDesc string) (*SScalingActivity, error) { diff --git a/pkg/compute/models/scaling_group.go b/pkg/compute/models/scaling_group.go index a652133ce9..4d6ebc9003 100644 --- a/pkg/compute/models/scaling_group.go +++ b/pkg/compute/models/scaling_group.go @@ -510,7 +510,7 @@ func (sg *SScalingGroup) Scale(ctx context.Context, triggerDesc IScalingTriggerD if sg.Enabled.IsFalse() { return nil } - scalingActivity, err := ScalingActivityManager.CreateScalingActivity(sg.Id, triggerDesc.TriggerDescription(), api.SA_STATUS_EXEC) + scalingActivity, err := ScalingActivityManager.CreateScalingActivity(ctx, sg.Id, triggerDesc.TriggerDescription(), api.SA_STATUS_EXEC) if err != nil { return errors.Wrapf(err, "create ScalingActivity whose ScalingGroup is %s error", sg.Id) } diff --git a/pkg/compute/models/scaling_trigger.go b/pkg/compute/models/scaling_trigger.go index b4eb53fa5a..dadf9585b0 100644 --- a/pkg/compute/models/scaling_trigger.go +++ b/pkg/compute/models/scaling_trigger.go @@ -337,7 +337,7 @@ func (st *SScalingTimer) ValidateCreateData(input api.ScalingPolicyCreateInput) func (st *SScalingTimer) Register(ctx context.Context, userCred mcclient.TokenCredential) error { // insert st.Update(time.Time{}) - err := ScalingTimerManager.TableSpec().Insert(st) + err := ScalingTimerManager.TableSpec().Insert(ctx, st) if err != nil { return errors.Wrap(err, "STableSpec.Insert") } @@ -469,7 +469,7 @@ func (sa *SScalingAlarm) Register(ctx context.Context, userCred mcclient.TokenCr sa.AlarmId = alarmId // insert - err = ScalingAlarmManager.TableSpec().Insert(sa) + err = ScalingAlarmManager.TableSpec().Insert(ctx, sa) if err != nil { return errors.Wrap(err, "STableSpec.Insert") } diff --git a/pkg/compute/models/scalinggroup_guest.go b/pkg/compute/models/scalinggroup_guest.go index 0191cb02ac..b0c104325b 100644 --- a/pkg/compute/models/scalinggroup_guest.go +++ b/pkg/compute/models/scalinggroup_guest.go @@ -68,7 +68,7 @@ func (sggm *SScalingGroupGuestManager) Attach(ctx context.Context, scaligGroupId } else { sgg.Manual = tristate.False } - return sggm.TableSpec().Insert(sgg) + return sggm.TableSpec().Insert(ctx, sgg) } func (sgg *SScalingGroupGuest) Detach(ctx context.Context, userCred mcclient.TokenCredential) error { diff --git a/pkg/compute/models/scalinggroup_network.go b/pkg/compute/models/scalinggroup_network.go index c14f320bd3..b975f9acb8 100644 --- a/pkg/compute/models/scalinggroup_network.go +++ b/pkg/compute/models/scalinggroup_network.go @@ -54,7 +54,7 @@ func (sgnm *SScalingGroupNetworkManager) Attach(ctx context.Context, scalingGrou ScalingGroupId: scalingGroupId, NetworkId: networkId, } - return sgnm.TableSpec().Insert(sgn) + return sgnm.TableSpec().Insert(ctx, sgn) } func (sgn *SScalingGroupNetwork) Detach(ctx context.Context, userCred mcclient.TokenCredential) error { diff --git a/pkg/compute/models/schedtags.go b/pkg/compute/models/schedtags.go index d6c85d4baa..02ebc68f16 100644 --- a/pkg/compute/models/schedtags.go +++ b/pkg/compute/models/schedtags.go @@ -550,7 +550,7 @@ func PerformSetResourceSchedtag(obj IModelWithSchedtag, ctx context.Context, use if err := createData.Unmarshal(newTagObj); err != nil { return nil, httperrors.NewGeneralError(fmt.Errorf("Create %s joint schedtag error: %v", jointMan.Keyword(), err)) } - if err := newTagObj.GetModelManager().TableSpec().Insert(newTagObj); err != nil { + if err := newTagObj.GetModelManager().TableSpec().Insert(ctx, newTagObj); err != nil { return nil, httperrors.NewGeneralError(err) } } diff --git a/pkg/compute/models/secgroupcache.go b/pkg/compute/models/secgroupcache.go index 03c406a6c2..9cddad44fd 100644 --- a/pkg/compute/models/secgroupcache.go +++ b/pkg/compute/models/secgroupcache.go @@ -307,7 +307,7 @@ func (manager *SSecurityGroupCacheManager) NewCache(ctx context.Context, userCre secgroupCache.CloudregionId = regionId secgroupCache.Name = secgroup.GetName() secgroupCache.SetModelManager(manager, secgroupCache) - if err := manager.TableSpec().Insert(secgroupCache); err != nil { + if err := manager.TableSpec().Insert(ctx, secgroupCache); err != nil { log.Errorf("insert secgroupcache error: %v", err) return nil, err } diff --git a/pkg/compute/models/secgrouprules.go b/pkg/compute/models/secgrouprules.go index 02c0ef7282..3cff8eefcf 100644 --- a/pkg/compute/models/secgrouprules.go +++ b/pkg/compute/models/secgrouprules.go @@ -498,7 +498,7 @@ func (manager *SSecurityGroupRuleManager) newFromCloudSecurityGroup(ctx context. } secrule.SecgroupId = secgroup.Id - err := manager.TableSpec().Insert(secrule) + err := manager.TableSpec().Insert(ctx, secrule) if err != nil { return nil, err } diff --git a/pkg/compute/models/secgroups.go b/pkg/compute/models/secgroups.go index 51102ba482..630a27fd54 100644 --- a/pkg/compute/models/secgroups.go +++ b/pkg/compute/models/secgroups.go @@ -348,7 +348,7 @@ func (self *SSecurityGroup) PostCreate(ctx context.Context, userCred mcclient.To } rule.SecgroupId = self.Id - SecurityGroupRuleManager.TableSpec().Insert(rule) + SecurityGroupRuleManager.TableSpec().Insert(ctx, rule) } } @@ -499,7 +499,7 @@ func (self *SSecurityGroup) PerformAddRule(ctx context.Context, userCred mcclien if err := rule.ValidateRule(); err != nil { return nil, httperrors.NewInputParameterError(err.Error()) } - if err := SecurityGroupRuleManager.TableSpec().Insert(secgrouprule); err != nil { + if err := SecurityGroupRuleManager.TableSpec().Insert(ctx, secgrouprule); err != nil { return nil, httperrors.NewInputParameterError(err.Error()) } self.DoSync(ctx, userCred) @@ -532,7 +532,7 @@ func (self *SSecurityGroup) PerformClone(ctx context.Context, userCred mcclient. secgroup.ProjectId = userCred.GetProjectId() secgroup.DomainId = userCred.GetProjectDomainId() - err = SecurityGroupManager.TableSpec().Insert(secgroup) + err = SecurityGroupManager.TableSpec().Insert(ctx, secgroup) if err != nil { return nil, err //db.OpsLog.LogCloneEvent(self, secgroup, userCred, nil) @@ -551,7 +551,7 @@ func (self *SSecurityGroup) PerformClone(ctx context.Context, userCred mcclient. secgrouprule.Action = rule.Action secgrouprule.Description = rule.Description secgrouprule.SecgroupId = secgroup.Id - if err := SecurityGroupRuleManager.TableSpec().Insert(secgrouprule); err != nil { + if err := SecurityGroupRuleManager.TableSpec().Insert(ctx, secgrouprule); err != nil { return nil, err } } @@ -742,7 +742,7 @@ func (manager *SSecurityGroupManager) newFromCloudSecgroup(ctx context.Context, secgroup.ProjectId = provider.ProjectId secgroup.DomainId = provider.DomainId - if err := manager.TableSpec().Insert(&secgroup); err != nil { + if err := manager.TableSpec().Insert(ctx, &secgroup); err != nil { return nil, err } @@ -811,7 +811,7 @@ func (manager *SSecurityGroupManager) InitializeData() error { // secGrp.IsEmulated = false secGrp.IsPublic = true secGrp.PublicScope = string(rbacutils.ScopeSystem) - err = manager.TableSpec().Insert(secGrp) + err = manager.TableSpec().Insert(context.TODO(), secGrp) if err != nil { log.Errorf("Insert default secgroup failed!!! %s", err) return err @@ -825,7 +825,7 @@ func (manager *SSecurityGroupManager) InitializeData() error { defRule.CIDR = "0.0.0.0/0" defRule.Action = string(secrules.SecurityRuleAllow) defRule.SecgroupId = "default" - err = SecurityGroupRuleManager.TableSpec().Insert(&defRule) + err = SecurityGroupRuleManager.TableSpec().Insert(context.TODO(), &defRule) if err != nil { log.Errorf("Insert default secgroup rule fail %s", err) return err diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index 1cd853b495..d5d0571673 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -1145,7 +1145,7 @@ func (manager *SServerSkuManager) newFromCloudSku(ctx context.Context, userCred sku.Name = extSku.GetName() sku.CloudregionId = api.DEFAULT_REGION_ID sku.SetModelManager(manager, sku) - err := manager.TableSpec().Insert(sku) + err := manager.TableSpec().Insert(ctx, sku) if err != nil { return errors.Wrapf(err, "newFromCloudSku.Insert") } @@ -1157,7 +1157,7 @@ func (manager *SServerSkuManager) newFromCloudSku(ctx context.Context, userCred func (manager *SServerSkuManager) newPublicCloudSku(ctx context.Context, userCred mcclient.TokenCredential, extSku SServerSku) error { extSku.Enabled = true extSku.Status = api.SkuStatusReady - return manager.TableSpec().Insert(&extSku) + return manager.TableSpec().Insert(ctx, &extSku) } func (self *SServerSku) AllowPerformEnable(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) bool { @@ -1288,7 +1288,7 @@ func (manager *SServerSkuManager) SyncServerSkus(ctx context.Context, userCred m } // sku标记为soldout状态。 -func (manager *SServerSkuManager) MarkAsSoldout(id string) error { +func (manager *SServerSkuManager) MarkAsSoldout(ctx context.Context, id string) error { if len(id) == 0 { log.Debugf("MarkAsSoldout sku id should not be emtpy") return nil @@ -1304,7 +1304,7 @@ func (manager *SServerSkuManager) MarkAsSoldout(id string) error { return fmt.Errorf("%s is not a sku object", id) } - _, err = manager.TableSpec().Update(sku, func() error { + _, err = manager.TableSpec().Update(ctx, sku, func() error { sku.PrepaidStatus = api.SkuStatusSoldout sku.PostpaidStatus = api.SkuStatusSoldout return nil @@ -1318,10 +1318,10 @@ func (manager *SServerSkuManager) MarkAsSoldout(id string) error { } // sku标记为soldout状态。 -func (manager *SServerSkuManager) MarkAllAsSoldout(ids []string) error { +func (manager *SServerSkuManager) MarkAllAsSoldout(ctx context.Context, ids []string) error { var err error for _, id := range ids { - err = manager.MarkAsSoldout(id) + err = manager.MarkAsSoldout(ctx, id) if err != nil { return err } @@ -1487,7 +1487,7 @@ func (manager *SServerSkuManager) InitializeData() error { sku.Name = name sku.PrepaidStatus = api.SkuStatusAvailable sku.PostpaidStatus = api.SkuStatusAvailable - err := manager.TableSpec().Insert(sku) + err := manager.TableSpec().Insert(context.TODO(), sku) if err != nil { log.Errorf("ServerSkuManager Initialize local sku %s", err) } @@ -1504,7 +1504,7 @@ func (manager *SServerSkuManager) InitializeData() error { } for _, sku := range privateSkus { - _, err = manager.TableSpec().Update(&sku, func() error { + _, err = manager.TableSpec().Update(context.TODO(), &sku, func() error { sku.LocalCategory = sku.InstanceTypeCategory return nil }) diff --git a/pkg/compute/models/snapshotpolicy.go b/pkg/compute/models/snapshotpolicy.go index 044934cfec..31f6b802a5 100644 --- a/pkg/compute/models/snapshotpolicy.go +++ b/pkg/compute/models/snapshotpolicy.go @@ -577,7 +577,7 @@ func (manager *SSnapshotPolicyManager) newFromCloudSnapshotPolicy( snapshotPolicyTmp.Name = newName snapshotPolicyTmp.Status = ext.GetStatus() - err = manager.TableSpec().Insert(&snapshotPolicyTmp) + err = manager.TableSpec().Insert(ctx, &snapshotPolicyTmp) if err != nil { log.Errorf("newFromCloudEip fail %s", err) return nil, err diff --git a/pkg/compute/models/snapshotpolicycache.go b/pkg/compute/models/snapshotpolicycache.go index b409215f8f..62bcf6eff4 100644 --- a/pkg/compute/models/snapshotpolicycache.go +++ b/pkg/compute/models/snapshotpolicycache.go @@ -270,7 +270,7 @@ func (spcm *SSnapshotPolicyCacheManager) NewCache(ctx context.Context, userCred snapshotPolicyCache.Status = api.SNAPSHOT_POLICY_CACHE_STATUS_READY // should have lock - if err := spcm.TableSpec().Insert(snapshotPolicyCache); err != nil { + if err := spcm.TableSpec().Insert(ctx, snapshotPolicyCache); err != nil { return nil, errors.Wrapf(err, "insert snapshotpolicycache failed") } return snapshotPolicyCache, nil @@ -285,7 +285,7 @@ func (spcm *SSnapshotPolicyCacheManager) NewCacheWithExternalId(ctx context.Cont snapshotPolicyCache.Status = api.SNAPSHOT_POLICY_CACHE_STATUS_READY snapshotPolicyCache.Name = name // should have lock - if err := spcm.TableSpec().Insert(snapshotPolicyCache); err != nil { + if err := spcm.TableSpec().Insert(ctx, snapshotPolicyCache); err != nil { return nil, errors.Wrapf(err, "insert snapshotpolicycache failed") } return snapshotPolicyCache, nil diff --git a/pkg/compute/models/snapshotpolicydisks.go b/pkg/compute/models/snapshotpolicydisks.go index 5606ea646a..f32cb58a14 100644 --- a/pkg/compute/models/snapshotpolicydisks.go +++ b/pkg/compute/models/snapshotpolicydisks.go @@ -322,7 +322,7 @@ func (m *SSnapshotPolicyDiskManager) SyncAttachDisk(ctx context.Context, userCre sd.DiskId = disk.GetId() sd.SnapshotpolicyId = spId sd.Status = api.SNAPSHOT_POLICY_DISK_READY - err = m.TableSpec().Insert(&sd) + err = m.TableSpec().Insert(ctx, &sd) if err != nil { failRecord = append(failRecord, fmt.Sprintf("attachsnapshotpolicy %s to disk %s failed", spId, disk.GetId())) @@ -424,7 +424,7 @@ func (self *SSnapshotPolicyDiskManager) newSnapshotpolicyDisk(ctx context.Contex lockman.LockJointObject(ctx, disk, sp) defer lockman.ReleaseJointObject(ctx, disk, sp) - return &spd, self.TableSpec().Insert(&spd) + return &spd, self.TableSpec().Insert(ctx, &spd) } func (self *SSnapshotPolicyDiskManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, data *jsonutils.JSONDict) (*jsonutils.JSONDict, error) { diff --git a/pkg/compute/models/snapshots.go b/pkg/compute/models/snapshots.go index a86c717fe4..b1df1730ca 100644 --- a/pkg/compute/models/snapshots.go +++ b/pkg/compute/models/snapshots.go @@ -575,7 +575,7 @@ func (self *SSnapshotManager) CreateSnapshot(ctx context.Context, owner mcclient if retentionDay > 0 { snapshot.ExpiredAt = time.Now().AddDate(0, 0, retentionDay) } - err = SnapshotManager.TableSpec().Insert(snapshot) + err = SnapshotManager.TableSpec().Insert(ctx, snapshot) if err != nil { return nil, err } @@ -892,7 +892,7 @@ func (manager *SSnapshotManager) newFromCloudSnapshot(ctx context.Context, userC snapshot.ManagerId = provider.Id snapshot.CloudregionId = region.Id - err = manager.TableSpec().Insert(&snapshot) + err = manager.TableSpec().Insert(ctx, &snapshot) if err != nil { log.Errorf("newFromCloudEip fail %s", err) return nil, err diff --git a/pkg/compute/models/storagecachedimages.go b/pkg/compute/models/storagecachedimages.go index 32fd944ddc..5ddfe4dbc6 100644 --- a/pkg/compute/models/storagecachedimages.go +++ b/pkg/compute/models/storagecachedimages.go @@ -360,7 +360,7 @@ func (manager *SStoragecachedimageManager) Register(ctx context.Context, userCre } cachedimage.Status = status - err := manager.TableSpec().Insert(cachedimage) + err := manager.TableSpec().Insert(ctx, cachedimage) if err != nil { log.Errorf("insert error %s", err) diff --git a/pkg/compute/models/storagecaches.go b/pkg/compute/models/storagecaches.go index 9e12ba8aa0..c723c7dac4 100644 --- a/pkg/compute/models/storagecaches.go +++ b/pkg/compute/models/storagecaches.go @@ -209,7 +209,7 @@ func (manager *SStoragecacheManager) newFromCloudStoragecache(ctx context.Contex local.Path = cloudCache.GetPath() - err = manager.TableSpec().Insert(&local) + err = manager.TableSpec().Insert(ctx, &local) if err != nil { return nil, err } diff --git a/pkg/compute/models/storages.go b/pkg/compute/models/storages.go index 0e98fb4deb..a34b328aec 100644 --- a/pkg/compute/models/storages.go +++ b/pkg/compute/models/storages.go @@ -812,7 +812,7 @@ func (manager *SStorageManager) newFromCloudStorage(ctx context.Context, userCre storage.IsSysDiskStore = tristate.NewFromBool(extStorage.IsSysDiskStore()) - err = manager.TableSpec().Insert(&storage) + err = manager.TableSpec().Insert(ctx, &storage) if err != nil { log.Errorf("newFromCloudStorage fail %s", err) return nil, err @@ -1064,7 +1064,7 @@ func (manager *SStorageManager) TotalCapacity( return res1 } -func (self *SStorage) createDisk(name string, diskConfig *api.DiskConfig, userCred mcclient.TokenCredential, +func (self *SStorage) createDisk(ctx context.Context, name string, diskConfig *api.DiskConfig, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, autoDelete bool, isSystem bool, billingType string, billingCycle string, ) (*SDisk, error) { @@ -1084,7 +1084,7 @@ func (self *SStorage) createDisk(name string, diskConfig *api.DiskConfig, userCr disk.BillingType = billingType disk.BillingCycle = billingCycle - err := disk.GetModelManager().TableSpec().Insert(&disk) + err := disk.GetModelManager().TableSpec().Insert(ctx, &disk) if err != nil { return nil, err } @@ -1227,7 +1227,7 @@ func (manager *SStorageManager) InitializeData() error { log.Fatalf("Get storage %s pool info error", s.Name) } else { storagecache.Path = "rbd:" + pool - if err := StoragecacheManager.TableSpec().Insert(storagecache); err != nil { + if err := StoragecacheManager.TableSpec().Insert(context.TODO(), storagecache); err != nil { log.Fatalf("Cannot Add storagecache for %s", s.Name) } else { db.Update(&s, func() error { diff --git a/pkg/compute/models/vpcs.go b/pkg/compute/models/vpcs.go index 9a1a409bb1..f4cc99fea9 100644 --- a/pkg/compute/models/vpcs.go +++ b/pkg/compute/models/vpcs.go @@ -179,7 +179,7 @@ func (manager *SVpcManager) getVpcExternalIdForClassicNetwork(regionId, cloudpro return fmt.Sprintf("%s-%s", regionId, cloudproviderId) } -func (manager *SVpcManager) GetOrCreateVpcForClassicNetwork(host *SHost) (*SVpc, error) { +func (manager *SVpcManager) GetOrCreateVpcForClassicNetwork(ctx context.Context, host *SHost) (*SVpc, error) { region := host.GetRegion() cloudprovider := host.GetCloudprovider() externalId := manager.getVpcExternalIdForClassicNetwork(region.Id, cloudprovider.Id) @@ -200,7 +200,7 @@ func (manager *SVpcManager) GetOrCreateVpcForClassicNetwork(host *SHost) (*SVpc, vpc.Status = api.VPC_STATUS_UNAVAILABLE vpc.ExternalId = externalId vpc.ManagerId = host.ManagerId - err = manager.TableSpec().Insert(vpc) + err = manager.TableSpec().Insert(ctx, vpc) if err != nil { return nil, errors.Wrap(err, "Insert vpc for classic network") } @@ -471,7 +471,7 @@ func (self *SVpc) SyncGlobalVpc(ctx context.Context, userCred mcclient.TokenCred gv.SetEnabled(true) gv.Status = api.GLOBAL_VPC_STATUS_AVAILABLE gv.SetModelManager(GlobalVpcManager, gv) - err = GlobalVpcManager.TableSpec().Insert(gv) + err = GlobalVpcManager.TableSpec().Insert(ctx, gv) if err != nil { return errors.Wrap(err, "GlobalVpcManager.Insert") } @@ -532,7 +532,7 @@ func (manager *SVpcManager) newFromCloudVpc(ctx context.Context, userCred mcclie vpc.IsEmulated = extVPC.IsEmulated() - err = manager.TableSpec().Insert(&vpc) + err = manager.TableSpec().Insert(ctx, &vpc) if err != nil { log.Errorf("newFromCloudVpc fail %s", err) return nil, err @@ -575,7 +575,7 @@ func (manager *SVpcManager) InitializeData() error { defVpc.IsDefault = true defVpc.IsPublic = true defVpc.PublicScope = string(rbacutils.ScopeSystem) - err = manager.TableSpec().Insert(&defVpc) + err = manager.TableSpec().Insert(context.TODO(), &defVpc) if err != nil { log.Errorf("Insert default vpc fail: %s", err) } @@ -1022,7 +1022,7 @@ func (self *SVpc) initWire(ctx context.Context, zone *SZone) (*SWire, error) { wire.IsEmulated = true wire.Name = fmt.Sprintf("vpc-%s", self.Name) wire.SetModelManager(WireManager, wire) - err := WireManager.TableSpec().Insert(wire) + err := WireManager.TableSpec().Insert(ctx, wire) if err != nil { return nil, err } diff --git a/pkg/compute/models/wires.go b/pkg/compute/models/wires.go index 3e56bb82d8..3e5b228996 100644 --- a/pkg/compute/models/wires.go +++ b/pkg/compute/models/wires.go @@ -183,7 +183,7 @@ func (manager *SWireManager) getWireExternalIdForClassicNetwork(provider string, return vpcId } -func (manager *SWireManager) GetOrCreateWireForClassicNetwork(vpc *SVpc, zone *SZone) (*SWire, error) { +func (manager *SWireManager) GetOrCreateWireForClassicNetwork(ctx context.Context, vpc *SVpc, zone *SZone) (*SWire, error) { cloudprovider := vpc.GetCloudprovider() if cloudprovider == nil { return nil, fmt.Errorf("failed to found cloudprovider for vpc %s(%s)", vpc.Id, vpc.Id) @@ -210,7 +210,7 @@ func (manager *SWireManager) GetOrCreateWireForClassicNetwork(vpc *SVpc, zone *S wire.ExternalId = externalId wire.IsEmulated = true wire.Name = name - err = manager.TableSpec().Insert(wire) + err = manager.TableSpec().Insert(ctx, wire) if err != nil { return nil, errors.Wrap(err, "Insert wire for classic network") } @@ -406,7 +406,7 @@ func (manager *SWireManager) newFromCloudWire(ctx context.Context, userCred mccl wire.IsEmulated = extWire.IsEmulated() - err = manager.TableSpec().Insert(&wire) + err = manager.TableSpec().Insert(ctx, &wire) if err != nil { log.Errorf("newFromCloudWire fail %s", err) return nil, err diff --git a/pkg/compute/models/zones.go b/pkg/compute/models/zones.go index b320a1d007..e9d7a0142e 100644 --- a/pkg/compute/models/zones.go +++ b/pkg/compute/models/zones.go @@ -296,7 +296,7 @@ func (manager *SZoneManager) newFromCloudZone(ctx context.Context, userCred mccl zone.CloudregionId = region.Id - err = manager.TableSpec().Insert(&zone) + err = manager.TableSpec().Insert(ctx, &zone) if err != nil { log.Errorf("newFromCloudZone fail %s", err) return nil, err diff --git a/pkg/compute/regiondrivers/aws.go b/pkg/compute/regiondrivers/aws.go index 78703627dc..d03de5c13d 100644 --- a/pkg/compute/regiondrivers/aws.go +++ b/pkg/compute/regiondrivers/aws.go @@ -802,7 +802,7 @@ func (self *SAwsRegionDriver) createLoadbalancerBackendGroup(ctx context.Context cachedLbbg.HealthCheckProtocol = lblis.HealthCheckType cachedLbbg.HealthCheckInterval = lblis.HealthCheckInterval - err = models.AwsCachedLbbgManager.TableSpec().Insert(cachedLbbg) + err = models.AwsCachedLbbgManager.TableSpec().Insert(ctx, cachedLbbg) if err != nil { return nil, errors.Wrap(err, "AwsRegionDriver.createlbBackendgroup.Insert") } diff --git a/pkg/compute/regiondrivers/base.go b/pkg/compute/regiondrivers/base.go index 81165dd243..bf9996b7e1 100644 --- a/pkg/compute/regiondrivers/base.go +++ b/pkg/compute/regiondrivers/base.go @@ -263,7 +263,7 @@ func (self *SBaseRegionDriver) GetSecgroupVpcid(vpcId string) string { return vpcId } -func (self *SBaseRegionDriver) InitDBInstanceUser(dbinstance *models.SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error { +func (self *SBaseRegionDriver) InitDBInstanceUser(ctx context.Context, dbinstance *models.SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error { return nil } diff --git a/pkg/compute/regiondrivers/google.go b/pkg/compute/regiondrivers/google.go index 26bdc82c8e..8fee1059bf 100644 --- a/pkg/compute/regiondrivers/google.go +++ b/pkg/compute/regiondrivers/google.go @@ -175,7 +175,7 @@ func (self *SGoogleRegionDriver) ValidateCreateDBInstanceData(ctx context.Contex return input, nil } -func (self *SGoogleRegionDriver) InitDBInstanceUser(instance *models.SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error { +func (self *SGoogleRegionDriver) InitDBInstanceUser(ctx context.Context, instance *models.SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error { user := "root" switch desc.Engine { case api.DBINSTANCE_TYPE_POSTGRESQL: @@ -192,7 +192,7 @@ func (self *SGoogleRegionDriver) InitDBInstanceUser(instance *models.SDBInstance account.Status = api.DBINSTANCE_USER_AVAILABLE account.ExternalId = user account.SetModelManager(models.DBInstanceAccountManager, &account) - err := models.DBInstanceAccountManager.TableSpec().Insert(&account) + err := models.DBInstanceAccountManager.TableSpec().Insert(ctx, &account) if err != nil { return err } diff --git a/pkg/compute/regiondrivers/huawei.go b/pkg/compute/regiondrivers/huawei.go index 4e976152c7..93db3536d2 100644 --- a/pkg/compute/regiondrivers/huawei.go +++ b/pkg/compute/regiondrivers/huawei.go @@ -557,7 +557,7 @@ func (self *SHuaWeiRegionDriver) ValidateUpdateLoadbalancerListenerData(ctx cont return self.SManagedVirtualizationRegionDriver.ValidateUpdateLoadbalancerListenerData(ctx, userCred, data, lblis, backendGroup) } -func (self *SHuaWeiRegionDriver) createCachedLbbg(lb *models.SLoadbalancer, lblis *models.SLoadbalancerListener, lbr *models.SLoadbalancerListenerRule, lbbg *models.SLoadbalancerBackendGroup) (*models.SHuaweiCachedLbbg, error) { +func (self *SHuaWeiRegionDriver) createCachedLbbg(ctx context.Context, lb *models.SLoadbalancer, lblis *models.SLoadbalancerListener, lbr *models.SLoadbalancerListenerRule, lbbg *models.SLoadbalancerBackendGroup) (*models.SHuaweiCachedLbbg, error) { // create loadbalancer backendgroup cache cachedLbbg := &models.SHuaweiCachedLbbg{} cachedLbbg.ManagerId = lb.GetCloudproviderId() @@ -574,7 +574,7 @@ func (self *SHuaWeiRegionDriver) createCachedLbbg(lb *models.SLoadbalancer, lbli cachedLbbg.ProtocolType = lblis.ListenerType } - err := models.HuaweiCachedLbbgManager.TableSpec().Insert(cachedLbbg) + err := models.HuaweiCachedLbbgManager.TableSpec().Insert(ctx, cachedLbbg) if err != nil { return nil, err } @@ -646,7 +646,7 @@ func (self *SHuaWeiRegionDriver) createLoadbalancerBackendGroup(ctx context.Cont return nil, err } - cachedLbbg, err := self.createCachedLbbg(lb, lblis, lbr, lbbg) + cachedLbbg, err := self.createCachedLbbg(ctx, lb, lblis, lbr, lbbg) if err != nil { return nil, errors.Wrap(err, "HuaWeiRegionDriver.createLoadbalancerBackendGroupCache") } @@ -948,7 +948,7 @@ func (self *SHuaWeiRegionDriver) RequestSyncLoadbalancerBackendGroup(ctx context // case 2:新绑定,创建本地缓存 if olbbg == nil && nlbbg == nil && rlbbg != nil { - cachedLbbg, err := self.createCachedLbbg(lb, lblis, nil, lbbg) + cachedLbbg, err := self.createCachedLbbg(ctx, lb, lblis, nil, lbbg) if err != nil { return nil, errors.Wrap(err, "HuaWeiRegionDriver.Sync.Case2.createCachedLbbg") } @@ -2145,7 +2145,7 @@ func (self *SHuaWeiRegionDriver) ValidateCreateDBInstanceData(ctx context.Contex return input, nil } -func (self *SHuaWeiRegionDriver) InitDBInstanceUser(instance *models.SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error { +func (self *SHuaWeiRegionDriver) InitDBInstanceUser(ctx context.Context, instance *models.SDBInstance, task taskman.ITask, desc *cloudprovider.SManagedDBInstanceCreateConfig) error { user := "root" if desc.Engine == api.DBINSTANCE_TYPE_SQLSERVER { user = "rdsuser" @@ -2157,7 +2157,7 @@ func (self *SHuaWeiRegionDriver) InitDBInstanceUser(instance *models.SDBInstance account.Status = api.DBINSTANCE_USER_AVAILABLE account.ExternalId = user account.SetModelManager(models.DBInstanceAccountManager, &account) - err := models.DBInstanceAccountManager.TableSpec().Insert(&account) + err := models.DBInstanceAccountManager.TableSpec().Insert(ctx, &account) if err != nil { return err } diff --git a/pkg/compute/regiondrivers/kvm.go b/pkg/compute/regiondrivers/kvm.go index 89b379d9dc..2966b88243 100644 --- a/pkg/compute/regiondrivers/kvm.go +++ b/pkg/compute/regiondrivers/kvm.go @@ -701,7 +701,7 @@ func (self *SKVMRegionDriver) RequestCreateLoadbalancerBackendGroup(ctx context. loadbalancerBackend.ProjectId = userCred.GetProjectId() loadbalancerBackend.DomainId = userCred.GetProjectDomainId() loadbalancerBackend.Name = fmt.Sprintf("%s-%s-%s", lbbg.Name, backend.BackendType, backend.Name) - if err := models.LoadbalancerBackendManager.TableSpec().Insert(&loadbalancerBackend); err != nil { + if err := models.LoadbalancerBackendManager.TableSpec().Insert(ctx, &loadbalancerBackend); err != nil { return nil, err } } diff --git a/pkg/compute/regiondrivers/managedvirtual.go b/pkg/compute/regiondrivers/managedvirtual.go index f335e922ec..6a46079563 100644 --- a/pkg/compute/regiondrivers/managedvirtual.go +++ b/pkg/compute/regiondrivers/managedvirtual.go @@ -1628,7 +1628,7 @@ func (self *SManagedVirtualizationRegionDriver) RequestCreateDBInstance(ctx cont region := dbinstance.GetRegion() - err = region.GetDriver().InitDBInstanceUser(dbinstance, task, &desc) + err = region.GetDriver().InitDBInstanceUser(ctx, dbinstance, task, &desc) if err != nil { return nil, err } diff --git a/pkg/compute/regiondrivers/qcloud.go b/pkg/compute/regiondrivers/qcloud.go index 86fc883811..2c6f1c498a 100644 --- a/pkg/compute/regiondrivers/qcloud.go +++ b/pkg/compute/regiondrivers/qcloud.go @@ -366,7 +366,7 @@ func (self *SQcloudRegionDriver) RequestDeleteLoadbalancerBackend(ctx context.Co return nil } -func (self *SQcloudRegionDriver) createCachedLbbg(lb *models.SLoadbalancer, lblis *models.SLoadbalancerListener, lbr *models.SLoadbalancerListenerRule, lbbg *models.SLoadbalancerBackendGroup) (*models.SQcloudCachedLbbg, error) { +func (self *SQcloudRegionDriver) createCachedLbbg(ctx context.Context, lb *models.SLoadbalancer, lblis *models.SLoadbalancerListener, lbr *models.SLoadbalancerListenerRule, lbbg *models.SLoadbalancerBackendGroup) (*models.SQcloudCachedLbbg, error) { // create loadbalancer backendgroup cache cachedLbbg := &models.SQcloudCachedLbbg{} cachedLbbg.ManagerId = lb.GetCloudproviderId() @@ -381,7 +381,7 @@ func (self *SQcloudRegionDriver) createCachedLbbg(lb *models.SLoadbalancer, lbli cachedLbbg.AssociatedId = lblis.GetId() } - err := models.QcloudCachedLbbgManager.TableSpec().Insert(cachedLbbg) + err := models.QcloudCachedLbbgManager.TableSpec().Insert(ctx, cachedLbbg) if err != nil { return nil, errors.Wrap(err, "SQcloudRegionDriver.createCachedLbbg.Insert") } @@ -486,7 +486,7 @@ func (self *SQcloudRegionDriver) createLoadbalancerBackendGroup(ctx context.Cont return nil, fmt.Errorf("could not create loadbalancer backendgroup, loadbalancer listener & rule are nil") } - cachedLbbg, err := self.createCachedLbbg(lb, lblis, lbr, lbbg) + cachedLbbg, err := self.createCachedLbbg(ctx, lb, lblis, lbr, lbbg) if err != nil { return nil, errors.Wrap(err, "QcloudRegionDriver.createLoadbalancerBackendGroupCache") } diff --git a/pkg/compute/storagedrivers/gpfs.go b/pkg/compute/storagedrivers/gpfs.go index 965c258296..14ccdbbb85 100644 --- a/pkg/compute/storagedrivers/gpfs.go +++ b/pkg/compute/storagedrivers/gpfs.go @@ -52,7 +52,7 @@ func (self *SGpfsStorageDriver) PostCreate(ctx context.Context, userCred mcclien sc.ExternalId = storage.Id timeutils.IsoTime(time.Now()) sc.Name = "gpfs-" + storage.Name + timeutils.IsoTime(time.Now()) - if err := models.StoragecacheManager.TableSpec().Insert(sc); err != nil { + if err := models.StoragecacheManager.TableSpec().Insert(ctx, sc); err != nil { log.Errorf("insert storagecache for storage %s error: %v", storage.Name, err) return } diff --git a/pkg/compute/storagedrivers/nfs.go b/pkg/compute/storagedrivers/nfs.go index 661d21bc80..6e80586158 100644 --- a/pkg/compute/storagedrivers/nfs.go +++ b/pkg/compute/storagedrivers/nfs.go @@ -62,7 +62,7 @@ func (self *SNfsStorageDriver) PostCreate(ctx context.Context, userCred mcclient sc.Path = options.Options.DefaultImageCacheDir sc.ExternalId = storage.Id sc.Name = "nfs-" + storage.Name + time.Now().Format("2006-01-02 15:04:05") - if err := models.StoragecacheManager.TableSpec().Insert(sc); err != nil { + if err := models.StoragecacheManager.TableSpec().Insert(ctx, sc); err != nil { log.Errorf("insert storagecache for storage %s error: %v", storage.Name, err) return } diff --git a/pkg/compute/storagedrivers/rbd.go b/pkg/compute/storagedrivers/rbd.go index fb3f9c0f4b..f8193b8c55 100644 --- a/pkg/compute/storagedrivers/rbd.go +++ b/pkg/compute/storagedrivers/rbd.go @@ -118,7 +118,7 @@ func (self *SRbdStorageDriver) ValidateUpdateData(ctx context.Context, userCred } if update, _ := data.Bool("update_storage_conf"); update { - _, err := storage.GetModelManager().TableSpec().Update(storage, func() error { + _, err := storage.GetModelManager().TableSpec().Update(ctx, storage, func() error { storage.StorageConf = conf return nil }) @@ -159,7 +159,7 @@ func (self *SRbdStorageDriver) PostCreate(ctx context.Context, userCred mcclient sc.Name = fmt.Sprintf("imagecache-%s", storage.Id) pool, _ := data.GetString("rbd_pool") sc.Path = fmt.Sprintf("rbd:%s", pool) - if err := models.StoragecacheManager.TableSpec().Insert(sc); err != nil { + if err := models.StoragecacheManager.TableSpec().Insert(ctx, sc); err != nil { log.Errorf("insert storagecache for storage %s error: %v", storage.Name, err) return } diff --git a/pkg/compute/tasks/dbinstance_account_create_task.go b/pkg/compute/tasks/dbinstance_account_create_task.go index ecaf8c847d..0fb1d0e6d9 100644 --- a/pkg/compute/tasks/dbinstance_account_create_task.go +++ b/pkg/compute/tasks/dbinstance_account_create_task.go @@ -123,7 +123,7 @@ func (self *DBInstanceAccountCreateTask) CreateDBInstanceAccount(ctx context.Con DBInstanceaccountId: account.Id, DBInstancedatabaseId: privilege.DBInstancedatabaseId, } - models.DBInstancePrivilegeManager.TableSpec().Insert(&_privilege) + models.DBInstancePrivilegeManager.TableSpec().Insert(ctx, &_privilege) logclient.AddActionLogWithStartable(self, account, logclient.ACT_GRANT_PRIVILEGE, privilege, self.UserCred, true) } diff --git a/pkg/compute/tasks/dbinstance_account_grant_privilege_task.go b/pkg/compute/tasks/dbinstance_account_grant_privilege_task.go index 47a389b330..b9669c2fd5 100644 --- a/pkg/compute/tasks/dbinstance_account_grant_privilege_task.go +++ b/pkg/compute/tasks/dbinstance_account_grant_privilege_task.go @@ -94,7 +94,7 @@ func (self *DBInstanceAccountGrantPrivilegeTask) OnInit(ctx context.Context, obj DBInstancedatabaseId: database.Id, } - models.DBInstancePrivilegeManager.TableSpec().Insert(&privilege) + models.DBInstancePrivilegeManager.TableSpec().Insert(ctx, &privilege) account.SetStatus(self.UserCred, api.DBINSTANCE_USER_AVAILABLE, "") logclient.AddActionLogWithStartable(self, account, logclient.ACT_GRANT_PRIVILEGE, nil, self.UserCred, true) diff --git a/pkg/compute/tasks/dbinstance_account_set_privileges_task.go b/pkg/compute/tasks/dbinstance_account_set_privileges_task.go index e409fce02c..4eed9756db 100644 --- a/pkg/compute/tasks/dbinstance_account_set_privileges_task.go +++ b/pkg/compute/tasks/dbinstance_account_set_privileges_task.go @@ -120,7 +120,7 @@ func (self *DBInstanceAccountSetPrivilegesTask) OnInit(ctx context.Context, obj DBInstanceaccountId: account.Id, DBInstancedatabaseId: database.Id, } - models.DBInstancePrivilegeManager.TableSpec().Insert(&pri) + models.DBInstancePrivilegeManager.TableSpec().Insert(ctx, &pri) logclient.AddActionLogWithStartable(self, account, logclient.ACT_GRANT_PRIVILEGE, nil, self.UserCred, true) } diff --git a/pkg/compute/tasks/dbinstance_database_create_task.go b/pkg/compute/tasks/dbinstance_database_create_task.go index e23ec64cd4..7e170a3fac 100644 --- a/pkg/compute/tasks/dbinstance_database_create_task.go +++ b/pkg/compute/tasks/dbinstance_database_create_task.go @@ -146,7 +146,7 @@ func (self *DBInstanceDatabaseCreateTask) CreateDBInstanceDatabase(ctx context.C DBInstanceaccountId: account.DBInstanceaccountId, DBInstancedatabaseId: database.Id, } - models.DBInstancePrivilegeManager.TableSpec().Insert(&privilege) + models.DBInstancePrivilegeManager.TableSpec().Insert(ctx, &privilege) logclient.AddActionLogWithStartable(self, database, logclient.ACT_GRANT_PRIVILEGE, account, self.UserCred, true) } database.SetStatus(self.UserCred, api.DBINSTANCE_DATABASE_RUNNING, "") diff --git a/pkg/compute/tasks/instance_snapshot_create_task.go b/pkg/compute/tasks/instance_snapshot_create_task.go index 28a0ea668e..7a0b17143e 100644 --- a/pkg/compute/tasks/instance_snapshot_create_task.go +++ b/pkg/compute/tasks/instance_snapshot_create_task.go @@ -119,7 +119,7 @@ func (self *InstanceSnapshotCreateTask) GuestDiskCreateSnapshot( return } - err = models.InstanceSnapshotJointManager.CreateJoint(isp.Id, snapshot.Id, int8(diskIndex)) + err = models.InstanceSnapshotJointManager.CreateJoint(ctx, isp.Id, snapshot.Id, int8(diskIndex)) if err != nil { self.taskFail(ctx, isp, guest, err.Error()) return diff --git a/pkg/controller/autoscaling/controller.go b/pkg/controller/autoscaling/controller.go index 96d896c0d6..77edecd23a 100644 --- a/pkg/controller/autoscaling/controller.go +++ b/pkg/controller/autoscaling/controller.go @@ -221,6 +221,7 @@ func (asc *SASController) Scale(ctx context.Context, userCred mcclient.TokenCred log.Debugf("insert sa") scalingActivity, err := models.ScalingActivityManager.CreateScalingActivity( + ctx, sg.Id, fmt.Sprintf(`The Desire Instance Number was changed, so change the Total Instance Number from "%d" to "%d"`, total, sg.DesireInstanceNumber, diff --git a/pkg/controller/autoscaling/timer.go b/pkg/controller/autoscaling/timer.go index 770dfca131..3879191efd 100644 --- a/pkg/controller/autoscaling/timer.go +++ b/pkg/controller/autoscaling/timer.go @@ -74,7 +74,7 @@ func (asc *SASController) Timer(ctx context.Context, userCred mcclient.TokenCred scalingTimer.Update(timeScope.Start) // scalingTimer should not exec for now. if scalingTimer.NextTime.After(timeScope.End) || scalingTimer.IsExpired { - err = models.ScalingTimerManager.TableSpec().InsertOrUpdate(&scalingTimer) + err = models.ScalingTimerManager.TableSpec().InsertOrUpdate(ctx, &scalingTimer) if err != nil { log.Errorf("update ScalingTimer whose ScalingPolicyId is %s error: %s", scalingTimer.ScalingPolicyId, err.Error()) @@ -88,7 +88,7 @@ func (asc *SASController) Timer(ctx context.Context, userCred mcclient.TokenCred log.Errorf("unable to request to trigger ScalingPolicy '%s'", scalingTimer.ScalingPolicyId) } scalingTimer.Update(timeScope.End) - err = models.ScalingTimerManager.TableSpec().InsertOrUpdate(&scalingTimer) + err = models.ScalingTimerManager.TableSpec().InsertOrUpdate(ctx, &scalingTimer) if err != nil { log.Errorf("update ScalingTimer whose ScalingPolicyId is %s error: %s", scalingTimer.ScalingPolicyId, err.Error()) diff --git a/pkg/image/models/image_guest_joint.go b/pkg/image/models/image_guest_joint.go index 3ab7f5e681..02f4d69768 100644 --- a/pkg/image/models/image_guest_joint.go +++ b/pkg/image/models/image_guest_joint.go @@ -126,7 +126,7 @@ func (gt *SGuestImageJointManager) CreateGuestImageJoint(ctx context.Context, gu gi.ImageId = imageId // - if err := gt.TableSpec().Insert(&gi); err != nil { + if err := gt.TableSpec().Insert(ctx, &gi); err != nil { return nil, errors.Wrapf(err, "insert guestimage joint error") } gi.SetVirtualObject(gt) diff --git a/pkg/image/models/image_properties.go b/pkg/image/models/image_properties.go index 9e37a49284..01fb6348fd 100644 --- a/pkg/image/models/image_properties.go +++ b/pkg/image/models/image_properties.go @@ -123,7 +123,7 @@ func (manager *SImagePropertyManager) NewProperty(ctx context.Context, userCred prop.Name = key prop.Value = value - err := manager.TableSpec().Insert(&prop) + err := manager.TableSpec().Insert(ctx, &prop) if err != nil { return nil, err } diff --git a/pkg/image/models/images.go b/pkg/image/models/images.go index c12e5b81f2..1559f8e5e1 100644 --- a/pkg/image/models/images.go +++ b/pkg/image/models/images.go @@ -774,11 +774,11 @@ func (self *SImage) StartImageCheckTask(ctx context.Context, userCred mcclient.T } func (self *SImage) StartImageConvertTask(ctx context.Context, userCred mcclient.TokenCredential, parentTaskId string) error { - err := self.MigrateSubImage() + err := self.MigrateSubImage(ctx) if err != nil { return err } - err = self.MakeSubImages() + err = self.MakeSubImages(ctx) if err != nil { return err } @@ -963,7 +963,7 @@ func (self *SImage) GetImageType() api.TImageType { } } -func (self *SImage) newSubformat(format qemuimg.TImageFormat, migrate bool) error { +func (self *SImage) newSubformat(ctx context.Context, format qemuimg.TImageFormat, migrate bool) error { subformat := &SImageSubformat{} subformat.SetModelManager(ImageSubformatManager, subformat) @@ -982,7 +982,7 @@ func (self *SImage) newSubformat(format qemuimg.TImageFormat, migrate bool) erro subformat.TorrentStatus = api.IMAGE_STATUS_QUEUED - err := ImageSubformatManager.TableSpec().Insert(subformat) + err := ImageSubformatManager.TableSpec().Insert(ctx, subformat) if err != nil { log.Errorf("fail to make subformat %s: %s", format, err) return err @@ -990,7 +990,7 @@ func (self *SImage) newSubformat(format qemuimg.TImageFormat, migrate bool) erro return nil } -func (self *SImage) MigrateSubImage() error { +func (self *SImage) MigrateSubImage(ctx context.Context) error { if !qemuimg.IsSupportedImageFormat(self.DiskFormat) { log.Warningf("Unsupported image format %s, no need to migrate", self.DiskFormat) return nil @@ -1007,7 +1007,7 @@ func (self *SImage) MigrateSubImage() error { } if self.GetImageType() != api.ImageTypeISO && imgInst.IsSparse() && utils.IsInStringArray(self.DiskFormat, options.Options.TargetImageFormats) { // need to convert again - return self.newSubformat(qemuimg.String2ImageFormat(self.DiskFormat), false) + return self.newSubformat(ctx, qemuimg.String2ImageFormat(self.DiskFormat), false) } else { localPath := self.getLocalLocation() if !strings.HasSuffix(localPath, fmt.Sprintf(".%s", self.DiskFormat)) { @@ -1025,11 +1025,11 @@ func (self *SImage) MigrateSubImage() error { return err } } - return self.newSubformat(qemuimg.String2ImageFormat(self.DiskFormat), true) + return self.newSubformat(ctx, qemuimg.String2ImageFormat(self.DiskFormat), true) } } -func (self *SImage) MakeSubImages() error { +func (self *SImage) MakeSubImages(ctx context.Context) error { if self.GetImageType() == api.ImageTypeISO { return nil } @@ -1042,7 +1042,7 @@ func (self *SImage) MakeSubImages() error { // need to create a record subformat := ImageSubformatManager.FetchSubImage(self.Id, format) if subformat == nil { - err := self.newSubformat(qemuimg.String2ImageFormat(format), false) + err := self.newSubformat(ctx, qemuimg.String2ImageFormat(format), false) if err != nil { return err } diff --git a/pkg/keystone/cronjobs/project_resources.go b/pkg/keystone/cronjobs/project_resources.go index b736a88aa9..6dbd3be3f9 100644 --- a/pkg/keystone/cronjobs/project_resources.go +++ b/pkg/keystone/cronjobs/project_resources.go @@ -111,11 +111,11 @@ func FetchProjectResourceCount(ctx context.Context, userCred mcclient.TokenCrede if err != nil { continue } - syncProjectResourceCount(ep.regionId, ep.serviceId, projectResCounts) + syncProjectResourceCount(ctx, ep.regionId, ep.serviceId, projectResCounts) } } -func syncProjectResourceCount(regionId string, serviceId string, projResCnt map[string][]db.SScopeResourceCount) { +func syncProjectResourceCount(ctx context.Context, regionId string, serviceId string, projResCnt map[string][]db.SScopeResourceCount) { projList := make([]string, 0) for res, resCnts := range projResCnt { for i := range resCnts { @@ -136,7 +136,7 @@ func syncProjectResourceCount(regionId string, serviceId string, projResCnt map[ projList = append(projList, projRes.ProjectId) - err := models.ProjectResourceManager.TableSpec().InsertOrUpdate(&projRes) + err := models.ProjectResourceManager.TableSpec().InsertOrUpdate(ctx, &projRes) if err != nil { log.Errorf("table insert error %s", err) } diff --git a/pkg/keystone/models/assignments.go b/pkg/keystone/models/assignments.go index 65f7c14418..e8255957b6 100644 --- a/pkg/keystone/models/assignments.go +++ b/pkg/keystone/models/assignments.go @@ -79,10 +79,10 @@ type SAssignment struct { } func (manager *SAssignmentManager) InitializeData() error { - return manager.initSysAssignment() + return manager.initSysAssignment(context.TODO()) } -func (manager *SAssignmentManager) initSysAssignment() error { +func (manager *SAssignmentManager) initSysAssignment(ctx context.Context) error { adminUser, err := UserManager.FetchUserExtended("", api.SystemAdminUser, api.DEFAULT_DOMAIN_ID, "") if err != nil { return errors.Wrap(err, "FetchUserExtended") @@ -119,7 +119,7 @@ func (manager *SAssignmentManager) initSysAssignment() error { assign.RoleId = adminRole.Id assign.Inherited = tristate.False - err = manager.TableSpec().Insert(&assign) + err = manager.TableSpec().Insert(ctx, &assign) if err != nil { return errors.Wrap(err, "insert") } @@ -259,7 +259,7 @@ func (manager *SAssignmentManager) ProjectAddUser(ctx context.Context, userCred return httperrors.NewForbiddenError("not enough privilege") } } - err = manager.add(api.AssignmentUserProject, user.Id, project.Id, role.Id) + err = manager.add(ctx, api.AssignmentUserProject, user.Id, project.Id, role.Id) if err != nil { return errors.Wrap(err, "manager.add") } @@ -359,7 +359,7 @@ func (manager *SAssignmentManager) projectAddGroup(ctx context.Context, userCred return httperrors.NewForbiddenError("not enough privilege") } } - err = manager.add(api.AssignmentGroupProject, group.Id, project.Id, role.Id) + err = manager.add(ctx, api.AssignmentGroupProject, group.Id, project.Id, role.Id) if err != nil { return errors.Wrap(err, "manager.add") } @@ -408,7 +408,7 @@ func (manager *SAssignmentManager) remove(typeStr, actorId, projectId, roleId st return nil } -func (manager *SAssignmentManager) add(typeStr, actorId, projectId, roleId string) error { +func (manager *SAssignmentManager) add(ctx context.Context, typeStr, actorId, projectId, roleId string) error { assign := SAssignment{ Type: typeStr, ActorId: actorId, @@ -417,7 +417,7 @@ func (manager *SAssignmentManager) add(typeStr, actorId, projectId, roleId strin Inherited: tristate.False, } assign.SetModelManager(manager, &assign) - err := manager.TableSpec().InsertOrUpdate(&assign) + err := manager.TableSpec().InsertOrUpdate(ctx, &assign) if err != nil { return errors.Wrap(err, "InsertOrUpdate") } diff --git a/pkg/keystone/models/configs.go b/pkg/keystone/models/configs.go index d6395fe8b6..36e4c3d1c9 100644 --- a/pkg/keystone/models/configs.go +++ b/pkg/keystone/models/configs.go @@ -15,6 +15,7 @@ package models import ( + "context" "database/sql" "sort" @@ -130,7 +131,7 @@ func (manager *SConfigOptionManager) deleteConfigs(model db.IModel) error { func (manager *SConfigOptionManager) updateConfigs(newOpts TConfigOptions) error { for i := range newOpts { - err := manager.TableSpec().InsertOrUpdate(&newOpts[i]) + err := manager.TableSpec().InsertOrUpdate(context.Background(), &newOpts[i]) if err != nil { return errors.Wrap(err, "Insert") } @@ -179,7 +180,7 @@ func (manager *SConfigOptionManager) syncConfigs(model db.IModel, newOpts TConfi } } for i := range added { - err = manager.TableSpec().InsertOrUpdate(&added[i]) + err = manager.TableSpec().InsertOrUpdate(context.TODO(), &added[i]) if err != nil { return errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/domains.go b/pkg/keystone/models/domains.go index 8284d80ebe..d535be3650 100644 --- a/pkg/keystone/models/domains.go +++ b/pkg/keystone/models/domains.go @@ -79,7 +79,7 @@ func (manager *SDomainManager) InitializeData() error { root.DomainId = api.KeystoneDomainRoot root.Enabled = tristate.False root.Description = "The hidden root domain" - err := manager.TableSpec().Insert(root) + err := manager.TableSpec().Insert(context.TODO(), root) if err != nil { log.Errorf("fail to insert root domain ... %s", err) return err @@ -97,7 +97,7 @@ func (manager *SDomainManager) InitializeData() error { defDomain.DomainId = api.KeystoneDomainRoot defDomain.Enabled = tristate.True defDomain.Description = "The default domain" - err := manager.TableSpec().Insert(defDomain) + err := manager.TableSpec().Insert(context.TODO(), defDomain) if err != nil { log.Errorf("fail to insert default domain ... %s", err) return err diff --git a/pkg/keystone/models/fernetkeys.go b/pkg/keystone/models/fernetkeys.go index 67fb443aef..aed210fe89 100644 --- a/pkg/keystone/models/fernetkeys.go +++ b/pkg/keystone/models/fernetkeys.go @@ -15,6 +15,7 @@ package models import ( + "context" "database/sql" "fmt" "path/filepath" @@ -140,7 +141,7 @@ func (manager *SFernetKeyManager) setupKeys(keyType string, repoDir string) ([]* Index: i, Key: fkey.Encode(), } - err := manager.TableSpec().Insert(&key) + err := manager.TableSpec().Insert(context.TODO(), &key) if err != nil { return nil, errors.Wrap(err, "insertFernetKeys") } diff --git a/pkg/keystone/models/groups.go b/pkg/keystone/models/groups.go index b3d09a9654..19363d7161 100644 --- a/pkg/keystone/models/groups.go +++ b/pkg/keystone/models/groups.go @@ -240,7 +240,7 @@ func (manager *SGroupManager) RegisterExternalGroup(ctx context.Context, idpId s group.Name = groupName group.Displayname = groupName - err = manager.TableSpec().Insert(&group) + err = manager.TableSpec().Insert(ctx, &group) if err != nil { return nil, errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/id_mappings.go b/pkg/keystone/models/id_mappings.go index 851cf90a47..3bfeda2972 100644 --- a/pkg/keystone/models/id_mappings.go +++ b/pkg/keystone/models/id_mappings.go @@ -95,7 +95,7 @@ func (manager *SIdmappingManager) RegisterIdMapWithId(ctx context.Context, idpId mapping.IdpEntityId = entityId mapping.EntityType = entityType - err = manager.TableSpec().InsertOrUpdate(&mapping) + err = manager.TableSpec().InsertOrUpdate(ctx, &mapping) if err != nil { return "", errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/identity_provider.go b/pkg/keystone/models/identity_provider.go index 82f2afbd89..993cdf30a0 100644 --- a/pkg/keystone/models/identity_provider.go +++ b/pkg/keystone/models/identity_provider.go @@ -109,7 +109,7 @@ func (manager *SIdentityProviderManager) InitializeData() error { sqldrv.Status = api.IdentityDriverStatusConnected sqldrv.Driver = api.IdentityDriverSQL sqldrv.Description = "Default sql identity provider" - err = manager.TableSpec().Insert(&sqldrv) + err = manager.TableSpec().Insert(context.TODO(), &sqldrv) if err != nil { return errors.Wrap(err, "insert default sql driver") } @@ -141,7 +141,7 @@ func (manager *SIdentityProviderManager) InitializeData() error { drv.Status = api.IdentityDriverStatusDisconnected drv.Driver = driver drv.Description = domains[i].Description - err = manager.TableSpec().Insert(&drv) + err = manager.TableSpec().Insert(context.TODO(), &drv) if err != nil { return errors.Wrap(err, "insert driver") } @@ -840,7 +840,7 @@ func (self *SIdentityProvider) SyncOrCreateDomain(ctx context.Context, extId str domain.IsDomain = tristate.True domain.DomainId = api.KeystoneDomainRoot domain.Description = fmt.Sprintf("domain for %s", extDesc) - err = DomainManager.TableSpec().Insert(domain) + err = DomainManager.TableSpec().Insert(ctx, domain) if err != nil { return nil, errors.Wrap(err, "insert") } @@ -899,7 +899,7 @@ func (self *SIdentityProvider) SyncOrCreateUser(ctx context.Context, extId strin user.Id = userId user.Name = extName user.DomainId = domainId - err = UserManager.TableSpec().Insert(user) + err = UserManager.TableSpec().Insert(ctx, user) if err != nil { return nil, errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/localusers.go b/pkg/keystone/models/localusers.go index 142a81026f..2a28bac946 100644 --- a/pkg/keystone/models/localusers.go +++ b/pkg/keystone/models/localusers.go @@ -15,6 +15,7 @@ package models import ( + "context" "database/sql" "fmt" "time" @@ -114,7 +115,7 @@ func (manager *SLocalUserManager) register(userId string, domainId string, name localUser.DomainId = domainId localUser.Name = name - err = manager.TableSpec().Insert(localUser) + err = manager.TableSpec().Insert(context.TODO(), localUser) if err != nil { return nil, errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/passwords.go b/pkg/keystone/models/passwords.go index 44a7341031..91278048e6 100644 --- a/pkg/keystone/models/passwords.go +++ b/pkg/keystone/models/passwords.go @@ -15,6 +15,7 @@ package models import ( + "context" "crypto/sha256" "database/sql" "encoding/hex" @@ -148,7 +149,7 @@ func (manager *SPasswordManager) savePassword(localUserId int, password string, rec.ExpiresAt = now.Add(time.Second * time.Duration(o.Options.PasswordExpirationSeconds)) rec.ExpiresAtInt = rec.ExpiresAt.UnixNano() / 1000 } - err = manager.TableSpec().Insert(&rec) + err = manager.TableSpec().Insert(context.TODO(), &rec) if err != nil { return errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/projects.go b/pkg/keystone/models/projects.go index f2022000c5..55d54bbe3c 100644 --- a/pkg/keystone/models/projects.go +++ b/pkg/keystone/models/projects.go @@ -90,10 +90,10 @@ func (manager *SProjectManager) GetContextManagers() [][]db.IModelManager { } func (manager *SProjectManager) InitializeData() error { - return manager.initSysProject() + return manager.initSysProject(context.TODO()) } -func (manager *SProjectManager) initSysProject() error { +func (manager *SProjectManager) initSysProject(ctx context.Context) error { q := manager.Query().Equals("name", api.SystemAdminProject) q = q.Equals("domain_id", api.DEFAULT_DOMAIN_ID) cnt, err := q.CountWithError() @@ -117,7 +117,7 @@ func (manager *SProjectManager) initSysProject() error { project.ParentId = api.DEFAULT_DOMAIN_ID project.SetModelManager(manager, &project) - err = manager.TableSpec().Insert(&project) + err = manager.TableSpec().Insert(ctx, &project) if err != nil { return errors.Wrap(err, "insert") } @@ -659,7 +659,7 @@ func (manager *SProjectManager) NewProject(ctx context.Context, projectName stri project.Description = desc project.IsDomain = tristate.False project.ParentId = domainId - err = ProjectManager.TableSpec().Insert(project) + err = ProjectManager.TableSpec().Insert(ctx, project) if err != nil { return nil, errors.Wrap(err, "Insert") } diff --git a/pkg/keystone/models/roles.go b/pkg/keystone/models/roles.go index b1b40425b9..eb27581df0 100644 --- a/pkg/keystone/models/roles.go +++ b/pkg/keystone/models/roles.go @@ -104,7 +104,7 @@ func (manager *SRoleManager) InitializeData() error { if err != nil { return errors.Wrap(err, "InitializeDomainId") } - err = manager.initSysRole() + err = manager.initSysRole(context.TODO()) if err != nil { return errors.Wrap(err, "initSysRole") } @@ -127,7 +127,7 @@ func (manager *SRoleManager) initializeDomainId() error { return nil } -func (manager *SRoleManager) initSysRole() error { +func (manager *SRoleManager) initSysRole(ctx context.Context) error { q := manager.Query().Equals("name", api.SystemAdminRole) q = q.Equals("domain_id", api.DEFAULT_DOMAIN_ID) cnt, err := q.CountWithError() @@ -148,7 +148,7 @@ func (manager *SRoleManager) initSysRole() error { role.Description = "Boostrap system default admin role" role.SetModelManager(manager, &role) - err = manager.TableSpec().Insert(&role) + err = manager.TableSpec().Insert(ctx, &role) if err != nil { return errors.Wrap(err, "insert") } diff --git a/pkg/keystone/models/user_group_memberships.go b/pkg/keystone/models/user_group_memberships.go index 727706b9b5..4db3ba4860 100644 --- a/pkg/keystone/models/user_group_memberships.go +++ b/pkg/keystone/models/user_group_memberships.go @@ -187,7 +187,7 @@ func (manager *SUsergroupManager) add(ctx context.Context, userCred mcclient.Tok // create one membership.UserId = user.Id membership.GroupId = group.Id - err = manager.TableSpec().Insert(&membership) + err = manager.TableSpec().Insert(ctx, &membership) if err != nil { return errors.Wrap(err, "insert") } diff --git a/pkg/keystone/models/users.go b/pkg/keystone/models/users.go index ccc9e1d4a5..3444ce8929 100644 --- a/pkg/keystone/models/users.go +++ b/pkg/keystone/models/users.go @@ -148,7 +148,7 @@ func (manager *SUserManager) InitializeData() error { if err != nil { return errors.Wrap(err, "initSystemAccount") } - return manager.initSysUser() + return manager.initSysUser(context.TODO()) } func (manager *SUserManager) initSystemAccount() error { @@ -171,7 +171,7 @@ func (manager *SUserManager) initSystemAccount() error { return nil } -func (manager *SUserManager) initSysUser() error { +func (manager *SUserManager) initSysUser(ctx context.Context) error { q := manager.Query().Equals("name", api.SystemAdminUser) q = q.Equals("domain_id", api.DEFAULT_DOMAIN_ID) cnt, err := q.CountWithError() @@ -209,7 +209,7 @@ func (manager *SUserManager) initSysUser() error { usr.Description = "Boostrap system default admin user" usr.SetModelManager(manager, &usr) - err = manager.TableSpec().Insert(&usr) + err = manager.TableSpec().Insert(ctx, &usr) if err != nil { return errors.Wrap(err, "insert") } diff --git a/pkg/monitor/models/alertnotification.go b/pkg/monitor/models/alertnotification.go index eb56686b32..5bb4b56f07 100644 --- a/pkg/monitor/models/alertnotification.go +++ b/pkg/monitor/models/alertnotification.go @@ -162,7 +162,7 @@ func (joint *SAlertnotification) GetExtraDetails( } func (joint *SAlertnotification) DoSave(ctx context.Context, userCred mcclient.TokenCredential) error { - if err := AlertNotificationManager.TableSpec().Insert(joint); err != nil { + if err := AlertNotificationManager.TableSpec().Insert(ctx, joint); err != nil { return err } joint.SetModelManager(AlertNotificationManager, joint) diff --git a/pkg/monitor/models/datasource.go b/pkg/monitor/models/datasource.go index ee4e3f326c..e543ca2384 100644 --- a/pkg/monitor/models/datasource.go +++ b/pkg/monitor/models/datasource.go @@ -109,7 +109,7 @@ func (man *SDataSourceManager) initDefaultDataSource(ctx context.Context) error Url: url, } ds.Name = DefaultDataSource - if err := man.TableSpec().Insert(ds); err != nil { + if err := man.TableSpec().Insert(ctx, ds); err != nil { log.Errorf("insert default influxdb: %v", err) } } diff --git a/pkg/notify/cache/user_group_cache.go b/pkg/notify/cache/user_group_cache.go index 3aef34ac71..42886e416e 100644 --- a/pkg/notify/cache/user_group_cache.go +++ b/pkg/notify/cache/user_group_cache.go @@ -131,7 +131,7 @@ func (manager *SUserGroupCacheManager) Sync(ctx context.Context, ugCache []SUser now := time.Now().UTC() for i := range added { added[i].LastCheck = now - err := manager.TableSpec().Insert(&added[i]) + err := manager.TableSpec().Insert(ctx, &added[i]) if err != nil { syncResult.AddError(err) } else { diff --git a/pkg/notify/models/mod_config.go b/pkg/notify/models/mod_config.go index 8b88b4d3d2..521284ff84 100644 --- a/pkg/notify/models/mod_config.go +++ b/pkg/notify/models/mod_config.go @@ -132,7 +132,7 @@ func (self *SConfigManager) InitializeData() error { }, } for _, config := range configs { - err := self.TableSpec().Insert(&config) + err := self.TableSpec().Insert(context.TODO(), &config) if err != nil { return err } diff --git a/pkg/notify/models/mod_template.go b/pkg/notify/models/mod_template.go index 2e0e972d9e..424e44c056 100644 --- a/pkg/notify/models/mod_template.go +++ b/pkg/notify/models/mod_template.go @@ -131,7 +131,7 @@ func (tm *STemplateManager) InitializeData() error { if count > 0 { continue } - err := tm.TableSpec().InsertOrUpdate(&template) + err := tm.TableSpec().InsertOrUpdate(context.TODO(), &template) if err != nil { return errors.Wrap(err, "sqlchemy.TableSpec.InsertOrUpdate") } diff --git a/pkg/notify/models/worker.go b/pkg/notify/models/worker.go index 1d19857fec..673a189ca6 100644 --- a/pkg/notify/models/worker.go +++ b/pkg/notify/models/worker.go @@ -168,7 +168,7 @@ func pullContact(ctx context.Context, uid string, contactType string) { } contact.Status = CONTACT_VERIFIED - err = ContactManager.TableSpec().Insert(&contact) + err = ContactManager.TableSpec().Insert(ctx, &contact) if err != nil { log.Errorf("create new %s contact failed", contactType) }