From 293afd2e699e355922dfd06366eea6a415d183a9 Mon Sep 17 00:00:00 2001 From: QIU Jian Date: Thu, 25 Aug 2022 04:43:59 +0800 Subject: [PATCH] fix: remove apiversion param from session --- cmd/climc/entry/climc.go | 11 +-- cmd/climc/shell/misc/pprof.go | 2 +- cmd/climc/shell/watch.go | 4 +- cmd/cloudmon/main_exec.go | 2 +- .../models/ansibleplaybook_instance.go | 4 +- .../models/ansibleplaybooks_validator.go | 4 +- pkg/apigateway/handler/auth.go | 22 ++--- pkg/apigateway/handler/auth_totp.go | 10 +-- pkg/apigateway/handler/backendproxy.go | 4 +- pkg/apigateway/handler/csrfexempt.go | 6 +- pkg/apigateway/handler/idp.go | 14 ++-- pkg/apigateway/handler/imageutils.go | 6 +- pkg/apigateway/handler/k8s.go | 2 +- pkg/apigateway/handler/misc.go | 12 +-- pkg/apigateway/handler/oidc.go | 4 +- pkg/apigateway/handler/proxy.go | 4 +- pkg/apigateway/handler/request.go | 2 +- pkg/apigateway/handler/rpc.go | 4 +- pkg/apigateway/handler/syslog_webservices.go | 2 +- pkg/apigateway/report/report.go | 2 +- pkg/apigateway/service/service.go | 5 -- pkg/apihelper/apihelper.go | 3 +- pkg/baremetal/agent.go | 2 +- pkg/baremetal/cronjobs.go | 6 +- pkg/baremetal/tasks/bm_register.go | 2 +- pkg/cloudcommon/app/auth.go | 2 +- pkg/cloudcommon/db/encrypted.go | 8 +- pkg/cloudcommon/db/rolecache.go | 4 +- pkg/cloudcommon/db/tenantcache.go | 6 +- pkg/cloudcommon/db/tenantcachesync.go | 4 +- pkg/cloudcommon/db/usercache.go | 2 +- pkg/cloudcommon/notifyclient/notify.go | 4 +- .../notifyclient/notify_internal.go | 6 +- pkg/cloudcommon/notifyclient/template.go | 10 +-- pkg/cloudcommon/options/mergeconf.go | 2 +- pkg/cloudcommon/policy/policy.go | 2 +- pkg/cloudcommon/syncman/watcher/watcher.go | 2 +- pkg/cloudevent/models/cloudproviders.go | 2 +- pkg/cloudid/models/cloudaccount.go | 14 ++-- pkg/cloudid/models/cloudprovider.go | 4 +- pkg/cloudid/models/samluser.go | 2 +- .../collectors/common/multiCloudMonUtils.go | 6 +- pkg/cloudmon/collectors/utils.go | 2 +- pkg/cloudmon/service/service.go | 2 +- pkg/cloudnet/models/routers_realize.go | 2 +- pkg/cloudproxy/agent/worker/worker.go | 1 - .../proxy_endpoints_remote_check_make.go | 2 +- pkg/cloudproxy/models/server_util.go | 2 +- pkg/compute/guestdrivers/azure.go | 2 +- pkg/compute/models/cachedimages.go | 12 +-- pkg/compute/models/cloudaccount_saml.go | 2 +- pkg/compute/models/cloudproviders.go | 2 +- pkg/compute/models/cloudsync.go | 2 +- pkg/compute/models/disks.go | 4 +- pkg/compute/models/external_projects.go | 6 +- pkg/compute/models/guest_actions.go | 6 +- pkg/compute/models/guest_sshable.go | 4 +- pkg/compute/models/guest_template.go | 4 +- pkg/compute/models/guests.go | 2 +- pkg/compute/models/hosts.go | 6 +- pkg/compute/models/instance_backup.go | 2 +- pkg/compute/models/kube_clusters.go | 2 +- .../models/loadbalanceragents_deploy.go | 4 +- pkg/compute/models/scaling_trigger.go | 4 +- pkg/compute/models/service_catalog.go | 2 +- pkg/compute/models/skus.go | 4 +- pkg/compute/models/skus_tools.go | 2 +- pkg/compute/tasks/disk_save_task.go | 2 +- .../tasks/guest_restart_network_task.go | 2 +- pkg/compute/tasks/guest_save_template_task.go | 2 +- pkg/compute/tasks/schedule.go | 2 +- pkg/controller/autoscaling/controller.go | 4 +- pkg/controller/autoscaling/health_check.go | 2 +- pkg/controller/autoscaling/timer.go | 2 +- pkg/devtool/models/actions.go | 8 +- pkg/devtool/models/devtoolcronjob.go | 6 +- pkg/devtool/models/script.go | 2 +- pkg/devtool/tasks/apply_script_task.go | 4 +- pkg/devtool/tasks/sshinfo_create_task.go | 2 +- pkg/devtool/tasks/sshinfo_delete_task.go | 2 +- pkg/devtool/utils/service_url.go | 10 +-- pkg/dns/dns.go | 2 +- pkg/esxi/agent.go | 2 +- pkg/hostman/guestman/qemu-kvm.go | 2 +- pkg/hostman/hostutils/hostutils.go | 6 +- pkg/hostman/storageman/disk_local.go | 2 +- pkg/hostman/storageman/storage_local.go | 2 +- pkg/image/models/images.go | 2 +- .../tasks/image_sync_classmetadata_task.go | 2 +- pkg/keystone/models/default_admin.go | 4 +- pkg/keystone/util/session.go | 4 +- pkg/lbagent/api.go | 4 +- pkg/mcclient/auth/auth.go | 45 +++++----- pkg/mcclient/auth/session_cache.go | 6 +- pkg/mcclient/example/server.go | 2 +- pkg/mcclient/mcclient.go | 3 +- pkg/mcclient/modulebase/appoptions.go | 2 +- pkg/mcclient/modulebase/base.go | 7 +- pkg/mcclient/modulebase/misc.go | 4 +- pkg/mcclient/modulebase/modules.go | 83 ++++++------------- pkg/mcclient/modulebase/stats.go | 2 +- .../ansible/mod_ansibleplaybook_reference.go | 3 +- .../modules/ansible/mod_ansibleplaybooks.go | 2 +- .../ansible/mod_ansibleplaybooks_v2.go | 2 +- pkg/mcclient/modules/cloudnet/common.go | 4 +- pkg/mcclient/modules/cloudproxy/common.go | 4 +- .../modules/compute/mod_capabilities.go | 2 +- .../modules/compute/mod_dynamicschedtags.go | 2 +- .../modules/compute/mod_externalprojects.go | 2 +- pkg/mcclient/modules/compute/mod_metadatas.go | 33 ++------ .../modules/compute/mod_schedpolicies.go | 2 +- .../modules/compute/mod_sshkeypairs.go | 4 +- pkg/mcclient/modules/compute/mod_tasks.go | 5 +- pkg/mcclient/modules/etcd/managers.go | 1 + pkg/mcclient/modules/k8s/base.go | 2 +- pkg/mcclient/modules/managers.go | 51 +++++------- pkg/mcclient/modules/mod_logs.go | 4 +- .../modules/monitor/mod_commonalert.go | 3 - .../modules/monitor/mod_migration_alert.go | 3 - pkg/mcclient/modules/quota/mod_quotas.go | 4 +- pkg/mcclient/modules/register.go | 23 +---- .../modules/scheduler/mod_scheduler.go | 2 +- .../modules/webconsole/mod_commandlog.go | 4 +- .../modules/webconsole/mod_webconsole.go | 8 +- .../modules/yunionconf/mod_parameters.go | 2 +- pkg/mcclient/session.go | 50 +++++------ pkg/mcclient/utils/fetchnames.go | 4 +- pkg/monitor/alerting/conditions/query.go | 2 +- pkg/monitor/alerting/eval_context.go | 2 +- .../alerting/notifiers/auto_migration.go | 2 +- .../alerting/notifiers/auto_scaling.go | 2 +- pkg/monitor/alerting/notifiers/onecloud.go | 2 +- pkg/monitor/models/alertresource.go | 2 +- pkg/monitor/models/commonalert.go | 2 +- pkg/monitor/models/datasource.go | 4 +- pkg/monitor/models/helper.go | 2 +- pkg/monitor/models/meteralert.go | 2 +- pkg/monitor/models/monitor_resource_sync.go | 2 +- pkg/monitor/models/nodealert.go | 2 +- pkg/monitor/service/service.go | 2 +- pkg/multicloud/aliyun/storagecache.go | 4 +- pkg/multicloud/apsara/storagecache.go | 2 +- pkg/multicloud/aws/storagecache.go | 4 +- pkg/multicloud/azure/storagecache.go | 4 +- pkg/multicloud/cloudpods/cloudpods.go | 2 +- pkg/multicloud/cloudpods/image.go | 2 +- pkg/multicloud/google/storagecache.go | 2 +- pkg/multicloud/hcso/storagecache.go | 2 +- pkg/multicloud/huawei/storagecache.go | 2 +- pkg/multicloud/nutanix/storagecache.go | 2 +- pkg/multicloud/openstack/openstack.go | 2 +- pkg/multicloud/openstack/storagecache.go | 2 +- pkg/multicloud/qcloud/storagecache.go | 2 +- pkg/multicloud/ucloud/storagecache.go | 2 +- pkg/multicloud/zstack/storagecache.go | 2 +- pkg/notify/models/receiver.go | 14 ++-- pkg/notify/models/subscriber.go | 2 +- pkg/s3gateway/session/session.go | 4 +- pkg/scheduledtask/models/scheduled_tasks.go | 2 +- pkg/util/k8s/cluster.go | 2 +- pkg/util/logclient/logclient.go | 2 +- pkg/vpcagent/ovn/worker.go | 4 +- pkg/webconsole/command/ssh_command.go | 2 +- pkg/webconsole/handlers.go | 4 +- pkg/yunionconf/models/parameters.go | 4 +- 165 files changed, 381 insertions(+), 487 deletions(-) diff --git a/cmd/climc/entry/climc.go b/cmd/climc/entry/climc.go index c6c6f8fc13..394f0c5f0c 100644 --- a/cmd/climc/entry/climc.go +++ b/cmd/climc/entry/climc.go @@ -68,9 +68,9 @@ type BaseOptions struct { OsRegionName string `default:"$OS_REGION_NAME" help:"Defaults to env[OS_REGION_NAME]"` OsZoneName string `default:"$OS_ZONE_NAME" help:"Defaults to env[OS_ZONE_NAME]"` OsEndpointType string `default:"$OS_ENDPOINT_TYPE|internalURL" help:"Defaults to env[OS_ENDPOINT_TYPE] or internalURL" choices:"publicURL|internalURL|adminURL"` - ApiVersion string `default:"$API_VERSION" help:"override default modules service api version"` - OutputFormat string `default:"$CLIMC_OUTPUT_FORMAT|table" choices:"table|kv|json|flatten-table|flatten-kv" help:"output format"` - SUBCOMMAND string `help:"climc subcommand" subcommand:"true"` + // ApiVersion string `default:"$API_VERSION" help:"override default modules service api version"` + OutputFormat string `default:"$CLIMC_OUTPUT_FORMAT|table" choices:"table|kv|json|flatten-table|flatten-kv" help:"output format"` + SUBCOMMAND string `help:"climc subcommand" subcommand:"true"` } func getSubcommandsParser() (*structarg.ArgumentParser, error) { @@ -222,16 +222,13 @@ func newClientSession(options *BaseOptions) (*mcclient.ClientSession, error) { } } - if options.ApiVersion != "" { - mcclient.DisableApiVersionByModule() - } session := client.NewSession( context.Background(), options.OsRegionName, options.OsZoneName, options.OsEndpointType, cacheToken, - options.ApiVersion) + ) return session, nil } diff --git a/cmd/climc/shell/misc/pprof.go b/cmd/climc/shell/misc/pprof.go index f89e64d49d..6857d8d03e 100644 --- a/cmd/climc/shell/misc/pprof.go +++ b/cmd/climc/shell/misc/pprof.go @@ -58,7 +58,7 @@ func init() { svcUrl string ) if len(opts.Service) > 0 { - svcUrl, err = s.GetServiceURL(opts.Service, "") + svcUrl, err = s.GetServiceURL(opts.Service, "", "") if err != nil { return errors.Wrapf(err, "get service %s url", opts.Service) } diff --git a/cmd/climc/shell/watch.go b/cmd/climc/shell/watch.go index a68e4e9793..b7df64b2b3 100644 --- a/cmd/climc/shell/watch.go +++ b/cmd/climc/shell/watch.go @@ -62,9 +62,7 @@ func init() { if opts.All { resSets := sets.NewString() mods, _ := modulebase.GetRegisterdModules() - for _, ress := range mods { - resSets.Insert(ress...) - } + resSets.Insert(mods...) resources = resSets.List() } if len(resources) == 0 { diff --git a/cmd/cloudmon/main_exec.go b/cmd/cloudmon/main_exec.go index f3b302fcda..9289691d45 100644 --- a/cmd/cloudmon/main_exec.go +++ b/cmd/cloudmon/main_exec.go @@ -62,7 +62,7 @@ func newClientSession(options *options.CloudMonOptions) (*mcclient.ClientSession "", options.EndpointType, token, - options.ApiVersion) + ) return session, nil } diff --git a/pkg/ansibleserver/models/ansibleplaybook_instance.go b/pkg/ansibleserver/models/ansibleplaybook_instance.go index 9b4b5ad55c..99988aafa5 100644 --- a/pkg/ansibleserver/models/ansibleplaybook_instance.go +++ b/pkg/ansibleserver/models/ansibleplaybook_instance.go @@ -215,7 +215,7 @@ var PlaybookWorker *workmanager.SWorkManager func taskFailed(ctx context.Context, reason string) { if taskId := ctx.Value(appctx.APP_CONTEXT_KEY_TASK_ID); taskId != nil { - session := auth.GetAdminSessionWithInternal(ctx, "", "") + session := auth.GetAdminSessionWithInternal(ctx, "") modules.TaskFailed(&compute.DevtoolTasks, session, taskId.(string), reason) } else { log.Warningf("Reqeuest task failed missing task id, with reason: %s", reason) @@ -224,7 +224,7 @@ func taskFailed(ctx context.Context, reason string) { func taskCompleted(ctx context.Context, data jsonutils.JSONObject) { if taskId := ctx.Value(appctx.APP_CONTEXT_KEY_TASK_ID); taskId != nil { - session := auth.GetAdminSessionWithInternal(ctx, "", "") + session := auth.GetAdminSessionWithInternal(ctx, "") modules.TaskComplete(&compute.DevtoolTasks, session, taskId.(string), data) } else { log.Warningf("Reqeuest task failed missing task id, with data: %v", data) diff --git a/pkg/ansibleserver/models/ansibleplaybooks_validator.go b/pkg/ansibleserver/models/ansibleplaybooks_validator.go index 7fc8ceb786..6a24acb15d 100644 --- a/pkg/ansibleserver/models/ansibleplaybooks_validator.go +++ b/pkg/ansibleserver/models/ansibleplaybooks_validator.go @@ -102,7 +102,7 @@ func (v *ValidatorAnsiblePlaybook) Validate(data *jsonutils.JSONDict) error { } func (v *ValidatorAnsiblePlaybook) getHostAccessIp(name string) (string, error) { - sess := mcclient_auth.GetSession(context.Background(), v.userCred, "", "") + sess := mcclient_auth.GetSession(context.Background(), v.userCred, "") hostJson, err := compute.Hosts.Get(sess, name, nil) if err != nil { return "", httperrors.NewBadRequestError("cannot find host %s", name) @@ -118,7 +118,7 @@ func (v *ValidatorAnsiblePlaybook) getHostAccessIp(name string) (string, error) } func (v *ValidatorAnsiblePlaybook) getServerIp(name string) (string, error) { - sess := mcclient_auth.GetSession(context.Background(), v.userCred, "", "") + sess := mcclient_auth.GetSession(context.Background(), v.userCred, "") serverJson, err := compute.Servers.Get(sess, name, nil) if err != nil { return "", httperrors.NewBadRequestError("find server %s: %v", name, err) diff --git a/pkg/apigateway/handler/auth.go b/pkg/apigateway/handler/auth.go index b2be1d9381..0d43c1b53c 100644 --- a/pkg/apigateway/handler/auth.go +++ b/pkg/apigateway/handler/auth.go @@ -151,7 +151,7 @@ func (h *AuthHandlers) GetRegionsResponse(ctx context.Context, w http.ResponseWr EncryptPasswd: true, } - s := auth.GetAdminSession(ctx, regions[0], "") + s := auth.GetAdminSession(ctx, regions[0]) if options.Options.ReturnFullDomainList { filters := jsonutils.NewDict() if len(currentDomain) > 0 { @@ -228,7 +228,7 @@ func (h *AuthHandlers) getUser(ctx context.Context, w http.ResponseWriter, req * func getStatsInfo(ctx context.Context, req *http.Request) (jsonutils.JSONObject, error) { token := AppContextToken(ctx) - s := auth.GetSession(ctx, token, FetchRegion(req), "") + s := auth.GetSession(ctx, token, FetchRegion(req)) params, _ := jsonutils.ParseQueryString(req.URL.RawQuery) if params == nil { @@ -306,7 +306,7 @@ func doTenantLogin(ctx context.Context, req *http.Request, body jsonutils.JSONOb } func fetchUserInfoFromToken(ctx context.Context, req *http.Request, token mcclient.TokenCredential) (jsonutils.JSONObject, error) { - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) return fetchUserInfoById(s, token.GetUserId()) } @@ -383,7 +383,7 @@ func (h *AuthHandlers) doCredentialLogin(ctx context.Context, req *http.Request, } uname := token.GetUserName() if len(tenant) > 0 { - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) jsonProj, e := modules.Projects.GetById(s, tenant, nil) if e != nil { log.Errorf("fail to find preset project %s, reset to empty", tenant) @@ -430,7 +430,7 @@ func (h *AuthHandlers) doCredentialLogin(ctx context.Context, req *http.Request, } } if len(tenant) == 0 { - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) projects, e := modules.UsersV3.GetProjects(s, token.GetUserId()) if e == nil && len(projects.Data) > 0 { projectJson := projects.Data[0] @@ -584,7 +584,7 @@ func (h *AuthHandlers) doLogin(ctx context.Context, w http.ResponseWriter, req * if err != nil { return err } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) isTotpInit, err := isUserTotpCredInitialed(s, token.GetUserId()) if err != nil { return err @@ -844,7 +844,7 @@ func isHostAgentExists(s *mcclient.ClientSession) (bool, error) { func getUserInfo(ctx context.Context, req *http.Request) (*jsonutils.JSONDict, error) { token := AppContextToken(ctx) - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) /*log.Infof("getUserInfo modules.UsersV3.Get") usr, err := modules.UsersV3.Get(s, token.GetUserId(), nil) if err != nil { @@ -1117,7 +1117,7 @@ func (h *AuthHandlers) doCreatePolicies(ctx context.Context, w http.ResponseWrit httperrors.InvalidInputError(ctx, w, "request body is empty") return } - s := auth.GetSession(ctx, t, FetchRegion(req), "") + s := auth.GetSession(ctx, t, FetchRegion(req)) result, err := policytool.PolicyCreate(s, body) if err != nil { httperrors.GeneralServerError(ctx, w, err) @@ -1137,7 +1137,7 @@ func (h *AuthHandlers) doPatchPolicy(ctx context.Context, w http.ResponseWriter, httperrors.InvalidInputError(ctx, w, "request body is empty") return } - s := auth.GetSession(ctx, t, FetchRegion(req), "") + s := auth.GetSession(ctx, t, FetchRegion(req)) result, err := policytool.PolicyPatch(s, params[""], body) if err != nil { httperrors.GeneralServerError(ctx, w, err) @@ -1153,7 +1153,7 @@ func (h *AuthHandlers) doDeletePolicies(ctx context.Context, w http.ResponseWrit // return // } _, query, _ := appsrv.FetchEnv(ctx, w, req) - s := auth.GetSession(ctx, t, FetchRegion(req), "") + s := auth.GetSession(ctx, t, FetchRegion(req)) idlist, e := query.GetArray("id") if e != nil || len(idlist) == 0 { @@ -1245,7 +1245,7 @@ func (h *AuthHandlers) resetUserPassword(ctx context.Context, w http.ResponseWri return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) // 2.如果已开启MFA,验证 随机密码正确 if isMfaEnabled(user) { err = authToken.VerifyTotpPasscode(s, t.GetUserId(), input.Passcode) diff --git a/pkg/apigateway/handler/auth_totp.go b/pkg/apigateway/handler/auth_totp.go index 3149ea6c8f..05156255c8 100644 --- a/pkg/apigateway/handler/auth_totp.go +++ b/pkg/apigateway/handler/auth_totp.go @@ -214,7 +214,7 @@ func initTotpSecrets(ctx context.Context, w http.ResponseWriter, req *http.Reque return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) code, err := doCreateUserTotpCred(s, t) if err != nil { httperrors.GeneralServerError(ctx, w, err) @@ -237,7 +237,7 @@ func validatePasscodeHandler(ctx context.Context, w http.ResponseWriter, req *ht return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) _, _, body := appsrv.FetchEnv(ctx, w, req) if body == nil { httperrors.InvalidInputError(ctx, w, "request body is empty") @@ -276,7 +276,7 @@ func resetTotpSecrets(ctx context.Context, w http.ResponseWriter, req *http.Requ return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) _, _, body := appsrv.FetchEnv(ctx, w, req) if body == nil { httperrors.InvalidInputError(ctx, w, "request body is empty") @@ -314,7 +314,7 @@ func listTotpRecoveryQuestions(ctx context.Context, w http.ResponseWriter, req * return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) // 做缓存? ss, err := modules.Credentials.GetRecoverySecrets(s, t.GetUserId()) if len(ss) == 0 { @@ -340,7 +340,7 @@ func resetTotpRecoveryQuestions(ctx context.Context, w http.ResponseWriter, req return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) _, _, body := appsrv.FetchEnv(ctx, w, req) if body == nil { httperrors.InvalidInputError(ctx, w, "request body is empty") diff --git a/pkg/apigateway/handler/backendproxy.go b/pkg/apigateway/handler/backendproxy.go index ef5a23cec4..1a0a70788a 100644 --- a/pkg/apigateway/handler/backendproxy.go +++ b/pkg/apigateway/handler/backendproxy.go @@ -68,8 +68,8 @@ func (h *SBackendServiceProxyHandler) fetchReverseEndpoint() *proxy.SEndpointFac return "", httperrors.NewBadRequestError("no service") } endpointType := "internalURL" - session := auth.GetAdminSession(ctx, FetchRegion(r), "") - ep, err := session.GetServiceURL(serviceName, endpointType) + session := auth.GetAdminSession(ctx, FetchRegion(r)) + ep, err := session.GetServiceURL(serviceName, endpointType, "") if err != nil { return "", httperrors.NewBadRequestError("invalid service %s: %s", serviceName, err) } diff --git a/pkg/apigateway/handler/csrfexempt.go b/pkg/apigateway/handler/csrfexempt.go index 687fbbff29..e03416fcbe 100644 --- a/pkg/apigateway/handler/csrfexempt.go +++ b/pkg/apigateway/handler/csrfexempt.go @@ -44,7 +44,7 @@ func (h *CSRFResourceHandler) Bind(app *appsrv.Application) { h.SHandlers.Bind(app) } -func getAdminSession(ctx context.Context, apiVer string, region string, w http.ResponseWriter) *mcclient.ClientSession { +func getAdminSession(ctx context.Context, region string, w http.ResponseWriter) *mcclient.ClientSession { adminToken := auth.AdminCredential() if adminToken == nil { httperrors.NotFoundError(ctx, w, "get admin credential is nil") @@ -60,7 +60,7 @@ func getAdminSession(ctx context.Context, apiVer string, region string, w http.R if !ret { httperrors.NotFoundError(ctx, w, "illegal region %s, please contact admin", region) } - s := auth.GetAdminSession(ctx, region, apiVer) + s := auth.GetAdminSession(ctx, region) return s } @@ -109,7 +109,7 @@ func fetchEnvCsrf0(ctx context.Context, w http.ResponseWriter, r *http.Request) return nil, nil, nil, nil } log.Infof("csrf region from url: %s", region) - session := getAdminSession(ctx, params[APIVer], region, w) + session := getAdminSession(ctx, region, w) log.Infof("csrf got session: %s", region) if session == nil { return nil, nil, nil, nil diff --git a/pkg/apigateway/handler/idp.go b/pkg/apigateway/handler/idp.go index 9675adbb7a..14faa2138a 100644 --- a/pkg/apigateway/handler/idp.go +++ b/pkg/apigateway/handler/idp.go @@ -49,7 +49,7 @@ func getSsoBaseCallbackUrl() string { func getSsoCallbackUrl(ctx context.Context, req *http.Request, idpId string) string { baseUrl := getSsoBaseCallbackUrl() - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) input := api.GetIdpSsoCallbackUriInput{ RedirectUri: baseUrl, } @@ -110,7 +110,7 @@ func (h *AuthHandlers) getIdpSsoRedirectUri(ctx context.Context, w http.Response query.(*jsonutils.JSONDict).Set("idp_nonce", jsonutils.NewString(utils.GenRequestId(4))) state := base64.URLEncoding.EncodeToString([]byte(query.String())) redirectUri := getSsoCallbackUrl(ctx, req, idpId) - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) input := api.GetIdpSsoRedirectUriInput{ RedirectUri: redirectUri, State: state, @@ -145,7 +145,7 @@ func findExtUserId(input string) string { func (h *AuthHandlers) handleIdpInitSsoLogin(ctx context.Context, w http.ResponseWriter, req *http.Request) { params := appctx.AppContextParams(ctx) idpId := params[""] - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) resp, err := modules.IdentityProviders.Get(s, idpId, nil) if err != nil { httperrors.GeneralServerError(ctx, w, err) @@ -383,7 +383,7 @@ func linkWithExistingUser(ctx context.Context, req *http.Request, idpId, idpLink IdpId: idpId, IdpEntityId: extUserId, } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) _, err = modules.UsersV3.PerformAction(s, t.GetUserId(), "link-idp", jsonutils.Marshal(linkInput)) if err != nil { return errors.Wrap(err, "link-idp") @@ -413,7 +413,7 @@ func handleUnlinkIdp(ctx context.Context, w http.ResponseWriter, req *http.Reque return } - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) input := api.UserUnlinkIdpInput{ IdpId: idpId, IdpEntityId: idpEntityId, @@ -438,7 +438,7 @@ func fetchIdpBasicConfig(ctx context.Context, w http.ResponseWriter, req *http.R } func getIdpBasicConfig(ctx context.Context, req *http.Request, idpId string) (jsonutils.JSONObject, error) { - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) baseUrl := getSsoBaseCallbackUrl() input := api.GetIdpSsoCallbackUriInput{ RedirectUri: baseUrl, @@ -468,7 +468,7 @@ func getIdpBasicConfig(ctx context.Context, req *http.Request, idpId string) (js } func fetchIdpSAMLMetadata(ctx context.Context, w http.ResponseWriter, req *http.Request) { - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) params := appctx.AppContextParams(ctx) idpId := params[""] query := jsonutils.NewDict() diff --git a/pkg/apigateway/handler/imageutils.go b/pkg/apigateway/handler/imageutils.go index af19fab02f..33a7c10447 100644 --- a/pkg/apigateway/handler/imageutils.go +++ b/pkg/apigateway/handler/imageutils.go @@ -130,7 +130,7 @@ func imageUploadHandler(ctx context.Context, w http.ResponseWriter, r *http.Requ } token := AppContextToken(ctx) - s := auth.GetSession(ctx, token, FetchRegion(r), "") + s := auth.GetSession(ctx, token, FetchRegion(r)) res, e := modules.Images.Upload(s, params, f, imageSize) if e != nil { @@ -213,7 +213,7 @@ func imageDownload(ctx context.Context, w http.ResponseWriter, s *mcclient.Clien func imageDownloadHandler(ctx context.Context, w http.ResponseWriter, r *http.Request) { params, query, _ := appsrv.FetchEnv(ctx, w, r) token := AppContextToken(ctx) - s := auth.GetSession(ctx, token, FetchRegion(r), "") + s := auth.GetSession(ctx, token, FetchRegion(r)) // input params imageId, ok := params[""] if !ok || len(imageId) == 0 { @@ -273,7 +273,7 @@ func imageDownloadByUrlHandler(ctx context.Context, w http.ResponseWriter, r *ht return } format, _ := d.GetString("format") - s := auth.GetAdminSession(ctx, consts.GetRegion(), "") + s := auth.GetAdminSession(ctx, consts.GetRegion()) imageDownload(ctx, w, s, id, format) } diff --git a/pkg/apigateway/handler/k8s.go b/pkg/apigateway/handler/k8s.go index 592b429b27..cfda4daa42 100644 --- a/pkg/apigateway/handler/k8s.go +++ b/pkg/apigateway/handler/k8s.go @@ -76,7 +76,7 @@ func (h *K8sResourceHandler) fetchEnv(ctx context.Context, req *http.Request) (* namespace, _ := params.GetString("namespace") cluster, _ := params.GetString("cluster") token := AppContextToken(ctx) - s := auth.GetSession(ctx, token, FetchRegion(req), "") + s := auth.GetSession(ctx, token, FetchRegion(req)) return &k8sResourceEnv{ session: s, cluster: cluster, diff --git a/pkg/apigateway/handler/misc.go b/pkg/apigateway/handler/misc.go index 0812b791c3..94101f707e 100644 --- a/pkg/apigateway/handler/misc.go +++ b/pkg/apigateway/handler/misc.go @@ -70,9 +70,9 @@ var ( BatchHostPXERegisterTemplate = []string{HOST_NAME, HOST_IPMI_ADDR, HOST_IPMI_USERNAME, HOST_IPMI_PASSWORD, HOST_MNG_MAC_ADDR_OPTIONAL, HOST_MNG_IP_ADDR_OPTIONAL} ) -func FetchSession(ctx context.Context, r *http.Request, apiVersion string) *mcclient.ClientSession { +func FetchSession(ctx context.Context, r *http.Request) *mcclient.ClientSession { token := AppContextToken(ctx) - session := auth.GetSession(ctx, token, FetchRegion(r), apiVersion) + session := auth.GetSession(ctx, token, FetchRegion(r)) return session } @@ -279,7 +279,7 @@ func (mh *MiscHandler) DoBatchHostRegister(ctx context.Context, w http.ResponseW } params := jsonutils.NewDict() - s := FetchSession(ctx, req, "") + s := FetchSession(ctx, req) params.Set("hosts", jsonutils.NewString(hosts.String())) // extra params @@ -301,8 +301,8 @@ func (mh *MiscHandler) DoBatchHostRegister(ctx context.Context, w http.ResponseW } func (mh *MiscHandler) DoBatchUserRegister(ctx context.Context, w http.ResponseWriter, req *http.Request) { - adminS := auth.GetAdminSession(ctx, FetchRegion(req), "") - s := FetchSession(ctx, req, "") + adminS := auth.GetAdminSession(ctx, FetchRegion(req)) + s := FetchSession(ctx, req) files := req.MultipartForm.File userfiles, ok := files["users"] @@ -543,7 +543,7 @@ func (mh *MiscHandler) postS3UploadHandler(ctx context.Context, w http.ResponseW acl, _ := p["acl"] token := AppContextToken(ctx) - s := auth.GetSession(ctx, token, FetchRegion(r), "") + s := auth.GetSession(ctx, token, FetchRegion(r)) meta := http.Header{} meta.Set("Content-Type", "application/octet-stream") diff --git a/pkg/apigateway/handler/oidc.go b/pkg/apigateway/handler/oidc.go index 8897be6221..8b1591d020 100644 --- a/pkg/apigateway/handler/oidc.go +++ b/pkg/apigateway/handler/oidc.go @@ -107,7 +107,7 @@ func handleOIDCAuth(ctx context.Context, w http.ResponseWriter, req *http.Reques func fetchOIDCCredential(ctx context.Context, req *http.Request, clientId string) (modules.SOpenIDConnectCredential, error) { var oidcSecret modules.SOpenIDConnectCredential - s := auth.GetAdminSession(ctx, FetchRegion(req), "") + s := auth.GetAdminSession(ctx, FetchRegion(req)) secret, err := modules.Credentials.GetById(s, clientId, nil) if err != nil { return oidcSecret, errors.Wrap(err, "Request Credential") @@ -405,7 +405,7 @@ func handleOIDCUserInfo(ctx context.Context, w http.ResponseWriter, req *http.Re return } - s := auth.GetAdminSession(ctx, token.Info.Region, "") + s := auth.GetAdminSession(ctx, token.Info.Region) data, err := getUserInfo2(s, token.Info.UserId, token.Info.ProjectId, token.Info.Ip.String()) if err != nil { httperrors.NotFoundError(ctx, w, "%v", err) diff --git a/pkg/apigateway/handler/proxy.go b/pkg/apigateway/handler/proxy.go index ff48b6cc7f..9e0c62aa4f 100644 --- a/pkg/apigateway/handler/proxy.go +++ b/pkg/apigateway/handler/proxy.go @@ -68,8 +68,8 @@ func getEndpointSchemeHost(endpoint string) (string, error) { func fetchReverseEndpoint(serviceName string) *proxy.SEndpointFactory { f := func(ctx context.Context, r *http.Request) (string, error) { endpointType := "internalURL" - session := auth.GetAdminSession(ctx, FetchRegion(r), "") - ep, err := session.GetServiceURL(serviceName, endpointType) + session := auth.GetAdminSession(ctx, FetchRegion(r)) + ep, err := session.GetServiceURL(serviceName, endpointType, "") if err != nil { return "", err } diff --git a/pkg/apigateway/handler/request.go b/pkg/apigateway/handler/request.go index 4a3fcbbad4..69a3278685 100644 --- a/pkg/apigateway/handler/request.go +++ b/pkg/apigateway/handler/request.go @@ -49,7 +49,7 @@ type Request struct { func newRequest(ctx context.Context, w http.ResponseWriter, r *http.Request) *Request { params := appctx.AppContextParams(ctx) token := AppContextToken(ctx) - session := auth.GetSession(ctx, token, FetchRegion(r), params[APIVer]) + session := auth.GetSession(ctx, token, FetchRegion(r)) query, err := jsonutils.ParseQueryString(r.URL.RawQuery) req := &Request{ ctx: ctx, diff --git a/pkg/apigateway/handler/rpc.go b/pkg/apigateway/handler/rpc.go index bf0520e0de..de9d91dde3 100644 --- a/pkg/apigateway/handler/rpc.go +++ b/pkg/apigateway/handler/rpc.go @@ -83,8 +83,8 @@ func RpcHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) { return } token := AppContextToken(ctx) - pathParams := appctx.AppContextParams(ctx) - s := auth.GetSession(ctx, token, FetchRegion(req), pathParams[""]) + // pathParams := appctx.AppContextParams(ctx) + s := auth.GetSession(ctx, token, FetchRegion(req)) funcname := verb + utils.Kebab2Camel(callName, "-") mod, e := modulebase.GetModule(s, resType) if e != nil || mod == nil { diff --git a/pkg/apigateway/handler/syslog_webservices.go b/pkg/apigateway/handler/syslog_webservices.go index f0ef9f2cbe..f4b6ddb02e 100644 --- a/pkg/apigateway/handler/syslog_webservices.go +++ b/pkg/apigateway/handler/syslog_webservices.go @@ -156,7 +156,7 @@ func fetchSyslogMessage(r *http.Request) jsonutils.JSONObject { params.Add(jsonutils.NewString(moduleType), "service") } - sess := auth.GetAdminSession(nil, "", "") + sess := auth.GetAdminSession(nil, "") logs, err := modules.Actions.List(sess, params) if err != nil { ret.Code = 2 diff --git a/pkg/apigateway/report/report.go b/pkg/apigateway/report/report.go index 0047ed2c0a..f55f5365b2 100644 --- a/pkg/apigateway/report/report.go +++ b/pkg/apigateway/report/report.go @@ -69,7 +69,7 @@ func Report(ctx context.Context, userCred mcclient.TokenCredential, isStart bool getFunc := func() (*sReport, error) { ret := &sReport{} ret.Version = version.GetShortString() - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) system := jsonutils.Marshal(map[string]string{"scope": "system"}) user, err := identity.UsersV3.Get(s, idapi.SystemAdminUser, nil) if err != nil { diff --git a/pkg/apigateway/service/service.go b/pkg/apigateway/service/service.go index 57f1104719..8b374d164a 100644 --- a/pkg/apigateway/service/service.go +++ b/pkg/apigateway/service/service.go @@ -31,7 +31,6 @@ import ( app_common "yunion.io/x/onecloud/pkg/cloudcommon/app" "yunion.io/x/onecloud/pkg/cloudcommon/cronman" common_options "yunion.io/x/onecloud/pkg/cloudcommon/options" - "yunion.io/x/onecloud/pkg/mcclient" ) func StartService() { @@ -46,10 +45,6 @@ func StartService() { common_options.StartOptionManager(opts, opts.ConfigSyncPeriodSeconds, api.SERVICE_TYPE, api.SERVICE_VERSION, options.OnOptionsChange) - if opts.DisableModuleApiVersion { - mcclient.DisableApiVersionByModule() - } - if err := clientman.InitClient(); err != nil { log.Fatalf("Init client token manager: %v", err) } diff --git a/pkg/apihelper/apihelper.go b/pkg/apihelper/apihelper.go index ab89594648..7f71c5ace4 100644 --- a/pkg/apihelper/apihelper.go +++ b/pkg/apihelper/apihelper.go @@ -128,7 +128,6 @@ func (h *APIHelper) adminClientSession(ctx context.Context) *mcclient.ClientSess } region := h.opts.CommonOptions.Region - apiVersion := "v2" - h.mcclientSession = auth.GetAdminSession(ctx, region, apiVersion) + h.mcclientSession = auth.GetAdminSession(ctx, region) return h.mcclientSession } diff --git a/pkg/baremetal/agent.go b/pkg/baremetal/agent.go index 356901d1bb..e28f5c953e 100644 --- a/pkg/baremetal/agent.go +++ b/pkg/baremetal/agent.go @@ -81,7 +81,7 @@ func (agent *SBaremetalAgent) GetZoneId() string { } func (agent *SBaremetalAgent) GetAdminSession() *mcclient.ClientSession { - return auth.GetAdminSession(context.TODO(), o.Options.Region, "v2") + return auth.GetAdminSession(context.TODO(), o.Options.Region) } func (agent *SBaremetalAgent) GetListenIP() (net.IP, error) { diff --git a/pkg/baremetal/cronjobs.go b/pkg/baremetal/cronjobs.go index e6299553f3..c6381579b1 100644 --- a/pkg/baremetal/cronjobs.go +++ b/pkg/baremetal/cronjobs.go @@ -138,7 +138,7 @@ func eventToJson(e redfish.SEvent) *jsonutils.JSONDict { func fetchLogs(baremetal *SBaremetalInstance, ctx context.Context, logType string) error { params := jsonutils.NewDict() - s := auth.GetAdminSession(ctx, consts.GetRegion(), "") + s := auth.GetAdminSession(ctx, consts.GetRegion()) params.Add(jsonutils.NewInt(1), "limit") params.Add(jsonutils.NewString(baremetal.GetId()), "host_id") params.Add(jsonutils.NewString(logType), "type") @@ -216,8 +216,8 @@ func (job *SSendMetricsJob) Name() string { } func (job *SSendMetricsJob) Do(ctx context.Context, now time.Time) error { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "") - urls, err := s.GetServiceURLs("influxdb", o.Options.SessionEndpointType) + s := auth.GetAdminSession(ctx, consts.GetRegion()) + urls, err := s.GetServiceURLs("influxdb", o.Options.SessionEndpointType, "") if err != nil { return errors.Wrap(err, "s.GetServiceURLs") } diff --git a/pkg/baremetal/tasks/bm_register.go b/pkg/baremetal/tasks/bm_register.go index c8bd3b4cc7..7f6bc933ed 100644 --- a/pkg/baremetal/tasks/bm_register.go +++ b/pkg/baremetal/tasks/bm_register.go @@ -78,7 +78,7 @@ func NewBaremetalRegisterTask( } func (s *sBaremetalRegisterTask) getSession() *mcclient.ClientSession { - return auth.GetSession(context.Background(), s.userCred, o.Options.Region, "v2") + return auth.GetSession(context.Background(), s.userCred, o.Options.Region) } func (s *sBaremetalRegisterTask) getAccessDevMacAddr(ip string) (string, error) { diff --git a/pkg/cloudcommon/app/auth.go b/pkg/cloudcommon/app/auth.go index ecd6d1ef4c..17605d4313 100644 --- a/pkg/cloudcommon/app/auth.go +++ b/pkg/cloudcommon/app/auth.go @@ -100,7 +100,7 @@ func InitBaseAuth(options *common_options.BaseOptions) { } func FetchEtcdServiceInfo() (*identity.EndpointDetails, error) { - s := auth.GetAdminSession(context.Background(), "", "") + s := auth.GetAdminSession(context.Background(), "") return s.GetCommonEtcdEndpoint() } diff --git a/pkg/cloudcommon/db/encrypted.go b/pkg/cloudcommon/db/encrypted.go index 14d544bcd8..6703ca689b 100644 --- a/pkg/cloudcommon/db/encrypted.go +++ b/pkg/cloudcommon/db/encrypted.go @@ -52,7 +52,7 @@ func (res *SEncryptedResource) GetEncryptInfo( userCred mcclient.TokenCredential, ) (apis.SEncryptInfo, error) { ret := apis.SEncryptInfo{} - session := auth.GetSession(ctx, userCred, consts.GetRegion(), "") + session := auth.GetSession(ctx, userCred, consts.GetRegion()) secKey, err := identity_modules.Credentials.GetEncryptKey(session, res.EncryptKeyId) if err != nil { return ret, errors.Wrap(err, "GetEncryptKey") @@ -82,7 +82,7 @@ func (manager *SEncryptedResourceManager) ValidateCreateData( input apis.EncryptedResourceCreateInput, ) (apis.EncryptedResourceCreateInput, error) { if input.EncryptKeyId != nil && len(*input.EncryptKeyId) > 0 { - session := auth.GetSession(ctx, userCred, consts.GetRegion(), "v1") + session := auth.GetSession(ctx, userCred, consts.GetRegion()) keyObj, err := identity_modules.Credentials.Get(session, *input.EncryptKeyId, nil) if err != nil { return input, errors.Wrap(err, "Credentials get key") @@ -103,7 +103,7 @@ func (manager *SEncryptedResourceManager) ValidateCreateData( func (res *SEncryptedResource) CustomizeCreate(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, data jsonutils.JSONObject, nameHint string) error { if len(res.EncryptKeyId) == 0 && jsonutils.QueryBoolean(data, "encrypt_key_new", false) && !jsonutils.QueryBoolean(data, "dry_run", false) { // create new encrypt key - session := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + session := auth.GetAdminSession(ctx, consts.GetRegion()) now := time.Now() keyName := "key-" + nameHint + "-" + timeutils.ShortDate(now) algName, _ := data.GetString("encrypt_key_alg") @@ -127,7 +127,7 @@ func (manager *SEncryptedResourceManager) FetchCustomizeColumns( ) []apis.EncryptedResourceDetails { rets := make([]apis.EncryptedResourceDetails, len(objs)) - session := auth.GetSession(ctx, userCred, consts.GetRegion(), "") + session := auth.GetSession(ctx, userCred, consts.GetRegion()) encKeyMap := make(map[string]identity_modules.SEncryptKeySecret) for i := range objs { var base *SEncryptedResource diff --git a/pkg/cloudcommon/db/rolecache.go b/pkg/cloudcommon/db/rolecache.go index fb058573d1..ba1c9c0aca 100644 --- a/pkg/cloudcommon/db/rolecache.go +++ b/pkg/cloudcommon/db/rolecache.go @@ -123,7 +123,7 @@ func (manager *SRoleCacheManager) FetchRoleFromKeystone(ctx context.Context, idS query.Set("scope", jsonutils.NewString("system")) query.Set("system", jsonutils.JSONTrue) - s := auth.GetAdminSession(ctx, consts.GetRegion(), "") + s := auth.GetAdminSession(ctx, consts.GetRegion()) role, err := modules.RolesV3.GetById(s, idStr, query) if err != nil { if je, ok := err.(*httputils.JSONClientError); ok && je.Code == 404 { @@ -263,7 +263,7 @@ func (manager *SRoleCacheManager) StartWatchRoleInKeystone() error { return nil } ctx := context.Background() - s := auth.GetAdminSession(ctx, "", "") + s := auth.GetAdminSession(ctx, "") watchMan, err := informer.NewWatchManagerBySession(s) if err != nil { return err diff --git a/pkg/cloudcommon/db/tenantcache.go b/pkg/cloudcommon/db/tenantcache.go index 7d090b1cbc..506ce60001 100644 --- a/pkg/cloudcommon/db/tenantcache.go +++ b/pkg/cloudcommon/db/tenantcache.go @@ -231,7 +231,7 @@ func (manager *STenantCacheManager) fetchTenantFromKeystone(ctx context.Context, query := jsonutils.NewDict() query.Set("scope", jsonutils.NewString("system")) - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) tenant, err := modules.Projects.GetById(s, idStr, query) if err != nil { if je, ok := err.(*httputils.JSONClientError); ok && je.Code == 404 { @@ -286,7 +286,7 @@ func (manager *STenantCacheManager) fetchDomainFromKeystone(ctx context.Context, log.Debugf("fetch empty domain!!!!\n%s", debug.Stack()) return nil, fmt.Errorf("Empty idStr") } - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) tenant, err := modules.Domains.GetById(s, idStr, nil) if err != nil { if je, ok := err.(*httputils.JSONClientError); ok && je.Code == 404 { @@ -421,7 +421,7 @@ func (manager *STenantCacheManager) fetchDomainTenantsFromKeystone(ctx context.C return fmt.Errorf("Empty domainId") } - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) params := jsonutils.NewDict() params.Add(jsonutils.NewString(domainId), "domain_id") params.Add(jsonutils.JSONTrue, "details") diff --git a/pkg/cloudcommon/db/tenantcachesync.go b/pkg/cloudcommon/db/tenantcachesync.go index 1b614662f1..618637eaa3 100644 --- a/pkg/cloudcommon/db/tenantcachesync.go +++ b/pkg/cloudcommon/db/tenantcachesync.go @@ -69,7 +69,7 @@ func (w *tenantCacheSyncWorker) Dump() string { } func syncDomains(ctx context.Context) error { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) query := jsonutils.NewDict() query.Add(jsonutils.NewInt(1024), "limit") query.Add(jsonutils.NewString(string(rbacutils.ScopeSystem)), "scope") @@ -98,7 +98,7 @@ func syncDomains(ctx context.Context) error { } func syncProjects(ctx context.Context) error { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) query := jsonutils.NewDict() query.Add(jsonutils.NewInt(1024), "limit") query.Add(jsonutils.NewString(string(rbacutils.ScopeSystem)), "scope") diff --git a/pkg/cloudcommon/db/usercache.go b/pkg/cloudcommon/db/usercache.go index e82816e406..5cb3d27eef 100644 --- a/pkg/cloudcommon/db/usercache.go +++ b/pkg/cloudcommon/db/usercache.go @@ -125,7 +125,7 @@ func (manager *SUserCacheManager) FetchUserFromKeystone(ctx context.Context, idS query.Set("scope", jsonutils.NewString("system")) query.Set("system", jsonutils.JSONTrue) - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) user, err := modules.UsersV3.GetById(s, idStr, query) if err != nil { if je, ok := err.(*httputils.JSONClientError); ok && je.Code == 404 { diff --git a/pkg/cloudcommon/notifyclient/notify.go b/pkg/cloudcommon/notifyclient/notify.go index bcae1487c6..6bce902d96 100644 --- a/pkg/cloudcommon/notifyclient/notify.go +++ b/pkg/cloudcommon/notifyclient/notify.go @@ -237,7 +237,7 @@ func (t *eventTask) Dump() string { } func (t *eventTask) Run() { - s, err := AdminSessionGenerator(context.Background(), "", "") + s, err := AdminSessionGenerator(context.Background(), "") if err != nil { log.Errorf("unable to get admin session: %v", err) return @@ -361,7 +361,7 @@ func IntelliNotify(ctx context.Context, recipientId []string, isGroup bool, chan } func FetchNotifyAdminRecipients(ctx context.Context, region string, users []string, groups []string) { - s, err := AdminSessionGenerator(ctx, region, "v1") + s, err := AdminSessionGenerator(ctx, region) if err != nil { log.Errorf("unable to get admin session: %v", err) } diff --git a/pkg/cloudcommon/notifyclient/notify_internal.go b/pkg/cloudcommon/notifyclient/notify_internal.go index 87510e076b..0a455b71b7 100644 --- a/pkg/cloudcommon/notifyclient/notify_internal.go +++ b/pkg/cloudcommon/notifyclient/notify_internal.go @@ -72,7 +72,7 @@ func systemNotify(ctx context.Context, priority npk.TNotifyPriority, event strin } func notifyAll(ctx context.Context, recipientId []string, isGroup bool, priority npk.TNotifyPriority, event string, data jsonutils.JSONObject) error { - s, err := AdminSessionGenerator(ctx, consts.GetRegion(), "") + s, err := AdminSessionGenerator(ctx, consts.GetRegion()) if err != nil { return err } @@ -184,7 +184,7 @@ func lang(ctx context.Context, contactType npk.TNotifyChannel, reIds []string, c func genMsgViaLang(ctx context.Context, p sNotifyParams) ([]npk.SNotifyMessage, error) { reIds := make([]string, 0) - s, err := AdminSessionGenerator(context.Background(), consts.GetRegion(), "") + s, err := AdminSessionGenerator(context.Background(), consts.GetRegion()) if err != nil { return nil, err } @@ -359,7 +359,7 @@ func (t *notifyTask) Dump() string { } func (t *notifyTask) Run() { - s, err := AdminSessionGenerator(t.ctx, consts.GetRegion(), "") + s, err := AdminSessionGenerator(t.ctx, consts.GetRegion()) if err != nil { log.Errorf("fail to get session: %v", err) } diff --git a/pkg/cloudcommon/notifyclient/template.go b/pkg/cloudcommon/notifyclient/template.go index e656931e7b..e089d61859 100644 --- a/pkg/cloudcommon/notifyclient/template.go +++ b/pkg/cloudcommon/notifyclient/template.go @@ -46,15 +46,15 @@ var ( checkTemplates bool ) -type SAdminSessionGenerator func(ctx context.Context, region string, apiVersion string) (*mcclient.ClientSession, error) +type SAdminSessionGenerator func(ctx context.Context, region string) (*mcclient.ClientSession, error) type SUserLangFetcher func(uids []string) (map[string]string, error) -func getAdminSesion(ctx context.Context, region string, apiVersion string) (*mcclient.ClientSession, error) { - return auth.GetAdminSession(ctx, region, apiVersion), nil +func getAdminSesion(ctx context.Context, region string) (*mcclient.ClientSession, error) { + return auth.GetAdminSession(ctx, region), nil } func getUserLang(uids []string) (map[string]string, error) { - s, err := AdminSessionGenerator(context.Background(), consts.GetRegion(), "") + s, err := AdminSessionGenerator(context.Background(), consts.GetRegion()) if err != nil { return nil, err } @@ -79,7 +79,7 @@ func getUserLang(uids []string) (map[string]string, error) { } func getRobotLang(robots []string) (map[string]string, error) { - s, err := AdminSessionGenerator(context.Background(), consts.GetRegion(), "") + s, err := AdminSessionGenerator(context.Background(), consts.GetRegion()) if err != nil { return nil, err } diff --git a/pkg/cloudcommon/options/mergeconf.go b/pkg/cloudcommon/options/mergeconf.go index 13d4b541cf..32d966ec88 100644 --- a/pkg/cloudcommon/options/mergeconf.go +++ b/pkg/cloudcommon/options/mergeconf.go @@ -79,7 +79,7 @@ func (s *mcclientServiceConfigSession) Merge(opts interface{}, serviceType strin s.config = jsonutils.Marshal(opts).(*jsonutils.JSONDict) region, _ := s.config.GetString("region") // epType, _ := s.config.GetString("session_endpoint_type") - s.session = auth.GetAdminSession(context.Background(), region, "") + s.session = auth.GetAdminSession(context.Background(), region) s.serviceId, _ = getServiceIdByType(s.session, serviceType, serviceVersion) if len(s.serviceId) > 0 { serviceConf, err := getServiceConfig(s.session, s.serviceId) diff --git a/pkg/cloudcommon/policy/policy.go b/pkg/cloudcommon/policy/policy.go index f7d1e046f0..9071b2f922 100644 --- a/pkg/cloudcommon/policy/policy.go +++ b/pkg/cloudcommon/policy/policy.go @@ -400,7 +400,7 @@ func explainPolicy(userCred mcclient.TokenCredential, policyReq jsonutils.JSONOb } func fetchPolicyDataByIdOrName(ctx context.Context, id string) (*sPolicyData, error) { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) data, err := identity.Policies.Get(s, id, nil) if err != nil { return nil, errors.Wrap(err, "modules.Policies.Get") diff --git a/pkg/cloudcommon/syncman/watcher/watcher.go b/pkg/cloudcommon/syncman/watcher/watcher.go index 7f91419733..3103ad2629 100644 --- a/pkg/cloudcommon/syncman/watcher/watcher.go +++ b/pkg/cloudcommon/syncman/watcher/watcher.go @@ -81,7 +81,7 @@ func (manager *SInformerSyncManager) StartWatching(resMan informer.IResourceMana func (manager *SInformerSyncManager) startWatcher() error { log.Infof("[%s] Start resource informer watcher for %s", manager.Name(), manager.resourceManager.GetKeyword()) ctx := context.Background() - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) informer.NewWatchManagerBySessionBg(s, func(watchMan *informer.SWatchManager) error { if err := watchMan.For(manager.resourceManager).AddEventHandler(ctx, manager); err != nil { return errors.Wrapf(err, "watch resource %s", manager.resourceManager.GetKeyword()) diff --git a/pkg/cloudevent/models/cloudproviders.go b/pkg/cloudevent/models/cloudproviders.go index f6a7127dbc..022c504621 100644 --- a/pkg/cloudevent/models/cloudproviders.go +++ b/pkg/cloudevent/models/cloudproviders.go @@ -329,7 +329,7 @@ type SCloudproviderDelegate struct { } func (self *SCloudprovider) GetDelegate() (*SCloudproviderDelegate, error) { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) result, err := modules.Cloudproviders.Get(s, self.Id, nil) if err != nil { return nil, errors.Wrap(err, "modules.Cloudproviders.Get") diff --git a/pkg/cloudid/models/cloudaccount.go b/pkg/cloudid/models/cloudaccount.go index 64b2e3e887..698a5787e5 100644 --- a/pkg/cloudid/models/cloudaccount.go +++ b/pkg/cloudid/models/cloudaccount.go @@ -88,7 +88,7 @@ func (manager *SCloudaccountManager) GetResourceCount() ([]db.SScopeResourceCoun } func (manager *SCloudaccountManager) GetICloudaccounts() ([]SCloudaccount, error) { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) data := []jsonutils.JSONObject{} offset := int64(0) @@ -449,7 +449,7 @@ func (manager *SCloudaccountManager) FetchAccount(ctx context.Context, id string account, err := manager.FetchById(id) if err != nil { if err == sql.ErrNoRows { - session := auth.GetAdminSession(context.Background(), options.Options.Region, "") + session := auth.GetAdminSession(context.Background(), options.Options.Region) result, err := modules.Cloudaccounts.Get(session, id, nil) if err != nil { return nil, errors.Wrap(err, "Cloudaccounts.Get") @@ -493,7 +493,7 @@ type SCloudDelegate struct { } func (self *SCloudaccount) getCloudDelegate(ctx context.Context) (*SCloudDelegate, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) result, err := modules.Cloudaccounts.Get(s, self.Id, nil) if err != nil { return nil, errors.Wrap(err, "Cloudaccounts.Get") @@ -515,7 +515,7 @@ func (self *SCloudaccount) GetProvider() (cloudprovider.ICloudProvider, error) { } func (self *SCloudaccount) GetCloudDelegaes(ctx context.Context) ([]SCloudDelegate, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) params := map[string]string{"cloudaccount": self.Id} result, err := modules.Cloudproviders.List(s, jsonutils.Marshal(params)) if err != nil { @@ -860,7 +860,7 @@ func (self *SCloudaccount) SyncSystemCloudpoliciesFromCloud(ctx context.Context, return nil } - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) transport := httputils.GetTransport(true) transport.Proxy = options.Options.HttpTransportProxyFunc() client := &http.Client{Transport: transport} @@ -982,7 +982,7 @@ func (self *SCloudaccount) GetCloudproviders() ([]SCloudprovider, error) { } func (self *SCloudaccount) GetICloudprovider() ([]SCloudprovider, error) { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) data := []jsonutils.JSONObject{} offset := int64(0) params := map[string]interface{}{ @@ -1895,7 +1895,7 @@ func (self *SCloudaccount) GetUserCloudgroups(userId string) ([]string, error) { if len(cache.ExternalId) > 0 { ret = append(ret, cache.Name) } else { - s := auth.GetAdminSession(context.TODO(), options.Options.Region, "") + s := auth.GetAdminSession(context.TODO(), options.Options.Region) _, err = cache.GetOrCreateICloudgroup(context.TODO(), s.GetToken()) if err != nil { return []string{}, errors.Wrapf(err, "GetOrCreateICloudgroup") diff --git a/pkg/cloudid/models/cloudprovider.go b/pkg/cloudid/models/cloudprovider.go index 1cf6e82864..3cedae0a40 100644 --- a/pkg/cloudid/models/cloudprovider.go +++ b/pkg/cloudid/models/cloudprovider.go @@ -83,7 +83,7 @@ func (manager *SCloudproviderManager) FetchProvider(ctx context.Context, id stri provider, err := manager.FetchById(id) if err != nil { if err == sql.ErrNoRows { - session := auth.GetAdminSession(context.Background(), options.Options.Region, "") + session := auth.GetAdminSession(context.Background(), options.Options.Region) result, err := modules.Cloudproviders.Get(session, id, nil) if err != nil { return nil, errors.Wrap(err, "Cloudproviders.Get") @@ -105,7 +105,7 @@ func (manager *SCloudproviderManager) FetchProvider(ctx context.Context, id stri } func (self *SCloudprovider) getCloudDelegate(ctx context.Context) (*SCloudDelegate, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) result, err := modules.Cloudproviders.Get(s, self.Id, nil) if err != nil { return nil, errors.Wrap(err, "Cloudproviders.Get") diff --git a/pkg/cloudid/models/samluser.go b/pkg/cloudid/models/samluser.go index 565b3dd648..63c2b66481 100644 --- a/pkg/cloudid/models/samluser.go +++ b/pkg/cloudid/models/samluser.go @@ -205,7 +205,7 @@ func (self *SSamluser) SyncAzureGroup() error { return errors.Wrapf(err, "group cache Register") } if len(cache.ExternalId) == 0 { - s := auth.GetAdminSession(context.TODO(), options.Options.Region, "") + s := auth.GetAdminSession(context.TODO(), options.Options.Region) _, err = cache.GetOrCreateICloudgroup(context.TODO(), s.GetToken()) if err != nil { return errors.Wrapf(err, "GetOrCreateICloudgroup") diff --git a/pkg/cloudmon/collectors/common/multiCloudMonUtils.go b/pkg/cloudmon/collectors/common/multiCloudMonUtils.go index 57c59a1874..1d7867bcef 100644 --- a/pkg/cloudmon/collectors/common/multiCloudMonUtils.go +++ b/pkg/cloudmon/collectors/common/multiCloudMonUtils.go @@ -451,7 +451,7 @@ func JsonToMetric(obj *jsonutils.JSONDict, name string, tags map[string]string, } func SendMetrics(s *mcclient.ClientSession, metrics []influxdb.SMetricData, debug bool, database string) error { - urls, err := s.GetServiceURLs("influxdb", o.Options.SessionEndpointType) + urls, err := s.GetServiceURLs("influxdb", o.Options.SessionEndpointType, "") if err != nil { return errors.Wrap(err, "GetServiceURLs") } @@ -596,7 +596,7 @@ func MakePullMetricRoutineWithDur(ctx context.Context, factory ICloudReportFacto go func() { timer := time.NewTimer(0) for { - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") select { case <-closeChan: log.Warningf("closed provider: %s,name: %s. pull metric", provider.Name, provider.Name) @@ -618,7 +618,7 @@ func MakePullMetricRoutineAtZeroPoint(ctx context.Context, factory ICloudReportF next := now.Add(time.Hour * 24 * interval) date := time.Date(next.Year(), next.Month(), next.Day(), 0, 0, 0, 0, next.Location()) timer.Reset(date.Sub(now)) - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") select { case <-closeChan: log.Warningf("closed provider: %s,brand: %s. pull metric", provider.Name, provider.Brand) diff --git a/pkg/cloudmon/collectors/utils.go b/pkg/cloudmon/collectors/utils.go index e34ceab83a..a0cee9e212 100644 --- a/pkg/cloudmon/collectors/utils.go +++ b/pkg/cloudmon/collectors/utils.go @@ -52,7 +52,7 @@ func jsonToMetric(obj *jsonutils.JSONDict, name string, tags []string, metrics [ } func sendMetrics(s *mcclient.ClientSession, metrics []influxdb.SMetricData, debug bool) error { - urls, err := s.GetServiceURLs("influxdb", o.Options.SessionEndpointType) + urls, err := s.GetServiceURLs("influxdb", o.Options.SessionEndpointType, "") if err != nil { return errors.Wrap(err, "GetServiceURLs") } diff --git a/pkg/cloudmon/service/service.go b/pkg/cloudmon/service/service.go index 7682b65caa..b22a5a6ac0 100644 --- a/pkg/cloudmon/service/service.go +++ b/pkg/cloudmon/service/service.go @@ -85,7 +85,7 @@ func StartService() { } func getCloudproviderList(ctx context.Context) ([]jsonutils.JSONObject, error) { - session := auth.GetAdminSessionWithPublic(context.Background(), "", "") + session := auth.GetAdminSessionWithPublic(context.Background(), "") query := jsonutils.NewDict() query.Add(jsonutils.NewString("10"), common.KEY_LIMIT) query.Add(jsonutils.NewString("true"), common.KEY_ADMIN) diff --git a/pkg/cloudnet/models/routers_realize.go b/pkg/cloudnet/models/routers_realize.go index bce3c9fe94..3f5a876d55 100644 --- a/pkg/cloudnet/models/routers_realize.go +++ b/pkg/cloudnet/models/routers_realize.go @@ -72,7 +72,7 @@ func (router *SRouter) realize(ctx context.Context, userCred mcclient.TokenCrede params.Set("inventory", jsonutils.NewString(inv.String())) params.Set("playbook", jsonutils.NewString(pb.String())) params.Set("files", jsonutils.NewString(files)) - cliSess := auth.GetSession(ctx, userCred, "", "") + cliSess := auth.GetSession(ctx, userCred, "") if _, err := ansible.AnsiblePlaybooksV2.Create(cliSess, params); err != nil { return errors.WithMessagef(err, "create ansible task") } diff --git a/pkg/cloudproxy/agent/worker/worker.go b/pkg/cloudproxy/agent/worker/worker.go index ea663f6d16..248f2279c5 100644 --- a/pkg/cloudproxy/agent/worker/worker.go +++ b/pkg/cloudproxy/agent/worker/worker.go @@ -71,7 +71,6 @@ func NewWorker(commonOpts *common_options.CommonOptions, opts *agentoptions.Opti clientSet: agentssh.NewClientSet(), sessionCache: &auth.SessionCache{ Region: commonOpts.Region, - APIVersion: "v2", UseAdminToken: true, EarlyRefresh: time.Hour, }, diff --git a/pkg/cloudproxy/models/proxy_endpoints_remote_check_make.go b/pkg/cloudproxy/models/proxy_endpoints_remote_check_make.go index f08e4c5451..c56aa5e457 100644 --- a/pkg/cloudproxy/models/proxy_endpoints_remote_check_make.go +++ b/pkg/cloudproxy/models/proxy_endpoints_remote_check_make.go @@ -154,7 +154,7 @@ func (proxyendpoint *SProxyEndpoint) remoteConfigure(ctx context.Context, userCr }, } - cliSess := auth.GetSession(ctx, userCred, "", "") + cliSess := auth.GetSession(ctx, userCred, "") pbId := "" pbName := "pe-remote-configure-" + proxyendpoint.Name _, err := ansible_modules.AnsiblePlaybooks.UpdateOrCreatePbModel( diff --git a/pkg/cloudproxy/models/server_util.go b/pkg/cloudproxy/models/server_util.go index 151aea0abe..5e9aed9195 100644 --- a/pkg/cloudproxy/models/server_util.go +++ b/pkg/cloudproxy/models/server_util.go @@ -60,7 +60,7 @@ func getServerInfo( userCred mcclient.TokenCredential, serverId string, ) (*serverInfo, error) { - sess := auth.GetSession(ctx, userCred, "", "") + sess := auth.GetSession(ctx, userCred, "") serverJson, err := compute_modules.Servers.Get(sess, serverId, nil) if err != nil { return nil, httperrors.NewGeneralError(err) diff --git a/pkg/compute/guestdrivers/azure.go b/pkg/compute/guestdrivers/azure.go index 038535c3a3..8872d2e52e 100644 --- a/pkg/compute/guestdrivers/azure.go +++ b/pkg/compute/guestdrivers/azure.go @@ -125,7 +125,7 @@ func (self *SAzureGuestDriver) ValidateResizeDisk(guest *models.SGuest, disk *mo func (self *SAzureGuestDriver) ValidateImage(ctx context.Context, image *cloudprovider.SImage) error { if len(image.ExternalId) == 0 { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) result, err := modules.Images.GetSpecific(s, image.Id, "subformats", nil) if err != nil { return errors.Wrap(err, "get subformats") diff --git a/pkg/compute/models/cachedimages.go b/pkg/compute/models/cachedimages.go index b881d3c9e0..88d757aa6c 100644 --- a/pkg/compute/models/cachedimages.go +++ b/pkg/compute/models/cachedimages.go @@ -207,7 +207,7 @@ func (self *SCachedimage) GetImage() (*cloudprovider.SImage, error) { } func (self *SCachedimage) syncClassMetadata(ctx context.Context, userCred mcclient.TokenCredential) error { - session := auth.GetSessionWithInternal(ctx, userCred, "", "") + session := auth.GetSessionWithInternal(ctx, userCred, "") ret, err := image.Images.GetSpecific(session, self.Id, "class-metadata", nil) if err != nil { return errors.Wrap(err, "unable to get class_metadata") @@ -321,7 +321,7 @@ func (manager *SCachedimageManager) GetCachedimageById(ctx context.Context, user if err != nil && errors.Cause(err) != sql.ErrNoRows { return nil, err } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) obj, err := image.Images.Get(s, imageId, nil) if err != nil { log.Errorf("GetImageById %s error %s", imageId, err) @@ -347,7 +347,7 @@ func (manager *SCachedimageManager) GetImageById(ctx context.Context, userCred m return cachedImage.requestRefreshExternalImage(ctx, userCred) } } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) obj, err := image.Images.Get(s, imageId, nil) if err != nil { return nil, errors.Wrap(err, "modules.Images.Get") @@ -371,7 +371,7 @@ func (manager *SCachedimageManager) getImageByName(ctx context.Context, userCred return cachedImage.requestRefreshExternalImage(ctx, userCred) } } - s := auth.GetSession(ctx, userCred, options.Options.Region, "") + s := auth.GetSession(ctx, userCred, options.Options.Region) obj, err := image.Images.GetByName(s, imageId, nil) if err != nil { return nil, errors.Wrap(err, "modules.Images.GetByName") @@ -448,7 +448,7 @@ func (self *SCachedimageManager) PerformCacheImage(ctx context.Context, userCred if len(input.ImageId) == 0 { return nil, httperrors.NewMissingParameterError("image_id") } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) obj, err := image.Images.Get(s, input.ImageId, nil) if err != nil { return nil, errors.Wrap(err, "modules.Images.Get") @@ -871,7 +871,7 @@ func (manager *SCachedimageManager) AutoCleanImageCaches(ctx context.Context, us if err != nil { return } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) for i := range caches { _, err := image.Images.Get(s, caches[i].Id, nil) if err != nil { diff --git a/pkg/compute/models/cloudaccount_saml.go b/pkg/compute/models/cloudaccount_saml.go index c5fb198663..997fcd4efc 100644 --- a/pkg/compute/models/cloudaccount_saml.go +++ b/pkg/compute/models/cloudaccount_saml.go @@ -49,7 +49,7 @@ func (account *SCloudaccount) GetDetailsSaml(ctx context.Context, userCred mccli output.RedirectLoginUrl = httputils.JoinPath(options.Options.ApiServer, cloudid.SAML_IDP_PREFIX, "redirect/login", account.Id) output.RedirectLogoutUrl = httputils.JoinPath(options.Options.ApiServer, cloudid.SAML_IDP_PREFIX, "redirect/logout", account.Id) output.MetadataUrl = httputils.JoinPath(options.Options.ApiServer, cloudid.SAML_IDP_PREFIX, "metadata", account.Id) - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) params := map[string]string{ "scope": "system", "cloudaccount_id": account.Id, diff --git a/pkg/compute/models/cloudproviders.go b/pkg/compute/models/cloudproviders.go index 0b700c8221..66655da008 100644 --- a/pkg/compute/models/cloudproviders.go +++ b/pkg/compute/models/cloudproviders.go @@ -398,7 +398,7 @@ func getTenant(ctx context.Context, projectId string, name string) (*db.STenant, } func createTenant(ctx context.Context, name, domainId, desc string) (string, string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) params := jsonutils.NewDict() params.Add(jsonutils.NewString(name), "generate_name") diff --git a/pkg/compute/models/cloudsync.go b/pkg/compute/models/cloudsync.go index 204e5b2c77..077aed563d 100644 --- a/pkg/compute/models/cloudsync.go +++ b/pkg/compute/models/cloudsync.go @@ -1032,7 +1032,7 @@ func syncSkusFromPrivateCloud(ctx context.Context, userCred mcclient.TokenCreden if result.IsError() { return } - s := auth.GetSession(ctx, userCred, "", "") + s := auth.GetSession(ctx, userCred, "") if _, err := scheduler.SchedManager.SyncSku(s, true); err != nil { log.Errorf("Sync scheduler sku cache error: %v", err) } diff --git a/pkg/compute/models/disks.go b/pkg/compute/models/disks.go index c88fa28269..1b4d2b056e 100644 --- a/pkg/compute/models/disks.go +++ b/pkg/compute/models/disks.go @@ -1098,7 +1098,7 @@ func (self *SDisk) PrepareSaveImage(ctx context.Context, userCred mcclient.Token return "", httperrors.NewResourceNotFoundError("No zone for this disk") } if len(input.GenerateName) == 0 { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) imageList, err := image.Images.List(s, jsonutils.Marshal(map[string]string{"name": input.Name, "admin": "true"})) if err != nil { return "", err @@ -1150,7 +1150,7 @@ func (self *SDisk) PrepareSaveImage(ctx context.Context, userCred mcclient.Token if _, err := image.ImageQuotas.DoQuotaCheck(session, jsonutils.Marshal("a)); err != nil { return "", err }*/ - us := auth.GetSession(ctx, userCred, options.Options.Region, "") + us := auth.GetSession(ctx, userCred, options.Options.Region) result, err := image.Images.Create(us, jsonutils.Marshal(opts)) if err != nil { return "", err diff --git a/pkg/compute/models/external_projects.go b/pkg/compute/models/external_projects.go index 3d8c69cb2a..b889f91fc8 100644 --- a/pkg/compute/models/external_projects.go +++ b/pkg/compute/models/external_projects.go @@ -237,7 +237,7 @@ func (self *SExternalProject) syncRemoveCloudProject(ctx context.Context, userCr } func (self *SExternalProject) SyncWithCloudProject(ctx context.Context, userCred mcclient.TokenCredential, account *SCloudaccount, ext cloudprovider.ICloudProject) error { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) providers := account.GetCloudproviders() providerMaps := map[string]string{} for _, provider := range providers { @@ -323,7 +323,7 @@ func (self *SCloudaccount) getOrCreateDomain(ctx context.Context, userCred mccli if errors.Cause(err) != sql.ErrNoRows { return "", errors.Wrapf(err, "FetchDomainByIdOrName") } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) params := jsonutils.NewDict() params.Add(jsonutils.NewString(name), "generate_name") @@ -412,7 +412,7 @@ func (manager *SExternalProjectManager) newFromCloudProject(ctx context.Context, tags, _ := extProject.GetTags() if len(tags) > 0 { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) identity.Projects.PerformAction(s, project.ProjectId, "user-metadata", jsonutils.Marshal(tags)) } diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index fe189486a0..55d3b1e60c 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -265,7 +265,7 @@ func (self *SGuest) PerformSaveGuestImage(ctx context.Context, userCred mcclient kwargs.OsArch = self.OsArch } - s := auth.GetSession(ctx, userCred, consts.GetRegion(), "") + s := auth.GetSession(ctx, userCred, consts.GetRegion()) ret, err := image.GuestImages.Create(s, jsonutils.Marshal(kwargs)) if err != nil { return nil, err @@ -474,7 +474,7 @@ func (self *SGuest) PerformMigrateForecast(ctx context.Context, userCred mcclien schedParams.Hypervisor = api.HYPERVISOR_KVM } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) _, res, err := scheduler.SchedManager.DoScheduleForecast(s, schedParams, 1) if err != nil { return nil, errors.Wrap(err, "Do schedule migrate forecast") @@ -2667,7 +2667,7 @@ func (self *SGuest) PerformChangeConfig(ctx context.Context, userCred mcclient.T // schedulr forecast schedDesc := self.changeConfToSchedDesc(addCpu, addMem, schedInputDisks) confs.Set("sched_desc", jsonutils.Marshal(schedDesc)) - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) canChangeConf, res, err := scheduler.SchedManager.DoScheduleForecast(s, schedDesc, 1) if err != nil { return nil, err diff --git a/pkg/compute/models/guest_sshable.go b/pkg/compute/models/guest_sshable.go index 178afabda1..5949a366e7 100644 --- a/pkg/compute/models/guest_sshable.go +++ b/pkg/compute/models/guest_sshable.go @@ -165,7 +165,7 @@ func (guest *SGuest) sshableTryEach( } } - sess := auth.GetSession(ctx, userCred, "", "") + sess := auth.GetSession(ctx, userCred, "") // - check existing proxy forward proxyforwardTried := false for i := range gnInfos { @@ -488,7 +488,7 @@ func (guest *SGuest) PerformMakeSshable( host.SetVar("ansible_password", input.Password) } - cliSess := auth.GetSession(ctx, userCred, "", "") + cliSess := auth.GetSession(ctx, userCred, "") pbId := "" pbName := "make-sshable-" + guest.Id pbModel, err := ansible_modules.AnsiblePlaybooks.UpdateOrCreatePbModel( diff --git a/pkg/compute/models/guest_template.go b/pkg/compute/models/guest_template.go index ec2fbd0959..dea4e136b4 100644 --- a/pkg/compute/models/guest_template.go +++ b/pkg/compute/models/guest_template.go @@ -466,7 +466,7 @@ func (gt *SGuestTemplate) getMoreDetails(ctx context.Context, userCred mcclient. configInfo.Image = gt.ImageId } case IMAGE_TYPE_GUEST: - s := auth.GetSession(ctx, userCred, options.Options.Region, "") + s := auth.GetSession(ctx, userCred, options.Options.Region) ret, err := image.GuestImages.Get(s, gt.ImageId, jsonutils.JSONNull) if err != nil || !ret.Contains("id") { configInfo.Image = gt.ImageId @@ -561,7 +561,7 @@ func (gt *SGuestTemplate) PerformPublic( } isPublic, publicScope = image.IsPublic, image.PublicScope case IMAGE_TYPE_GUEST: - s := auth.GetSession(ctx, userCred, options.Options.Region, "") + s := auth.GetSession(ctx, userCred, options.Options.Region) ret, err := image.GuestImages.Get(s, gt.ImageId, jsonutils.JSONNull) if err != nil { return nil, errors.Wrapf(err, "fail to fetch guest image %s descripted by guest template", gt.ImageId) diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 9db11b8121..029a2e6573 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -5837,7 +5837,7 @@ func (self *SGuestManager) checkGuestImage(ctx context.Context, input *api.Serve params := jsonutils.NewDict() params.Add(jsonutils.JSONTrue, "details") - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) ret, err := image.GuestImages.Get(s, guestImageId, params) if err != nil { return errors.Wrap(err, "get guest image from glance error") diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index 45479b1d3b..40180bc39e 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -1170,7 +1170,7 @@ func (self *SHostManager) ClearSchedDescCache(hostId string) error { } func (self *SHostManager) ClearSchedDescSessionCache(hostId, sessionId string) error { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) return scheduler.SchedManager.CleanCache(s, hostId, sessionId, false) } @@ -1184,7 +1184,7 @@ func (self *SHost) ClearSchedDescSessionCache(sessionId string) error { // sync clear sched desc on scheduler side func (self *SHostManager) SyncClearSchedDescSessionCache(hostId, sessionId string) error { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) return scheduler.SchedManager.CleanCache(s, hostId, sessionId, true) } @@ -3238,7 +3238,7 @@ func (manager *SHostManager) GetHostsByManagerAndRegion(managerId string, region } func (self *SHost) Request(ctx context.Context, userCred mcclient.TokenCredential, method httputils.THttpMethod, url string, headers http.Header, body jsonutils.JSONObject) (jsonutils.JSONObject, error) { - s := auth.GetSession(ctx, userCred, "", "") + s := auth.GetSession(ctx, userCred, "") _, ret, err := s.JSONRequest(self.ManagerUri, "", method, url, headers, body) return ret, err } diff --git a/pkg/compute/models/instance_backup.go b/pkg/compute/models/instance_backup.go index d2a1462112..d70f723c7f 100644 --- a/pkg/compute/models/instance_backup.go +++ b/pkg/compute/models/instance_backup.go @@ -617,7 +617,7 @@ func (ib *SInstanceBackup) FillFromPackMetadata(ctx context.Context, userCred mc ib.SetAllMetadata(ctx, meta, userCred) } if len(metadata.EncryptKeyId) > 0 { - session := auth.GetSession(ctx, userCred, consts.GetRegion(), "") + session := auth.GetSession(ctx, userCred, consts.GetRegion()) _, err := identity_modules.Credentials.GetEncryptKey(session, metadata.EncryptKeyId) if err != nil { return nil, errors.Wrap(err, "GetEncryptKey") diff --git a/pkg/compute/models/kube_clusters.go b/pkg/compute/models/kube_clusters.go index d1c0be65b8..ec71270a76 100644 --- a/pkg/compute/models/kube_clusters.go +++ b/pkg/compute/models/kube_clusters.go @@ -224,7 +224,7 @@ func (self *SKubeCluster) doRemoteImport(ctx context.Context, userCred mcclient. "kubeconfig": config.Config, }, } - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) resp, err := k8s.KubeClusters.Create(s, jsonutils.Marshal(params)) if err != nil { return errors.Wrapf(err, "Create") diff --git a/pkg/compute/models/loadbalanceragents_deploy.go b/pkg/compute/models/loadbalanceragents_deploy.go index 33d4b04507..fb64adb296 100644 --- a/pkg/compute/models/loadbalanceragents_deploy.go +++ b/pkg/compute/models/loadbalanceragents_deploy.go @@ -274,7 +274,7 @@ func (lbagent *SLoadbalancerAgent) validateHost(ctx context.Context, userCred mc // Better make this explicit in the API if guest.SrcIpCheck.Bool() || guest.SrcMacCheck.Bool() { - sess := auth.GetSession(ctx, userCred, "", "") + sess := auth.GetSession(ctx, userCred, "") params := jsonutils.NewDict() params.Set("src_ip_check", jsonutils.JSONFalse) params.Set("src_mac_check", jsonutils.JSONFalse) @@ -363,7 +363,7 @@ func (lbagent *SLoadbalancerAgent) updateOrCreatePbModel(ctx context.Context, pbName string, pb *ansible.Playbook, ) (*ansible_model.AnsiblePlaybook, error) { - cliSess := auth.GetSession(ctx, userCred, "", "") + cliSess := auth.GetSession(ctx, userCred, "") pbModel, err := ansible_modules.AnsiblePlaybooks.UpdateOrCreatePbModel( ctx, cliSess, pbId, pbName, pb, ) diff --git a/pkg/compute/models/scaling_trigger.go b/pkg/compute/models/scaling_trigger.go index 07334cff01..1c5b3c5298 100644 --- a/pkg/compute/models/scaling_trigger.go +++ b/pkg/compute/models/scaling_trigger.go @@ -275,7 +275,7 @@ func (sa *SScalingAlarm) Register(ctx context.Context, userCred mcclient.TokenCr if err != nil { return err } - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") notificationID, err := ScalingPolicyManager.NotificationID(session) if err != nil { return errors.Wrap(err, "ScalingPolicyManager.NotificationID") @@ -357,7 +357,7 @@ func (sa *SScalingAlarm) generateAlertConfig(sp *SScalingPolicy) (*monitor.Alert } func (sa *SScalingAlarm) UnRegister(ctx context.Context, userCred mcclient.TokenCredential) error { - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") _, err := monitor.Alerts.Delete(session, sa.AlarmId, jsonutils.NewDict()) if err != nil { return errors.Wrap(err, "Alerts.Delete") diff --git a/pkg/compute/models/service_catalog.go b/pkg/compute/models/service_catalog.go index 164e639112..0d76969a35 100644 --- a/pkg/compute/models/service_catalog.go +++ b/pkg/compute/models/service_catalog.go @@ -156,7 +156,7 @@ func (sc *SServiceCatalog) PerformDeploy(ctx context.Context, userCred mcclient. input.Count = 1 } contentDict.Add(jsonutils.NewInt(int64(input.Count)), "count") - s := auth.GetSession(ctx, userCred, options.Options.Region, "") + s := auth.GetSession(ctx, userCred, options.Options.Region) _, err = compute.Servers.Create(s, content) if err != nil { return nil, errors.Wrap(err, "fail to create guest") diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index fb52e73cc0..cc46eced62 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -387,7 +387,7 @@ func (self *SServerSku) GetPrivateCloudproviders() ([]SCloudprovider, error) { } func (self *SServerSkuManager) ClearSchedDescCache(wait bool) error { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) _, err := scheduler.SchedManager.SyncSku(s, true) if err != nil { return errors.Wrapf(err, "chedManager.SyncSku") @@ -1215,7 +1215,7 @@ func (manager *SServerSkuManager) SyncServerSkus(ctx context.Context, userCred m } // notfiy sched manager - _, err = scheduler.SchedManager.SyncSku(auth.GetAdminSession(ctx, options.Options.Region, ""), false) + _, err = scheduler.SchedManager.SyncSku(auth.GetAdminSession(ctx, options.Options.Region), false) if err != nil { log.Errorf("SchedManager SyncSku %s", err) } diff --git a/pkg/compute/models/skus_tools.go b/pkg/compute/models/skus_tools.go index 213957a9fa..f6e05faf30 100644 --- a/pkg/compute/models/skus_tools.go +++ b/pkg/compute/models/skus_tools.go @@ -582,7 +582,7 @@ func SyncServerSkusByRegion(ctx context.Context, userCred mcclient.TokenCredenti } func FetchSkuResourcesMeta() (*SSkuResourcesMeta, error) { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) transport := httputils.GetTransport(true) transport.Proxy = options.Options.HttpTransportProxyFunc() client := &http.Client{Transport: transport} diff --git a/pkg/compute/tasks/disk_save_task.go b/pkg/compute/tasks/disk_save_task.go index ed428bd70c..b9823cba8d 100644 --- a/pkg/compute/tasks/disk_save_task.go +++ b/pkg/compute/tasks/disk_save_task.go @@ -56,7 +56,7 @@ func (self *DiskSaveTask) taskFailed(ctx context.Context, disk *models.SDisk, er disk.SetDiskReady(ctx, self.GetUserCred(), err.Error()) db.OpsLog.LogEvent(disk, db.ACT_SAVE_FAIL, err.Error(), self.GetUserCred()) if imageId, _ := self.GetParams().GetString("image_id"); len(imageId) > 0 { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) image.Images.PerformAction(s, imageId, "status", jsonutils.Marshal(map[string]string{"status": "killed", "reason": err.Error()})) } self.SetStageFailed(ctx, jsonutils.NewString(err.Error())) diff --git a/pkg/compute/tasks/guest_restart_network_task.go b/pkg/compute/tasks/guest_restart_network_task.go index 5be2328e20..5b37532e75 100644 --- a/pkg/compute/tasks/guest_restart_network_task.go +++ b/pkg/compute/tasks/guest_restart_network_task.go @@ -45,7 +45,7 @@ func (self *GuestRestartNetworkTask) OnCloseIpMacSrcCheckComplete(ctx context.Co guest := obj.(*models.SGuest) ip, _ := self.Params.GetString("ip") - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") sshable, clean, err := self.checkSshable(ctx, guest, ip) log.Infof("start to CheckSshableForYunionCloud") if err != nil { diff --git a/pkg/compute/tasks/guest_save_template_task.go b/pkg/compute/tasks/guest_save_template_task.go index 3429bf21e6..7fcae51e7b 100644 --- a/pkg/compute/tasks/guest_save_template_task.go +++ b/pkg/compute/tasks/guest_save_template_task.go @@ -63,7 +63,7 @@ func (self *GuestSaveTemplateTask) OnInit(ctx context.Context, obj db.IStandalon } dict.Set("description", jsonutils.NewString(fmt.Sprintf("Save from Guest '%s'", g.Name))) dict.Set("content", jsonutils.Marshal(ci)) - session := auth.GetSession(ctx, self.UserCred, "", "") + session := auth.GetSession(ctx, self.UserCred, "") _, err := compute.GuestTemplate.Create(session, dict) if err != nil { self.taskFailed(ctx, g, jsonutils.NewString(err.Error())) diff --git a/pkg/compute/tasks/schedule.go b/pkg/compute/tasks/schedule.go index d395afec39..229ef4aae2 100644 --- a/pkg/compute/tasks/schedule.go +++ b/pkg/compute/tasks/schedule.go @@ -126,7 +126,7 @@ func doScheduleWithInput( params = jsonutils.Marshal(schedInput).(*jsonutils.JSONDict) } task.SetStage("OnScheduleComplete", params) - s := auth.GetSession(ctx, task.GetUserCred(), options.Options.Region, "") + s := auth.GetSession(ctx, task.GetUserCred(), options.Options.Region) return scheduler.SchedManager.DoSchedule(s, schedInput, count) } diff --git a/pkg/controller/autoscaling/controller.go b/pkg/controller/autoscaling/controller.go index e629f49ed9..958cd4e9ff 100644 --- a/pkg/controller/autoscaling/controller.go +++ b/pkg/controller/autoscaling/controller.go @@ -328,7 +328,7 @@ func (asc *SASController) DetachInstances(ctx context.Context, userCred mcclient removeParams.Set("scaling_group", jsonutils.NewString(sg.Id)) removeParams.Set("delete_server", jsonutils.JSONTrue) removeParams.Set("auto", jsonutils.JSONTrue) - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") failedList := make([]string, 0) waitList := make([]string, 0, len(instances)) instanceMap := make(map[string]SInstance, len(instances)) @@ -484,7 +484,7 @@ func (asc *SASController) CreateInstances( countPR, requests := asc.countPRAndRequests(num) log.Debugf("countPR: %d, requests: %d", countPR, requests) rand.Seed(time.Now().UnixNano()) - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") failedList := make([]string, 0) succeedList := make([]SInstance, 0, num/2) diff --git a/pkg/controller/autoscaling/health_check.go b/pkg/controller/autoscaling/health_check.go index 22dd35bdc9..64424d7c60 100644 --- a/pkg/controller/autoscaling/health_check.go +++ b/pkg/controller/autoscaling/health_check.go @@ -103,7 +103,7 @@ func (asc *SASController) CheckInstanceHealth(ctx context.Context, userCred mccl removeParams := jsonutils.NewDict() removeParams.Set("delete_server", jsonutils.JSONTrue) removeParams.Set("auto", jsonutils.JSONTrue) - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") for i := range unnormalGuests { ug := unnormalGuests[i] if ug.CreateCompleteTime.Add(time.Duration(scalingGroupMap[ug.ScalngGroupId].HealthCheckGov) * time.Second).After(now) { diff --git a/pkg/controller/autoscaling/timer.go b/pkg/controller/autoscaling/timer.go index 2aef3ddd90..671d963a05 100644 --- a/pkg/controller/autoscaling/timer.go +++ b/pkg/controller/autoscaling/timer.go @@ -60,7 +60,7 @@ func (asc *SASController) Timer(ctx context.Context, userCred mcclient.TokenCred } log.Debugf("total %d need to exec, %v", len(scalingTimers), scalingTimers) log.Debugf("timeScope: start: %s, end: %s", timeScope.Start, timeScope.End) - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") triggerParams := jsonutils.NewDict() for i := range scalingTimers { scalingTimer := scalingTimers[i] diff --git a/pkg/devtool/models/actions.go b/pkg/devtool/models/actions.go index 47e0bb9e71..0a435ad9ad 100644 --- a/pkg/devtool/models/actions.go +++ b/pkg/devtool/models/actions.go @@ -61,8 +61,8 @@ func getServerAttrs(ID string, s *mcclient.ClientSession) (map[string]string, er func getInfluxdbURL() (string, error) { - s := auth.GetAdminSessionWithPublic(nil, "", "") - url, err := s.GetServiceURL("influxdb", apiidentity.EndpointInterfacePublic) + s := auth.GetAdminSessionWithPublic(nil, "") + url, err := s.GetServiceURL("influxdb", apiidentity.EndpointInterfacePublic, "") if err != nil { log.Errorf("get influxdb Endpoint error %s", err) @@ -116,7 +116,7 @@ func (obj *SDevtoolTemplate) Binding(ctx context.Context, userCred mcclient.Toke // * create playbook template := obj - s := auth.GetSession(ctx, userCred, "", "") + s := auth.GetSession(ctx, userCred, "") ServerID, err := data.GetString("server_id") attrs, err := getServerAttrs(ServerID, s) @@ -189,7 +189,7 @@ func (obj *SDevtoolTemplate) Unbinding(ctx context.Context, userCred mcclient.To // * get cronjob struct and create obj // * create playbook template := obj - s := auth.GetSession(ctx, userCred, "", "") + s := auth.GetSession(ctx, userCred, "") ServerID, err := data.GetString("server_id") newPlaybookName := template.Name + "-" + template.Id[0:8] + "-" + ServerID[0:8] diff --git a/pkg/devtool/models/devtoolcronjob.go b/pkg/devtool/models/devtoolcronjob.go index 9f0e831b3d..6b41c93424 100644 --- a/pkg/devtool/models/devtoolcronjob.go +++ b/pkg/devtool/models/devtoolcronjob.go @@ -113,7 +113,7 @@ func AddOneCronjob(item *SCronjob, s *mcclient.ClientSession) error { func InitializeCronjobs() error { DevToolCronManager = cronman.InitCronJobManager(true, 8) DevToolCronManager.Start() - Session := auth.GetAdminSession(nil, "", "") + Session := auth.GetAdminSession(nil, "") go func() { items := make([]SCronjob, 0) @@ -131,7 +131,7 @@ func InitializeCronjobs() error { } func (job *SCronjob) PostCreate(ctx context.Context, userCred mcclient.TokenCredential, ownerID mcclient.IIdentityProvider, query jsonutils.JSONObject, data jsonutils.JSONObject) { - Session := auth.GetAdminSession(nil, "", "") + Session := auth.GetAdminSession(nil, "") job.SStandaloneResourceBase.PostCreate(ctx, userCred, nil, query, data) AddOneCronjob(job, Session) } @@ -141,7 +141,7 @@ func (job *SCronjob) PostDelete(ctx context.Context, userCred mcclient.TokenCred } func (job *SCronjob) PostUpdate(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject, data jsonutils.JSONObject) { - Session := auth.GetAdminSession(nil, "", "") + Session := auth.GetAdminSession(nil, "") job.SStandaloneResourceBase.PostUpdate(ctx, userCred, query, data) DevToolCronManager.Remove(job.Id) AddOneCronjob(job, Session) diff --git a/pkg/devtool/models/script.go b/pkg/devtool/models/script.go index 4b52345db7..0525dc2694 100644 --- a/pkg/devtool/models/script.go +++ b/pkg/devtool/models/script.go @@ -84,7 +84,7 @@ func (sm *SScriptManager) InitializeData() error { func (sm *SScriptManager) ValidateCreateData(ctx context.Context, userCred mcclient.TokenCredential, ownerId mcclient.IIdentityProvider, query jsonutils.JSONObject, input api.ScriptCreateInput) (api.ScriptCreateInput, error) { // check ansible playbook reference - session := auth.GetSessionWithInternal(ctx, userCred, "", "") + session := auth.GetSessionWithInternal(ctx, userCred, "") pr, err := ansible.AnsiblePlaybookReference.Get(session, input.PlaybookReference, nil) if err != nil { return input, errors.Wrapf(err, "unable to get AnsiblePlaybookReference %q", input.PlaybookReference) diff --git a/pkg/devtool/tasks/apply_script_task.go b/pkg/devtool/tasks/apply_script_task.go index 97f1464887..c753e06a3d 100644 --- a/pkg/devtool/tasks/apply_script_task.go +++ b/pkg/devtool/tasks/apply_script_task.go @@ -106,7 +106,7 @@ func (self *ApplyScriptTask) OnInit(ctx context.Context, obj db.IStandaloneModel self.taskFailed(ctx, sa, sar, err) return } - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") sshable, cleanFunc, err := utils.CheckSSHable(session, sa.GuestId) // check sshable if err != nil { @@ -180,7 +180,7 @@ const ( func (self *ApplyScriptTask) OnAnsiblePlaybookComplete(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) { // try to delete local forward - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") sa := obj.(*models.SScriptApply) // try to set metadata for guest diff --git a/pkg/devtool/tasks/sshinfo_create_task.go b/pkg/devtool/tasks/sshinfo_create_task.go index 2df1370c8a..07daa1505b 100644 --- a/pkg/devtool/tasks/sshinfo_create_task.go +++ b/pkg/devtool/tasks/sshinfo_create_task.go @@ -40,7 +40,7 @@ func init() { func (self *SshInfoCreateTask) OnInit(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) { sshInfo := obj.(*models.SSshInfo) serverId := sshInfo.ServerId - session := auth.GetSession(ctx, self.GetUserCred(), "", "") + session := auth.GetSession(ctx, self.GetUserCred(), "") sshable, cleanFunc, err := utils.CheckSSHable(session, serverId) if err != nil { sshInfo.MarkCreateFailed(err.Error()) diff --git a/pkg/devtool/tasks/sshinfo_delete_task.go b/pkg/devtool/tasks/sshinfo_delete_task.go index 8ea4722bc1..e9c67c5b1d 100644 --- a/pkg/devtool/tasks/sshinfo_delete_task.go +++ b/pkg/devtool/tasks/sshinfo_delete_task.go @@ -41,7 +41,7 @@ func (self *SshInfoDeleteTask) OnInit(ctx context.Context, obj db.IStandaloneMod self.SetStageComplete(ctx, nil) return } - session := auth.GetSession(ctx, self.GetUserCred(), "", "") + session := auth.GetSession(ctx, self.GetUserCred(), "") clean := utils.GetCleanFunc(session, sshInfo.ServerHypervisor, sshInfo.ServerId, sshInfo.Host, sshInfo.ForwardId, sshInfo.Port) err := clean() if err != nil { diff --git a/pkg/devtool/utils/service_url.go b/pkg/devtool/utils/service_url.go index 6a7a2fccb7..4ffb767d5c 100644 --- a/pkg/devtool/utils/service_url.go +++ b/pkg/devtool/utils/service_url.go @@ -68,7 +68,7 @@ func serviceComplete2(service Service) (completeUrl string, expectedCode int) { func proxyEndpoints(ctx context.Context, proxyEndpointId string, info sServerInfo) ([]sProxyEndpoint, error) { pes := make([]sProxyEndpoint, 0) - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") if len(proxyEndpointId) > 0 { ep, err := cloudproxy.ProxyEndpoints.Get(session, proxyEndpointId, nil) if err != nil { @@ -130,7 +130,7 @@ func serviceUrlDirect(ctx context.Context, service Service, proxyEndpointId stri func GetServerInfo(ctx context.Context, serverId string) (sServerInfo, error) { // check server - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") data, err := compute.Servers.Get(session, serverId, nil) if err != nil { if httputils.ErrorCode(err) == 404 { @@ -243,7 +243,7 @@ func GetServiceUrl(ctx context.Context, serviceName string) (string, error) { if url, ok := serviceUrls[serviceName]; ok { return url, nil } - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") params := jsonutils.NewDict() params.Set("interface", jsonutils.NewString("public")) params.Set("service", jsonutils.NewString(serviceName)) @@ -262,7 +262,7 @@ func GetServiceUrl(ctx context.Context, serviceName string) (string, error) { } func convertServiceUrl(ctx context.Context, service Service, endpointId string) (port int64, recycle func() error, err error) { - session := auth.AdminSessionWithInternal(ctx, "", "", "") + session := auth.AdminSessionWithInternal(ctx, "", "") filter := jsonutils.NewDict() filter.Set("proxy_endpoint_id", jsonutils.NewString(endpointId)) filter.Set("opaque", jsonutils.NewString(service.Url)) @@ -328,7 +328,7 @@ func convertServiceUrl(ctx context.Context, service Service, endpointId string) } func checkUrl(ctx context.Context, completeUrl string, expectedCode int, host *ansible_api.AnsibleHost) (bool, error) { - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") ahost := ansible.Host{} ahost.Name = host.IP ahost.Vars = map[string]string{ diff --git a/pkg/dns/dns.go b/pkg/dns/dns.go index 3f8513b4c5..506fcbe7a1 100644 --- a/pkg/dns/dns.go +++ b/pkg/dns/dns.go @@ -124,7 +124,7 @@ func (r *SRegionDNS) initK8s() { } func (r *SRegionDNS) getAdminSession(ctx context.Context) *mcclient.ClientSession { - return auth.GetAdminSession(ctx, r.Region, "") + return auth.GetAdminSession(ctx, r.Region) } func (r *SRegionDNS) initAuth() { diff --git a/pkg/esxi/agent.go b/pkg/esxi/agent.go index e145546a13..c2d3089bfa 100644 --- a/pkg/esxi/agent.go +++ b/pkg/esxi/agent.go @@ -85,7 +85,7 @@ func (ea *SEsxiAgent) GetZoneId() string { } func (ea *SEsxiAgent) GetAdminSession() *mcclient.ClientSession { - return auth.GetAdminSession(context.TODO(), options.Options.Region, "v2") + return auth.GetAdminSession(context.TODO(), options.Options.Region) } func (ea *SEsxiAgent) TuneSystem() error { diff --git a/pkg/hostman/guestman/qemu-kvm.go b/pkg/hostman/guestman/qemu-kvm.go index 43ad90e54e..ab79040749 100644 --- a/pkg/hostman/guestman/qemu-kvm.go +++ b/pkg/hostman/guestman/qemu-kvm.go @@ -222,7 +222,7 @@ func (s *SKVMGuestInstance) getEncryptKey(ctx context.Context, userCred mcclient if userCred == nil { return ret, errors.Wrap(httperrors.ErrUnauthorized, "no credential to fetch encrypt key") } - session := auth.GetSession(ctx, userCred, consts.GetRegion(), "") + session := auth.GetSession(ctx, userCred, consts.GetRegion()) secKey, err := identity_modules.Credentials.GetEncryptKey(session, encKeyId) if err != nil { return ret, errors.Wrap(err, "GetEncryptKey") diff --git a/pkg/hostman/hostutils/hostutils.go b/pkg/hostman/hostutils/hostutils.go index 6110d82eb7..dda60833fc 100644 --- a/pkg/hostman/hostutils/hostutils.go +++ b/pkg/hostman/hostutils/hostutils.go @@ -62,15 +62,15 @@ type IHost interface { } func GetComputeSession(ctx context.Context) *mcclient.ClientSession { - return auth.GetAdminSessionWithInternal(ctx, options.HostOptions.Region, "v2") + return auth.GetAdminSessionWithInternal(ctx, options.HostOptions.Region) } func GetK8sSession(ctx context.Context) *mcclient.ClientSession { - return auth.GetAdminSessionWithInternal(ctx, options.HostOptions.Region, "") + return auth.GetAdminSessionWithInternal(ctx, options.HostOptions.Region) } func GetImageSession(ctx context.Context, zone string) *mcclient.ClientSession { - return auth.AdminSessionWithInternal(ctx, options.HostOptions.Region, "", "v1") + return auth.AdminSessionWithInternal(ctx, options.HostOptions.Region, "") } func TaskFailed(ctx context.Context, reason string) { diff --git a/pkg/hostman/storageman/disk_local.go b/pkg/hostman/storageman/disk_local.go index 7c242b38a0..040b168c6f 100644 --- a/pkg/hostman/storageman/disk_local.go +++ b/pkg/hostman/storageman/disk_local.go @@ -406,7 +406,7 @@ func (d *SLocalDisk) DiskBackup(ctx context.Context, params interface{}) (jsonut encKey := "" if len(diskBackup.EncryptKeyId) > 0 { - session := auth.GetSession(ctx, diskBackup.UserCred, consts.GetRegion(), "") + session := auth.GetSession(ctx, diskBackup.UserCred, consts.GetRegion()) secKey, err := identity_modules.Credentials.GetEncryptKey(session, diskBackup.EncryptKeyId) if err != nil { return nil, errors.Wrap(err, "GetEncryptKey") diff --git a/pkg/hostman/storageman/storage_local.go b/pkg/hostman/storageman/storage_local.go index 0b00b435df..89243c7be4 100644 --- a/pkg/hostman/storageman/storage_local.go +++ b/pkg/hostman/storageman/storage_local.go @@ -370,7 +370,7 @@ func (s *SLocalStorage) SaveToGlance(ctx context.Context, params interface{}) (j encAlg seclib2.TSymEncAlg ) if len(encKeyId) > 0 { - session := auth.GetSession(ctx, info.UserCred, consts.GetRegion(), "") + session := auth.GetSession(ctx, info.UserCred, consts.GetRegion()) key, err := identity_modules.Credentials.GetEncryptKey(session, encKeyId) if err != nil { return nil, errors.Wrap(err, "GetEncryptKey") diff --git a/pkg/image/models/images.go b/pkg/image/models/images.go index 2b7fe09c7e..e99f3e05a4 100644 --- a/pkg/image/models/images.go +++ b/pkg/image/models/images.go @@ -1923,7 +1923,7 @@ func (img *SImage) doEncrypt(ctx context.Context, userCred mcclient.TokenCredent if img.EncryptStatus == api.IMAGE_ENCRYPT_STATUS_ENCRYPTED { return false, nil } - session := auth.GetSession(ctx, userCred, options.Options.Region, "v1") + session := auth.GetSession(ctx, userCred, options.Options.Region) keyObj, err := identity_modules.Credentials.GetById(session, img.EncryptKeyId, nil) if err != nil { return false, errors.Wrap(err, "GetByEncryptKeyId") diff --git a/pkg/image/tasks/image_sync_classmetadata_task.go b/pkg/image/tasks/image_sync_classmetadata_task.go index 54e9b09f60..590afa2d05 100644 --- a/pkg/image/tasks/image_sync_classmetadata_task.go +++ b/pkg/image/tasks/image_sync_classmetadata_task.go @@ -45,7 +45,7 @@ func (self *ImageSyncClassMetadataTask) OnInit(ctx context.Context, obj db.IStan self.taskFailed(ctx, img, jsonutils.NewString(err.Error())) return } - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") _, err = compute.Cachedimages.PerformAction(session, img.Id, "set-class-metadata", jsonutils.Marshal(cm)) if err == nil { self.taskSuccess(ctx, img) diff --git a/pkg/keystone/models/default_admin.go b/pkg/keystone/models/default_admin.go index 517a694836..f60ea72421 100644 --- a/pkg/keystone/models/default_admin.go +++ b/pkg/keystone/models/default_admin.go @@ -71,6 +71,6 @@ func getDefaultAdminCred() *mcclient.SSimpleToken { return &token } -func GetDefaultClientSession(ctx context.Context, token mcclient.TokenCredential, region, apiVersion string) *mcclient.ClientSession { - return GetDefaultClient().NewSession(ctx, region, "", "", token, apiVersion) +func GetDefaultClientSession(ctx context.Context, token mcclient.TokenCredential, region string) *mcclient.ClientSession { + return GetDefaultClient().NewSession(ctx, region, "", "", token) } diff --git a/pkg/keystone/util/session.go b/pkg/keystone/util/session.go index ce46258750..467f7eda48 100644 --- a/pkg/keystone/util/session.go +++ b/pkg/keystone/util/session.go @@ -22,6 +22,6 @@ import ( "yunion.io/x/onecloud/pkg/mcclient" ) -func GetDefaulAdminSession(ctx context.Context, region, apiVersion string) (*mcclient.ClientSession, error) { - return models.GetDefaultClientSession(ctx, tokens.GetDefaultAdminCredToken(), region, apiVersion), nil +func GetDefaulAdminSession(ctx context.Context, region string) (*mcclient.ClientSession, error) { + return models.GetDefaultClientSession(ctx, tokens.GetDefaultAdminCredToken(), region), nil } diff --git a/pkg/lbagent/api.go b/pkg/lbagent/api.go index f295f5b2b3..87d64a9559 100644 --- a/pkg/lbagent/api.go +++ b/pkg/lbagent/api.go @@ -171,8 +171,8 @@ func (h *ApiHelper) adminClientSession(ctx context.Context) *mcclient.ClientSess } region := h.opts.CommonOptions.Region - apiVersion := "v2" - h.mcclientSession = auth.GetAdminSession(ctx, region, apiVersion) + // apiVersion := "v2" + h.mcclientSession = auth.GetAdminSession(ctx, region) return h.mcclientSession } diff --git a/pkg/mcclient/auth/auth.go b/pkg/mcclient/auth/auth.go index d8e79d2997..3980727d0f 100644 --- a/pkg/mcclient/auth/auth.go +++ b/pkg/mcclient/auth/auth.go @@ -326,7 +326,7 @@ func AdminCredential() mcclient.TokenCredential { } // Deprecated -func AdminSession(ctx context.Context, region, zone, endpointType, apiVersion string) *mcclient.ClientSession { +func AdminSession(ctx context.Context, region, zone, endpointType string) *mcclient.ClientSession { cli := Client() if cli == nil { return nil @@ -334,17 +334,17 @@ func AdminSession(ctx context.Context, region, zone, endpointType, apiVersion st if endpointType == "" && globalEndpointType != "" { endpointType = globalEndpointType } - return cli.NewSession(ctx, region, zone, endpointType, AdminCredential(), apiVersion) + return cli.NewSession(ctx, region, zone, endpointType, AdminCredential()) } // Deprecated -func AdminSessionWithInternal(ctx context.Context, region, zone, apiVersion string) *mcclient.ClientSession { - return AdminSession(ctx, region, zone, "internal", apiVersion) +func AdminSessionWithInternal(ctx context.Context, region, zone string) *mcclient.ClientSession { + return AdminSession(ctx, region, zone, "internal") } // Deprecated -func AdminSessionWithPublic(ctx context.Context, region, zone, apiVersion string) *mcclient.ClientSession { - return AdminSession(ctx, region, zone, "public", apiVersion) +func AdminSessionWithPublic(ctx context.Context, region, zone string) *mcclient.ClientSession { + return AdminSession(ctx, region, zone, "public") } type AuthCompletedCallback func() @@ -368,38 +368,35 @@ func ReAuth() { manager.reAuth() } -func GetAdminSession(ctx context.Context, region string, - apiVersion string) *mcclient.ClientSession { - return GetSession(ctx, manager.adminCredential, region, apiVersion) +func GetAdminSession(ctx context.Context, region string) *mcclient.ClientSession { + return GetSession(ctx, manager.adminCredential, region) } -func GetAdminSessionWithPublic(ctx context.Context, region string, - apiVersion string) *mcclient.ClientSession { - return GetSessionWithPublic(ctx, manager.adminCredential, region, apiVersion) +func GetAdminSessionWithPublic(ctx context.Context, region string) *mcclient.ClientSession { + return GetSessionWithPublic(ctx, manager.adminCredential, region) } -func GetAdminSessionWithInternal( - ctx context.Context, region string, apiVersion string) *mcclient.ClientSession { - return GetSessionWithInternal(ctx, manager.adminCredential, region, apiVersion) +func GetAdminSessionWithInternal(ctx context.Context, region string) *mcclient.ClientSession { + return GetSessionWithInternal(ctx, manager.adminCredential, region) } -func GetSession(ctx context.Context, token mcclient.TokenCredential, region string, apiVersion string) *mcclient.ClientSession { +func GetSession(ctx context.Context, token mcclient.TokenCredential, region string) *mcclient.ClientSession { if len(globalEndpointType) != 0 { - return getSessionByType(ctx, token, region, apiVersion, globalEndpointType) + return getSessionByType(ctx, token, region, globalEndpointType) } - return GetSessionWithInternal(ctx, token, region, apiVersion) + return GetSessionWithInternal(ctx, token, region) } -func GetSessionWithInternal(ctx context.Context, token mcclient.TokenCredential, region string, apiVersion string) *mcclient.ClientSession { - return getSessionByType(ctx, token, region, apiVersion, identity.EndpointInterfaceInternal) +func GetSessionWithInternal(ctx context.Context, token mcclient.TokenCredential, region string) *mcclient.ClientSession { + return getSessionByType(ctx, token, region, identity.EndpointInterfaceInternal) } -func GetSessionWithPublic(ctx context.Context, token mcclient.TokenCredential, region string, apiVersion string) *mcclient.ClientSession { - return getSessionByType(ctx, token, region, apiVersion, identity.EndpointInterfacePublic) +func GetSessionWithPublic(ctx context.Context, token mcclient.TokenCredential, region string) *mcclient.ClientSession { + return getSessionByType(ctx, token, region, identity.EndpointInterfacePublic) } -func getSessionByType(ctx context.Context, token mcclient.TokenCredential, region string, apiVersion string, epType string) *mcclient.ClientSession { - return manager.client.NewSession(ctx, region, "", epType, token, apiVersion) +func getSessionByType(ctx context.Context, token mcclient.TokenCredential, region string, epType string) *mcclient.ClientSession { + return manager.client.NewSession(ctx, region, "", epType, token) } // use for climc test only diff --git a/pkg/mcclient/auth/session_cache.go b/pkg/mcclient/auth/session_cache.go index e902dc5b61..5b21fbfd5b 100644 --- a/pkg/mcclient/auth/session_cache.go +++ b/pkg/mcclient/auth/session_cache.go @@ -26,8 +26,8 @@ type SessionCache struct { mu sync.RWMutex session *mcclient.ClientSession - Region string - APIVersion string + Region string + // APIVersion string // EarlyRefresh tells the cache how early to fetch a new session before // actual expiration of the old @@ -67,6 +67,6 @@ func (sc *SessionCache) Get(ctx context.Context) *mcclient.ClientSession { mu.Lock() defer mu.Unlock() token := sc.getToken() - sc.session = GetSession(ctx, token, sc.Region, sc.APIVersion) + sc.session = GetSession(ctx, token, sc.Region) return sc.session } diff --git a/pkg/mcclient/example/server.go b/pkg/mcclient/example/server.go index 9069d57bf7..2988783218 100644 --- a/pkg/mcclient/example/server.go +++ b/pkg/mcclient/example/server.go @@ -44,7 +44,7 @@ func getSession() (*mcclient.ClientSession, error) { if err != nil { return nil, err } - return client.NewSession(context.Background(), Region, "", EndpointType, token, "v2"), nil + return client.NewSession(context.Background(), Region, "", EndpointType, token), nil } func CreateServerExample() error { diff --git a/pkg/mcclient/mcclient.go b/pkg/mcclient/mcclient.go index a6976ad5ad..94df994e19 100644 --- a/pkg/mcclient/mcclient.go +++ b/pkg/mcclient/mcclient.go @@ -401,7 +401,7 @@ func (this *Client) GetCommonEtcdTLSConfig(endpoint *api.EndpointDetails) (*tls. return seclib2.InitTLSConfigByData(caData, certData, keyData) } -func (this *Client) NewSession(ctx context.Context, region, zone, endpointType string, token TokenCredential, apiVersion string) *ClientSession { +func (this *Client) NewSession(ctx context.Context, region, zone, endpointType string, token TokenCredential) *ClientSession { cata := token.GetServiceCatalog() if this.GetServiceCatalog() == nil { if cata == nil || cata.Len() == 0 { @@ -420,7 +420,6 @@ func (this *Client) NewSession(ctx context.Context, region, zone, endpointType s zone: zone, endpointType: endpointType, token: token, - defaultApiVersion: apiVersion, Header: http.Header{}, customizeServiceUrl: map[string]string{}, } diff --git a/pkg/mcclient/modulebase/appoptions.go b/pkg/mcclient/modulebase/appoptions.go index 55621ef10e..108c9a5e16 100644 --- a/pkg/mcclient/modulebase/appoptions.go +++ b/pkg/mcclient/modulebase/appoptions.go @@ -22,7 +22,7 @@ import ( ) func GetAppOptions(s *mcclient.ClientSession, serviceType string) (jsonutils.JSONObject, error) { - man := NewBaseManager(serviceType, "", "", nil, nil) + man := NewBaseManager(serviceType, "", "", nil, nil, "") _, resp, err := man.jsonRequest(s, "GET", "/app-options", nil, nil) if err != nil { return nil, errors.Wrap(err, "rawBaseUrlRequest") diff --git a/pkg/mcclient/modulebase/base.go b/pkg/mcclient/modulebase/base.go index cfceabddf9..67e01c1aea 100644 --- a/pkg/mcclient/modulebase/base.go +++ b/pkg/mcclient/modulebase/base.go @@ -39,11 +39,12 @@ type BaseManager struct { adminColumns []string } -func NewBaseManager(serviceType, endpointType, version string, columns, adminColumns []string) *BaseManager { +func NewBaseManager(serviceType, endpointType, version string, columns, adminColumns []string, apiVersion string) *BaseManager { return &BaseManager{ serviceType: serviceType, endpointType: endpointType, version: version, + apiVersion: apiVersion, columns: columns, adminColumns: adminColumns, } @@ -61,10 +62,6 @@ func (this *BaseManager) SetVersion(v string) { this.version = v } -func (this *BaseManager) SetApiVersion(v string) { - this.apiVersion = v -} - func (this *BaseManager) GetApiVersion() string { return this.apiVersion } diff --git a/pkg/mcclient/modulebase/misc.go b/pkg/mcclient/modulebase/misc.go index 24f22b9ef5..8b3febed82 100644 --- a/pkg/mcclient/modulebase/misc.go +++ b/pkg/mcclient/modulebase/misc.go @@ -23,7 +23,7 @@ import ( ) func GetVersion(s *mcclient.ClientSession, serviceType string) (string, error) { - man := NewBaseManager(serviceType, "", "", nil, nil) + man := NewBaseManager(serviceType, "", "", nil, nil, "") resp, err := man.rawBaseUrlRequest(s, "GET", "/version", nil, nil) if err != nil { return "", err @@ -37,7 +37,7 @@ func GetVersion(s *mcclient.ClientSession, serviceType string) (string, error) { } func ListWorkers(s *mcclient.ClientSession, serviceType string) (*ListResult, error) { - man := NewBaseManager(serviceType, "", "", nil, nil) + man := NewBaseManager(serviceType, "", "", nil, nil, "") resp, err := man.rawBaseUrlRequest(s, "GET", "/worker_stats", nil, nil) if err != nil { return nil, err diff --git a/pkg/mcclient/modulebase/modules.go b/pkg/mcclient/modulebase/modules.go index 7494b11ca5..7336077eb6 100644 --- a/pkg/mcclient/modulebase/modules.go +++ b/pkg/mcclient/modulebase/modules.go @@ -35,7 +35,6 @@ type IBaseManager interface { EndpointType() string GetColumns(session *mcclient.ClientSession) []string List(session *mcclient.ClientSession, params jsonutils.JSONObject) (*ListResult, error) - SetApiVersion(string) } type ManagerContext struct { @@ -171,8 +170,8 @@ type JointManager interface { } var ( - modules map[string]map[string][]IBaseManager - jointModules map[string]map[string][]JointManager + modules map[string][]IBaseManager + jointModules map[string][]JointManager ) func _getJointKey(mod1 Manager, mod2 Manager) string { @@ -190,16 +189,11 @@ func ensureModuleNotRegistered(mod, newMod IBaseManager) { } } -func Register(version string, mod IBaseManager) { +func Register(mod IBaseManager) { if modules == nil { - modules = make(map[string]map[string][]IBaseManager) + modules = make(map[string][]IBaseManager) } - modtable, ok := modules[version] - if !ok { - modtable = make(map[string][]IBaseManager) - modules[version] = modtable - } - mods, ok := modtable[mod.KeyString()] + mods, ok := modules[mod.KeyString()] if !ok { mods = make([]IBaseManager, 0) } @@ -207,21 +201,16 @@ func Register(version string, mod IBaseManager) { ensureModuleNotRegistered(mods[i], mod) } mods = append(mods, mod) - modules[version][mod.KeyString()] = mods + modules[mod.KeyString()] = mods // modtable[mod.KeyString()] = append(mods, mod) } -func RegisterJointModule(version string, mod IBaseManager) { +func RegisterJointModule(mod IBaseManager) { jointMod, ok := mod.(JointManager) if ok { // also a joint manager jointKey := _getJointKey(jointMod.MasterManager(), jointMod.SlaveManager()) // log.Printf("%s(%s) is also a joint module", mod.KeyString(), jointKey) - modtable, ok := jointModules[version] - if !ok { - modtable = make(map[string][]JointManager) - jointModules[version] = modtable - } - jointMods, ok := modtable[jointKey] + jointMods, ok := jointModules[jointKey] if !ok { jointMods = make([]JointManager, 0) } @@ -231,31 +220,25 @@ func RegisterJointModule(version string, mod IBaseManager) { //} } // modtable[jointKey] = append(jointMods, jointMod) - jointModules[version][jointKey] = append(jointMods, jointMod) + jointModules[jointKey] = append(jointMods, jointMod) } } func registerAllJointModules() { if jointModules == nil { - jointModules = make(map[string]map[string][]JointManager) - for version := range modules { - for modname := range modules[version] { - for i := range modules[version][modname] { - RegisterJointModule(version, modules[version][modname][i]) - } + jointModules = make(map[string][]JointManager) + for modname := range modules { + for i := range modules[modname] { + RegisterJointModule(modules[modname][i]) } } } } func _getModule(session *mcclient.ClientSession, name string) (IBaseManager, error) { - modtable, ok := modules[session.GetApiVersion()] + mods, ok := modules[name] if !ok { - return nil, fmt.Errorf("No such version: %s", session.GetApiVersion()) - } - mods, ok := modtable[name] - if !ok { - return nil, fmt.Errorf("No such module %s for version %s", name, session.GetApiVersion()) + return nil, fmt.Errorf("No such module %s", name) } if len(mods) == 1 { @@ -263,7 +246,7 @@ func _getModule(session *mcclient.ClientSession, name string) (IBaseManager, err } for _, mod := range mods { - url, e := session.GetServiceURL(mod.ServiceType(), mod.EndpointType()) + url, e := session.GetServiceURL(mod.ServiceType(), mod.EndpointType(), mod.GetApiVersion()) if e != nil { return nil, errors.Wrap(e, "session.GetServiceURL") } @@ -305,11 +288,7 @@ func GetJointModule(session *mcclient.ClientSession, name string) (JointManager, func GetJointModule2(session *mcclient.ClientSession, mod1 Manager, mod2 Manager) (JointManager, error) { registerAllJointModules() key := _getJointKey(mod1, mod2) - modtable, ok := jointModules[session.GetApiVersion()] - if !ok { - return nil, fmt.Errorf("No such version: %s", session.GetApiVersion()) - } - mods, ok := modtable[key] + mods, ok := jointModules[key] if !ok { return nil, fmt.Errorf("No such joint module: %s", key) } @@ -326,28 +305,18 @@ func GetJointModule2(session *mcclient.ClientSession, mod1 Manager, mod2 Manager return nil, fmt.Errorf("Version mismatch") } -func GetRegisterdModules() (map[string][]string, map[string][]string) { +func GetRegisterdModules() ([]string, []string) { registerAllJointModules() - ret := make(map[string][]string) - for k, v := range modules { - ret[k] = make([]string, 0) - for m := range v { - ret[k] = append(ret[k], m) - } + ret := make([]string, 0) + for k := range modules { + ret = append(ret, k) } - for k := range ret { - sort.Strings(ret[k]) - } - ret2 := make(map[string][]string) - for k, v := range jointModules { - ret2[k] = make([]string, 0) - for m := range v { - ret2[k] = append(ret2[k], m) - } - } - for k := range ret2 { - sort.Strings(ret2[k]) + sort.Strings(ret) + ret2 := make([]string, 0) + for k := range jointModules { + ret2 = append(ret2, k) } + sort.Strings(ret2) return ret, ret2 } diff --git a/pkg/mcclient/modulebase/stats.go b/pkg/mcclient/modulebase/stats.go index 4c15c20127..ffdea6326d 100644 --- a/pkg/mcclient/modulebase/stats.go +++ b/pkg/mcclient/modulebase/stats.go @@ -25,7 +25,7 @@ import ( // path: stats, db_stats, worker_stats func GetStats(s *mcclient.ClientSession, path string, serviceType string) (jsonutils.JSONObject, error) { - man := NewBaseManager(serviceType, "", "", nil, nil) + man := NewBaseManager(serviceType, "", "", nil, nil, "") resp, err := man.rawBaseUrlRequest(s, "GET", "/"+path, nil, nil) if err != nil { return nil, errors.Wrap(err, "man.rawBaseUrlRequest") diff --git a/pkg/mcclient/modules/ansible/mod_ansibleplaybook_reference.go b/pkg/mcclient/modules/ansible/mod_ansibleplaybook_reference.go index 70b8a71ccd..fec244152a 100644 --- a/pkg/mcclient/modules/ansible/mod_ansibleplaybook_reference.go +++ b/pkg/mcclient/modules/ansible/mod_ansibleplaybook_reference.go @@ -49,6 +49,5 @@ func init() { }, []string{}, ) - modules.RegisterV2(&AnsiblePlaybookReference) - modules.RegisterV2(&AnsiblePlaybookInstance) + modules.Register(&AnsiblePlaybookReference) } diff --git a/pkg/mcclient/modules/ansible/mod_ansibleplaybooks.go b/pkg/mcclient/modules/ansible/mod_ansibleplaybooks.go index 82c9b62b3e..1684e65b09 100644 --- a/pkg/mcclient/modules/ansible/mod_ansibleplaybooks.go +++ b/pkg/mcclient/modules/ansible/mod_ansibleplaybooks.go @@ -51,7 +51,7 @@ func init() { []string{}, ), } - modules.RegisterV2(&AnsiblePlaybooks) + modules.Register(&AnsiblePlaybooks) } func (man *AnsiblePlaybookManager) UpdateOrCreatePbModel( diff --git a/pkg/mcclient/modules/ansible/mod_ansibleplaybooks_v2.go b/pkg/mcclient/modules/ansible/mod_ansibleplaybooks_v2.go index d41c0fa1ce..ed79fbf0d6 100644 --- a/pkg/mcclient/modules/ansible/mod_ansibleplaybooks_v2.go +++ b/pkg/mcclient/modules/ansible/mod_ansibleplaybooks_v2.go @@ -42,5 +42,5 @@ func init() { []string{}, ), } - modules.RegisterV2(&AnsiblePlaybooksV2) + modules.Register(&AnsiblePlaybooksV2) } diff --git a/pkg/mcclient/modules/cloudnet/common.go b/pkg/mcclient/modules/cloudnet/common.go index 47682d4cb6..002bad7734 100644 --- a/pkg/mcclient/modules/cloudnet/common.go +++ b/pkg/mcclient/modules/cloudnet/common.go @@ -20,12 +20,12 @@ import ( func NewCloudnetManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager("cloudnet", "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager("cloudnet", "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } var ( registerV2 = func(mod modulebase.IBaseManager) { - modulebase.Register("v2", mod) + modulebase.Register(mod) } ) diff --git a/pkg/mcclient/modules/cloudproxy/common.go b/pkg/mcclient/modules/cloudproxy/common.go index 1a1b4dc478..dee1ad4627 100644 --- a/pkg/mcclient/modules/cloudproxy/common.go +++ b/pkg/mcclient/modules/cloudproxy/common.go @@ -20,12 +20,12 @@ import ( func NewCloudProxyManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager("cloudproxy", "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager("cloudproxy", "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } var ( registerV2 = func(mod modulebase.IBaseManager) { - modulebase.Register("v2", mod) + modulebase.Register(mod) } ) diff --git a/pkg/mcclient/modules/compute/mod_capabilities.go b/pkg/mcclient/modules/compute/mod_capabilities.go index 5109d71e6f..da7897f23d 100644 --- a/pkg/mcclient/modules/compute/mod_capabilities.go +++ b/pkg/mcclient/modules/compute/mod_capabilities.go @@ -50,5 +50,5 @@ func init() { Capabilities = SCapabilityManager{ ResourceManager: modules.NewComputeManager("capability", "capabilities", []string{}, []string{}), } - modules.RegisterComputeV2(&Capabilities) + modules.RegisterCompute(&Capabilities) } diff --git a/pkg/mcclient/modules/compute/mod_dynamicschedtags.go b/pkg/mcclient/modules/compute/mod_dynamicschedtags.go index f87d28b3d9..64b00ab06f 100644 --- a/pkg/mcclient/modules/compute/mod_dynamicschedtags.go +++ b/pkg/mcclient/modules/compute/mod_dynamicschedtags.go @@ -30,5 +30,5 @@ func init() { "Schedtag_Id", "Resource_Type", "Enabled"}, []string{}) - modules.RegisterComputeV2(&Dynamicschedtags) + modules.RegisterCompute(&Dynamicschedtags) } diff --git a/pkg/mcclient/modules/compute/mod_externalprojects.go b/pkg/mcclient/modules/compute/mod_externalprojects.go index 40edb05219..308ce86530 100644 --- a/pkg/mcclient/modules/compute/mod_externalprojects.go +++ b/pkg/mcclient/modules/compute/mod_externalprojects.go @@ -30,5 +30,5 @@ func init() { []string{"ID", "Name", "External_Id", "Tenant_id", "Tenant", "Manager_id", "Manager"}, []string{}) - modules.RegisterComputeV2(&ExternalProjects) + modules.RegisterCompute(&ExternalProjects) } diff --git a/pkg/mcclient/modules/compute/mod_metadatas.go b/pkg/mcclient/modules/compute/mod_metadatas.go index 771da70ffd..8c31cced96 100644 --- a/pkg/mcclient/modules/compute/mod_metadatas.go +++ b/pkg/mcclient/modules/compute/mod_metadatas.go @@ -53,7 +53,7 @@ func init() { } func (this *MetadataManager) getModule(session *mcclient.ClientSession, params jsonutils.JSONObject) (modulebase.Manager, error) { - service, version := "compute", "" + service := "compute" if params.Contains("service") { service, _ = params.GetString("service") } else { @@ -78,18 +78,13 @@ func (this *MetadataManager) getModule(session *mcclient.ClientSession, params j } find := false mods, _ := modulebase.GetRegisterdModules() - for _versin, mds := range mods { - if utils.IsInStringArray(keyString, mds) { - version = _versin - session.SetApiVersion(version) - mod, err := modulebase.GetModule(session, keyString) - if err != nil { - return nil, err - } - service = mod.ServiceType() - find = true - break + if utils.IsInStringArray(keyString, mods) { + mod, err := modulebase.GetModule(session, keyString) + if err != nil { + return nil, err } + service = mod.ServiceType() + find = true } if !find { return nil, fmt.Errorf("No such module %s", keyString) @@ -97,23 +92,13 @@ func (this *MetadataManager) getModule(session *mcclient.ClientSession, params j } } - switch service { - case "identity": - version = "v3" - case "compute": - version = "v2" - default: - version = "v1" - } - - session.SetApiVersion(version) - _, err := session.GetServiceURL(service, "") + _, err := session.GetServiceURL(service, "", "") if err != nil { return nil, httperrors.NewNotFoundError("service %s not found error: %v", service, err) } return &modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(service, "", "", []string{}, []string{}), + BaseManager: *modulebase.NewBaseManager(service, "", "", []string{}, []string{}, ""), Keyword: "metadata", KeywordPlural: "metadatas", }, nil } diff --git a/pkg/mcclient/modules/compute/mod_schedpolicies.go b/pkg/mcclient/modules/compute/mod_schedpolicies.go index b9fada4a1a..a7be221d6d 100644 --- a/pkg/mcclient/modules/compute/mod_schedpolicies.go +++ b/pkg/mcclient/modules/compute/mod_schedpolicies.go @@ -31,5 +31,5 @@ func init() { }, []string{}) - modules.RegisterComputeV2(&Schedpolicies) + modules.RegisterCompute(&Schedpolicies) } diff --git a/pkg/mcclient/modules/compute/mod_sshkeypairs.go b/pkg/mcclient/modules/compute/mod_sshkeypairs.go index 44ca17fb5c..54bd064434 100644 --- a/pkg/mcclient/modules/compute/mod_sshkeypairs.go +++ b/pkg/mcclient/modules/compute/mod_sshkeypairs.go @@ -48,7 +48,7 @@ func (this *SSshkeypairManager) List(s *mcclient.ClientSession, params jsonutils } func (this *SSshkeypairManager) FetchPrivateKey(ctx context.Context, userCred mcclient.TokenCredential) (string, error) { - s := auth.GetSession(ctx, userCred, "", "") + s := auth.GetSession(ctx, userCred, "") return this.FetchPrivateKeyBySession(ctx, s) } @@ -89,5 +89,5 @@ func init() { []string{}, []string{})} - modules.RegisterComputeV2(&Sshkeypairs) + modules.RegisterCompute(&Sshkeypairs) } diff --git a/pkg/mcclient/modules/compute/mod_tasks.go b/pkg/mcclient/modules/compute/mod_tasks.go index 73c0dfbe21..b05bc24391 100644 --- a/pkg/mcclient/modules/compute/mod_tasks.go +++ b/pkg/mcclient/modules/compute/mod_tasks.go @@ -86,14 +86,13 @@ func (self *TasksManager) getManager(session *mcclient.ClientSession, params jso version = "v1" } - session.SetApiVersion(version) - _, err := session.GetServiceURL(serviceType, "") + _, err := session.GetServiceURL(serviceType, "", "") if err != nil { return nil, httperrors.NewNotFoundError("service %s not found error: %v", serviceType, err) } return &modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(serviceType, "", version, []string{}, []string{}), + BaseManager: *modulebase.NewBaseManager(serviceType, "", version, []string{}, []string{}, ""), Keyword: "task", KeywordPlural: "tasks", }, nil } diff --git a/pkg/mcclient/modules/etcd/managers.go b/pkg/mcclient/modules/etcd/managers.go index a5bc044ee3..7f74740fc3 100644 --- a/pkg/mcclient/modules/etcd/managers.go +++ b/pkg/mcclient/modules/etcd/managers.go @@ -26,5 +26,6 @@ func NewCloudirManager(keyword, keywordPlural string, columns, adminColumns []st keywordPlural, columns, adminColumns, + "", ) } diff --git a/pkg/mcclient/modules/k8s/base.go b/pkg/mcclient/modules/k8s/base.go index 426500799c..8a78985152 100644 --- a/pkg/mcclient/modules/k8s/base.go +++ b/pkg/mcclient/modules/k8s/base.go @@ -28,7 +28,7 @@ type ResourceManager struct { func NewResourceManager(keyword, keywordPlural string, columns, adminColumns *Columns) *ResourceManager { man := &modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager("k8s", "", "", columns.Array(), adminColumns.Array()), + BaseManager: *modulebase.NewBaseManager("k8s", "", "", columns.Array(), adminColumns.Array(), ""), Keyword: keyword, KeywordPlural: keywordPlural, } diff --git a/pkg/mcclient/modules/managers.go b/pkg/mcclient/modules/managers.go index e891e0d835..8452381f70 100644 --- a/pkg/mcclient/modules/managers.go +++ b/pkg/mcclient/modules/managers.go @@ -25,35 +25,27 @@ import ( */ func NewResourceManager(serviceType string, keyword, keywordPlural string, - columns, adminColumns []string) modulebase.ResourceManager { + columns, adminColumns []string, apiVersion string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(serviceType, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(serviceType, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewComputeManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_REGION, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_REGION, "", "", columns, adminColumns, "v2"), Keyword: keyword, KeywordPlural: keywordPlural} } func NewActionManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_LOG, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_LOG, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } -/* -func NewServiceTreeManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { - return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_SERVICETREE, "", "v1", columns, adminColumns), - Keyword: keyword, KeywordPlural: keywordPlural} -} -*/ - func NewMonitorV2Manager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_MONITOR, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_MONITOR, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } @@ -74,13 +66,13 @@ func NewCloudwatcherManager(keyword, keywordPlural string, columns, adminColumns func NewNotifyManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_NOTIFY, "", "v1", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_NOTIFY, "", "v1", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewNotifyv2Manager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_NOTIFY, "", "v2", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_NOTIFY, "", "v2", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural, } @@ -111,71 +103,74 @@ func NewJointServiceTreeManager(keyword, keywordPlural string, columns, adminCol func NewIdentityManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_KEYSTONE, "", "v2.0", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_KEYSTONE, "", "v2.0", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewIdentityV3Manager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_KEYSTONE, "", "v3", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_KEYSTONE, "", "v3", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewImageManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_IMAGE, "", "v1", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_IMAGE, "", "v1", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewVNCProxyManager() modulebase.ResourceManager { - return modulebase.ResourceManager{BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_VNCPROXY, "", "", nil, nil), - Keyword: "vncproxy", KeywordPlural: "vncproxy"} + return modulebase.ResourceManager{ + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_VNCPROXY, "", "", nil, nil, ""), + Keyword: "vncproxy", + KeywordPlural: "vncproxy", + } } func NewSchedulerManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_SCHEDULER, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_SCHEDULER, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewYunionConfManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_YUNIONCONF, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_YUNIONCONF, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewOfflineCloudmetaManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_OFFLINE_CLOUDMETA, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_OFFLINE_CLOUDMETA, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewAnsibleManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_ANSIBLE, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_ANSIBLE, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewDevtoolManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_DEVTOOL, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_DEVTOOL, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewCloudeventManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_CLOUDEVENT, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_CLOUDEVENT, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewCloudIdManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_CLOUDID, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_CLOUDID, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } func NewScheduledtaskManager(keyword, keywordPlural string, columns, adminColumns []string) modulebase.ResourceManager { return modulebase.ResourceManager{ - BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_SCHEDULEDTASK, "", "", columns, adminColumns), + BaseManager: *modulebase.NewBaseManager(apis.SERVICE_TYPE_SCHEDULEDTASK, "", "", columns, adminColumns, ""), Keyword: keyword, KeywordPlural: keywordPlural} } diff --git a/pkg/mcclient/modules/mod_logs.go b/pkg/mcclient/modules/mod_logs.go index c8fbabde3d..10ad1ccab5 100644 --- a/pkg/mcclient/modules/mod_logs.go +++ b/pkg/mcclient/modules/mod_logs.go @@ -84,11 +84,11 @@ func init() { ComputeLogs = NewComputeManager("event", "events", []string{"id", "ops_time", "obj_id", "obj_type", "obj_name", "user", "user_id", "tenant", "tenant_id", "owner_tenant_id", "action", "notes"}, []string{}) - ComputeLogs.SetApiVersion(mcclient.V2_API_VERSION) + // ComputeLogs.SetApiVersion(mcclient.V2_API_VERSION) MonitorLogs = NewMonitorV2Manager("event", "events", []string{"id", "ops_time", "obj_id", "obj_type", "obj_name", "user", "tenant", "action", "notes"}, []string{}) Logs = LogsManager{ComputeLogs} - register(&Logs) + Register(&Logs) } diff --git a/pkg/mcclient/modules/monitor/mod_commonalert.go b/pkg/mcclient/modules/monitor/mod_commonalert.go index e56b07422d..31d8cb65f2 100644 --- a/pkg/mcclient/modules/monitor/mod_commonalert.go +++ b/pkg/mcclient/modules/monitor/mod_commonalert.go @@ -15,7 +15,6 @@ package monitor import ( - "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/mcclient/modulebase" "yunion.io/x/onecloud/pkg/mcclient/modules" ) @@ -34,8 +33,6 @@ func init() { CommonAlertManager, } { modules.Register(m) - m.SetApiVersion(mcclient.V2_API_VERSION) - modules.RegisterV2(m) } } diff --git a/pkg/mcclient/modules/monitor/mod_migration_alert.go b/pkg/mcclient/modules/monitor/mod_migration_alert.go index b962446efe..b7a4cf8c6b 100644 --- a/pkg/mcclient/modules/monitor/mod_migration_alert.go +++ b/pkg/mcclient/modules/monitor/mod_migration_alert.go @@ -15,7 +15,6 @@ package monitor import ( - "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/mcclient/modulebase" "yunion.io/x/onecloud/pkg/mcclient/modules" ) @@ -31,8 +30,6 @@ type SMigrationAlertManager struct { func init() { MigrationAlertManager = NewMigrationAlertManager() modules.Register(MigrationAlertManager) - MigrationAlertManager.SetApiVersion(mcclient.V2_API_VERSION) - modules.RegisterV2(MigrationAlertManager) } func NewMigrationAlertManager() *SMigrationAlertManager { diff --git a/pkg/mcclient/modules/quota/mod_quotas.go b/pkg/mcclient/modules/quota/mod_quotas.go index dccb4d3c82..f300f4e7c6 100644 --- a/pkg/mcclient/modules/quota/mod_quotas.go +++ b/pkg/mcclient/modules/quota/mod_quotas.go @@ -193,10 +193,10 @@ func init() { ImageQuotas = QuotaManager{modules.NewImageManager("image_quota", "image_quotas", quotaColumns, []string{})} - modules.RegisterV2(&ImageQuotas) + modules.Register(&ImageQuotas) IdentityQuotas = QuotaManager{modules.NewIdentityV3Manager("identity_quota", "identity_quotas", quotaColumns, []string{})} - modules.RegisterV2(&IdentityQuotas) + modules.Register(&IdentityQuotas) } diff --git a/pkg/mcclient/modules/register.go b/pkg/mcclient/modules/register.go index 55490497cd..eb4c37f8a0 100644 --- a/pkg/mcclient/modules/register.go +++ b/pkg/mcclient/modules/register.go @@ -15,32 +15,13 @@ package modules import ( - "yunion.io/x/onecloud/pkg/mcclient" "yunion.io/x/onecloud/pkg/mcclient/modulebase" ) func RegisterCompute(mod modulebase.IBaseManager) { - registerComputeV1(mod) - RegisterComputeV2(mod) -} - -func registerComputeV1(mod modulebase.IBaseManager) { - modulebase.Register("v1", mod) -} - -func RegisterComputeV2(mod modulebase.IBaseManager) { - mod.SetApiVersion(mcclient.V2_API_VERSION) - modulebase.Register("v2", mod) -} - -func register(mod modulebase.IBaseManager) { - modulebase.Register("v1", mod) -} - -func RegisterV2(mod modulebase.IBaseManager) { - modulebase.Register("v2", mod) + modulebase.Register(mod) } func Register(mod modulebase.IBaseManager) { - register(mod) + modulebase.Register(mod) } diff --git a/pkg/mcclient/modules/scheduler/mod_scheduler.go b/pkg/mcclient/modules/scheduler/mod_scheduler.go index 2c08a71fc8..24618a7eb0 100644 --- a/pkg/mcclient/modules/scheduler/mod_scheduler.go +++ b/pkg/mcclient/modules/scheduler/mod_scheduler.go @@ -100,7 +100,7 @@ func (this *SchedulerManager) DoForecast(s *mcclient.ClientSession, params jsonu domainId = "" } if domainId == "" { - adminSession := auth.GetAdminSession(context.TODO(), "", "") + adminSession := auth.GetAdminSession(context.TODO(), "") ret, err := identity.Projects.Get(adminSession, projectId, nil) if err != nil { return nil, err diff --git a/pkg/mcclient/modules/webconsole/mod_commandlog.go b/pkg/mcclient/modules/webconsole/mod_commandlog.go index fc6ec0432a..02e11c1780 100644 --- a/pkg/mcclient/modules/webconsole/mod_commandlog.go +++ b/pkg/mcclient/modules/webconsole/mod_commandlog.go @@ -25,7 +25,7 @@ var ( func init() { CommandLog = NewCommandLogManager() - modulebase.Register("v1", CommandLog) + modulebase.Register(CommandLog) } type CommandLogManager struct { @@ -38,7 +38,7 @@ func NewCommandLogManager() *CommandLogManager { BaseManager: *modulebase.NewBaseManager("webconsole", "", "webconsole", []string{ "id", "ops_time", "obj_id", "obj_type", "obj_name", "user", "user_id", "tenant", "tenant_id", "owner_tenant_id", "action", "notes", "session_id", "accessed_at", "type", "login_user", "start_time", "ps1", "command", - }, nil), + }, nil, ""), Keyword: "commandlog", KeywordPlural: "commandlogs", }, } diff --git a/pkg/mcclient/modules/webconsole/mod_webconsole.go b/pkg/mcclient/modules/webconsole/mod_webconsole.go index a5cfd0da86..13cb622461 100644 --- a/pkg/mcclient/modules/webconsole/mod_webconsole.go +++ b/pkg/mcclient/modules/webconsole/mod_webconsole.go @@ -35,7 +35,7 @@ var ( func init() { WebConsole = WebConsoleManager{NewWebConsoleManager()} - modulebase.Register("v1", &WebConsole) + modulebase.Register(&WebConsole) } type WebConsoleManager struct { @@ -43,7 +43,7 @@ type WebConsoleManager struct { } func NewWebConsoleManager() modulebase.ResourceManager { - return modulebase.ResourceManager{BaseManager: *modulebase.NewBaseManager("webconsole", "", "", nil, nil), + return modulebase.ResourceManager{BaseManager: *modulebase.NewBaseManager("webconsole", "", "", nil, nil, ""), Keyword: "webconsole", KeywordPlural: "webconsole"} } @@ -70,7 +70,7 @@ func (m WebConsoleManager) DoK8sShellConnect(s *mcclient.ClientSession, id strin } func (m WebConsoleManager) DoCloudShell(s *mcclient.ClientSession, _ jsonutils.JSONObject) (jsonutils.JSONObject, error) { - adminSession := auth.GetAdminSession(s.GetContext(), s.GetRegion(), "") + adminSession := auth.GetAdminSession(s.GetContext(), s.GetRegion()) query := jsonutils.NewDict() query.Add(jsonutils.JSONTrue, "system") @@ -110,7 +110,7 @@ func (m WebConsoleManager) DoCloudShell(s *mcclient.ClientSession, _ jsonutils.J req.Container = "climc" req.Command = "/bin/bash" endpointType := "internal" - authUrl, _ := s.GetServiceURL("identity", endpointType) + authUrl, _ := s.GetServiceURL("identity", endpointType, "") if err != nil { return nil, httperrors.NewNotFoundError("auth_url not found") } diff --git a/pkg/mcclient/modules/yunionconf/mod_parameters.go b/pkg/mcclient/modules/yunionconf/mod_parameters.go index d49f80c6d1..328418064f 100644 --- a/pkg/mcclient/modules/yunionconf/mod_parameters.go +++ b/pkg/mcclient/modules/yunionconf/mod_parameters.go @@ -52,7 +52,7 @@ func (m *ParametersManager) GetWidgetSettings(s *mcclient.ClientSession, params } func (m *ParametersManager) getParametersRpc(s *mcclient.ClientSession, key string, params jsonutils.JSONObject) (jsonutils.JSONObject, error) { - adminSession := auth.GetAdminSession(context.Background(), "", "") + adminSession := auth.GetAdminSession(context.Background(), "") p := jsonutils.NewDict() p.Add(jsonutils.NewString("system"), "scope") p.Add(jsonutils.NewString(key), "name") diff --git a/pkg/mcclient/session.go b/pkg/mcclient/session.go index f69657743d..4b555186d4 100644 --- a/pkg/mcclient/session.go +++ b/pkg/mcclient/session.go @@ -46,19 +46,6 @@ const ( V2_API_VERSION = "v2" ) -var ( - MutilVersionService = []string{"compute"} - ApiVersionByModule = true -) - -func DisableApiVersionByModule() { - ApiVersionByModule = false -} - -func EnableApiVersionByModule() { - ApiVersionByModule = true -} - type ClientSession struct { ctx context.Context @@ -70,7 +57,6 @@ type ClientSession struct { Header http.Header /// headers for this session notifyChannel chan string - defaultApiVersion string customizeServiceUrl map[string]string } @@ -121,22 +107,26 @@ func (this *ClientSession) GetClient() *Client { return this.client } +func getApiVersionByServiceType(serviceType string) string { + switch serviceType { + case "compute": + return "v2" + } + return "" +} + func (this *ClientSession) getServiceName(service, apiVersion string) string { - if utils.IsInStringArray(service, MutilVersionService) && len(apiVersion) > 0 && apiVersion != DEFAULT_API_VERSION { + if len(apiVersion) == 0 { + apiVersion = getApiVersionByServiceType(service) + } + if len(apiVersion) > 0 && apiVersion != DEFAULT_API_VERSION { service = fmt.Sprintf("%s_%s", service, apiVersion) } return service } -func (this *ClientSession) getApiVersion(moduleApiVersion string) string { - if moduleApiVersion != "" && ApiVersionByModule { - return moduleApiVersion - } - return this.defaultApiVersion -} - -func (this *ClientSession) GetServiceURL(service, endpointType string) (string, error) { - return this.GetServiceVersionURL(service, endpointType, this.getApiVersion("")) +func (this *ClientSession) GetServiceURL(service, endpointType, apiVersion string) (string, error) { + return this.GetServiceVersionURL(service, endpointType, apiVersion) } func (this *ClientSession) GetServiceCatalog() IServiceCatalog { @@ -151,8 +141,8 @@ func (this *ClientSession) GetServiceVersionURL(service, endpointType, apiVersio return urls[rand.Intn(len(urls))], nil } -func (this *ClientSession) GetServiceURLs(service, endpointType string) ([]string, error) { - return this.GetServiceVersionURLs(service, endpointType, this.getApiVersion("")) +func (this *ClientSession) GetServiceURLs(service, endpointType, apiVersion string) ([]string, error) { + return this.GetServiceVersionURLs(service, endpointType, apiVersion) } func (this *ClientSession) GetServiceVersionURLs(service, endpointType, apiVersion string) ([]string, error) { @@ -231,7 +221,7 @@ func (this *ClientSession) getBaseUrl(service, endpointType, apiVersion string) } else if url, ok := this.customizeServiceUrl[service]; ok { return url, nil } else { - return this.GetServiceVersionURL(service, endpointType, this.getApiVersion(apiVersion)) + return this.GetServiceVersionURL(service, endpointType, apiVersion) } } else { return "", fmt.Errorf("Empty service type or baseURL") @@ -407,7 +397,7 @@ func (this *ClientSession) WaitTaskNotify() { } } -func (this *ClientSession) SetApiVersion(version string) { +/*func (this *ClientSession) SetApiVersion(version string) { this.defaultApiVersion = version } @@ -417,14 +407,14 @@ func (this *ClientSession) GetApiVersion() string { return DEFAULT_API_VERSION } return apiVersion -} +}*/ func (this *ClientSession) ToJson() jsonutils.JSONObject { params := jsonutils.NewDict() simpleToken := SimplifyToken(this.token) tokenJson := jsonutils.Marshal(simpleToken) params.Update(tokenJson) - params.Add(jsonutils.NewString(this.GetApiVersion()), "api_version") + // params.Add(jsonutils.NewString(this.GetApiVersion()), "api_version") if len(this.endpointType) > 0 { params.Add(jsonutils.NewString(this.endpointType), "endpoint_type") } diff --git a/pkg/mcclient/utils/fetchnames.go b/pkg/mcclient/utils/fetchnames.go index d22abffd65..b820e8d7ff 100644 --- a/pkg/mcclient/utils/fetchnames.go +++ b/pkg/mcclient/utils/fetchnames.go @@ -40,7 +40,7 @@ func MapKeys(idMap map[string]string) []string { } func FetchDomainNames(ctx context.Context, domainMap map[string]string) (map[string]string, error) { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) query := jsonutils.NewDict() query.Add(jsonutils.NewString(fmt.Sprintf("id.equals(%s)", strings.Join(MapKeys(domainMap), ","))), "filter.0") query.Add(jsonutils.NewInt(int64(len(domainMap))), "limit") @@ -69,7 +69,7 @@ func FetchDomainNames(ctx context.Context, domainMap map[string]string) (map[str } func FetchTenantNames(ctx context.Context, tenantMap map[string]string) (map[string]string, error) { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) query := jsonutils.NewDict() query.Add(jsonutils.NewString(fmt.Sprintf("id.equals(%s)", strings.Join(MapKeys(tenantMap), ","))), "filter.0") query.Add(jsonutils.NewInt(int64(len(tenantMap))), "limit") diff --git a/pkg/monitor/alerting/conditions/query.go b/pkg/monitor/alerting/conditions/query.go index c76c91a997..b5fc20a7a5 100644 --- a/pkg/monitor/alerting/conditions/query.go +++ b/pkg/monitor/alerting/conditions/query.go @@ -610,7 +610,7 @@ func ListAllResources(manager modulebase.Manager, params *jsonutils.JSONDict) ([ params.Add(jsonutils.NewInt(0), "limit") params.Add(jsonutils.NewBool(true), "details") var count int - session := auth.GetAdminSession(context.Background(), "", "") + session := auth.GetAdminSession(context.Background(), "") objs := make([]jsonutils.JSONObject, 0) for { params.Set("offset", jsonutils.NewInt(int64(count))) diff --git a/pkg/monitor/alerting/eval_context.go b/pkg/monitor/alerting/eval_context.go index 91cb6810ff..f4bc980400 100644 --- a/pkg/monitor/alerting/eval_context.go +++ b/pkg/monitor/alerting/eval_context.go @@ -121,7 +121,7 @@ func (c *EvalContext) GetNotificationTitle() string { } func (c *EvalContext) GetCallbackURLPrefix() string { - config, err := modules.ServicesV3.GetSpecific(auth.GetAdminSession(c.Ctx, "", ""), "common", "config", + config, err := modules.ServicesV3.GetSpecific(auth.GetAdminSession(c.Ctx, ""), "common", "config", jsonutils.NewDict()) if err != nil { log.Errorf("GetCallbackURLPrefix err:%v", err) diff --git a/pkg/monitor/alerting/notifiers/auto_migration.go b/pkg/monitor/alerting/notifiers/auto_migration.go index 5c3da9a97c..605393eae4 100644 --- a/pkg/monitor/alerting/notifiers/auto_migration.go +++ b/pkg/monitor/alerting/notifiers/auto_migration.go @@ -94,7 +94,7 @@ func (am *autoMigrationNotifier) Notify(ctx *alerting.EvalContext, data jsonutil return errors.Wrapf(err, "get balancer rules") } - if err := balancer.DoBalance(ctx.Ctx, auth.GetAdminSession(ctx.Ctx, options.Options.Region, ""), rules, balancer.NewRecorder()); err != nil { + if err := balancer.DoBalance(ctx.Ctx, auth.GetAdminSession(ctx.Ctx, options.Options.Region), rules, balancer.NewRecorder()); err != nil { return errors.Wrap(err, "DoBalance") } diff --git a/pkg/monitor/alerting/notifiers/auto_scaling.go b/pkg/monitor/alerting/notifiers/auto_scaling.go index e6638bc696..1963d4d54e 100644 --- a/pkg/monitor/alerting/notifiers/auto_scaling.go +++ b/pkg/monitor/alerting/notifiers/auto_scaling.go @@ -47,7 +47,7 @@ type AutoScalingNotifier struct { func newAutoScalingNotifier(config alerting.NotificationConfig) (alerting.Notifier, error) { return &AutoScalingNotifier{ NotifierBase: NewNotifierBase(config), - session: auth.GetAdminSession(context.Background(), options.Options.Region, ""), + session: auth.GetAdminSession(context.Background(), options.Options.Region), }, nil } diff --git a/pkg/monitor/alerting/notifiers/onecloud.go b/pkg/monitor/alerting/notifiers/onecloud.go index 08e4443a2d..165253ffa5 100644 --- a/pkg/monitor/alerting/notifiers/onecloud.go +++ b/pkg/monitor/alerting/notifiers/onecloud.go @@ -112,7 +112,7 @@ func newOneCloudNotifier(config alerting.NotificationConfig) (alerting.Notifier, } func getAdminSession() *mcclient.ClientSession { - return auth.GetAdminSession(context.Background(), options.Options.Region, "") + return auth.GetAdminSession(context.Background(), options.Options.Region) } func GetNotifyTemplateConfig(ctx *alerting.EvalContext) monitor.NotificationTemplateConfig { diff --git a/pkg/monitor/models/alertresource.go b/pkg/monitor/models/alertresource.go index f1278cf8b0..9ac929ce2f 100644 --- a/pkg/monitor/models/alertresource.go +++ b/pkg/monitor/models/alertresource.go @@ -483,7 +483,7 @@ func (manager *SAlertResourceManager) GetAdminRoleUsers(ctx context.Context, use } offset := 0 query := jsonutils.NewDict() - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") rid, err := identity.RolesV3.GetId(session, "admin", jsonutils.NewDict()) if err != nil { errors.Errorf("get role id error:%v", err) diff --git a/pkg/monitor/models/commonalert.go b/pkg/monitor/models/commonalert.go index 4d81edb07d..d263d321ed 100644 --- a/pkg/monitor/models/commonalert.go +++ b/pkg/monitor/models/commonalert.go @@ -509,7 +509,7 @@ func (manager *SCommonAlertManager) GetExportExtraKeys(ctx context.Context, keys } func GetGlobalSettingsDictionary(ctx context.Context, param string) (val string) { - s := auth.GetAdminSession(ctx, "", "") + s := auth.GetAdminSession(ctx, "") globalSettings, err := yunionconf.Parameters.GetGlobalSettings(s, jsonutils.NewDict()) if err != nil { log.Errorf("GetGlobalSettings err:%v", err) diff --git a/pkg/monitor/models/datasource.go b/pkg/monitor/models/datasource.go index 9165e3bb72..281e8660f2 100644 --- a/pkg/monitor/models/datasource.go +++ b/pkg/monitor/models/datasource.go @@ -101,12 +101,12 @@ func (man *SDataSourceManager) initDefaultDataSource(ctx context.Context) error log.Errorf("Get default datasource: %v", err) return } - s := auth.GetAdminSession(ctx, region, "") + s := auth.GetAdminSession(ctx, region) if s == nil { log.Errorf("get empty public session for region %s", region) return } - url, err := s.GetServiceURL("influxdb", epType) + url, err := s.GetServiceURL("influxdb", epType, "") if err != nil { log.Errorf("get influxdb public url: %v", err) return diff --git a/pkg/monitor/models/helper.go b/pkg/monitor/models/helper.go index 2241583b93..37fa915d65 100644 --- a/pkg/monitor/models/helper.go +++ b/pkg/monitor/models/helper.go @@ -28,7 +28,7 @@ import ( ) func FetchAllRemoteDomainProjects(ctx context.Context) ([]*db.STenant, []*db.STenant, error) { - s := auth.GetAdminSession(ctx, consts.GetRegion(), "v1") + s := auth.GetAdminSession(ctx, consts.GetRegion()) projects := make([]*db.STenant, 0) domains := make([]*db.STenant, 0) var count int diff --git a/pkg/monitor/models/meteralert.go b/pkg/monitor/models/meteralert.go index ce6aa04097..48c2ee2448 100644 --- a/pkg/monitor/models/meteralert.go +++ b/pkg/monitor/models/meteralert.go @@ -100,7 +100,7 @@ func (man *SMeterAlertManager) genName(ctx context.Context, ownerId mcclient.IId } func (man *SMeterAlertManager) getAllBillAccounts(ctx context.Context) ([]jsonutils.JSONObject, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) results := make([]jsonutils.JSONObject, 0) for { q := jsonutils.NewDict() diff --git a/pkg/monitor/models/monitor_resource_sync.go b/pkg/monitor/models/monitor_resource_sync.go index 6be12488b4..cfc6ab1e00 100644 --- a/pkg/monitor/models/monitor_resource_sync.go +++ b/pkg/monitor/models/monitor_resource_sync.go @@ -340,7 +340,7 @@ func ListAllResources(manager modulebase.Manager, params *jsonutils.JSONDict) ([ params.Add(jsonutils.NewInt(0), "limit") params.Add(jsonutils.NewBool(true), "details") var count int - session := auth.GetAdminSession(context.Background(), "", "") + session := auth.GetAdminSession(context.Background(), "") objs := make([]jsonutils.JSONObject, 0) for { params.Set("offset", jsonutils.NewInt(int64(count))) diff --git a/pkg/monitor/models/nodealert.go b/pkg/monitor/models/nodealert.go index 51d3ae9efb..cd24b846ff 100644 --- a/pkg/monitor/models/nodealert.go +++ b/pkg/monitor/models/nodealert.go @@ -176,7 +176,7 @@ func (man *SNodeAlertManager) validateHostResource(ctx context.Context, id strin } func (man *SNodeAlertManager) validateResourceByMod(ctx context.Context, mod modulebase.Manager, id string) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) ret, err := mod.Get(s, id, nil) if err != nil { return "", err diff --git a/pkg/monitor/service/service.go b/pkg/monitor/service/service.go index 1a895a55bc..bf29792ef0 100644 --- a/pkg/monitor/service/service.go +++ b/pkg/monitor/service/service.go @@ -90,7 +90,7 @@ func StartService() { // start migration recover routine go func() { - if err := balancer.RecoverInProcessAlerts(app.GetContext(), auth.GetAdminSession(app.GetContext(), options.Options.Region, "")); err != nil { + if err := balancer.RecoverInProcessAlerts(app.GetContext(), auth.GetAdminSession(app.GetContext(), options.Options.Region)); err != nil { log.Errorf("RecoverInProcessAlerts error: %v", err) } }() diff --git a/pkg/multicloud/aliyun/storagecache.go b/pkg/multicloud/aliyun/storagecache.go index 111f64a153..d70a766cde 100644 --- a/pkg/multicloud/aliyun/storagecache.go +++ b/pkg/multicloud/aliyun/storagecache.go @@ -123,7 +123,7 @@ func (self *SStoragecache) UploadImage(ctx context.Context, userCred mcclient.To func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, callback func(float32)) (string, error) { // first upload image to oss - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeByte, err := modules.Images.Download(s, image.ImageId, string(qemuimg.QCOW2), false) if err != nil { @@ -331,7 +331,7 @@ func (self *SStoragecache) downloadImage(userCred mcclient.TokenCredential, imag } else if err := bucket.DownloadFile(imageList.Objects[0].Key, tmpImageFile.Name(), 12*1024*1024, oss.Routines(3), oss.Progress(&OssProgressListener{})); err != nil { return nil, err } else { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) params := jsonutils.Marshal(map[string]string{"image_id": imageId, "disk-format": "raw"}) if result, err := modules.Images.Upload(s, params, tmpImageFile, imageList.Objects[0].Size); err != nil { return nil, err diff --git a/pkg/multicloud/apsara/storagecache.go b/pkg/multicloud/apsara/storagecache.go index ed5921d3bf..a8efc52bf0 100644 --- a/pkg/multicloud/apsara/storagecache.go +++ b/pkg/multicloud/apsara/storagecache.go @@ -148,7 +148,7 @@ func (self *SStoragecache) UploadImage(ctx context.Context, userCred mcclient.To func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, callback func(progress float32)) (string, error) { // first upload image to oss - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeByte, err := modules.Images.Download(s, image.ImageId, string(qemuimg.QCOW2), false) if err != nil { diff --git a/pkg/multicloud/aws/storagecache.go b/pkg/multicloud/aws/storagecache.go index c6d1657003..a0448f7158 100644 --- a/pkg/multicloud/aws/storagecache.go +++ b/pkg/multicloud/aws/storagecache.go @@ -154,7 +154,7 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To defer self.region.DeleteIBucket(bucketName) - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeBytes, err := modules.Images.Download(s, image.ImageId, string(qemuimg.VMDK), false) if err != nil { return "", errors.Wrap(err, "Images.Download") @@ -275,7 +275,7 @@ func (self *SStoragecache) downloadImage(userCred mcclient.TokenCredential, imag return nil, errors.Wrap(err, "GetObject") } - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) params := jsonutils.Marshal(map[string]string{"image_id": imageId, "disk-format": "raw"}) if result, err := modules.Images.Upload(s, params, ret.Body, IntVal(ret.ContentLength)); err != nil { return nil, errors.Wrap(err, "Images.Images") diff --git a/pkg/multicloud/azure/storagecache.go b/pkg/multicloud/azure/storagecache.go index 52c5050012..4a4b758d75 100644 --- a/pkg/multicloud/azure/storagecache.go +++ b/pkg/multicloud/azure/storagecache.go @@ -143,7 +143,7 @@ func (self *SStoragecache) checkStorageAccount() (*SStorageAccount, error) { } func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, tmpPath string, callback func(progress float32)) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeBytes, err := modules.Images.Download(s, image.ImageId, string(qemuimg.VHD), false) if err != nil { return "", err @@ -273,7 +273,7 @@ func (self *SStoragecache) downloadImage(userCred mcclient.TokenCredential, imag if _, err := tmpImageFile.Seek(0, os.SEEK_SET); err != nil { return nil, errors.Wrap(err, "seek") } - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) params := jsonutils.Marshal(map[string]string{"image_id": imageId, "disk-format": "raw"}) if result, err := modules.Images.Upload(s, params, tmpImageFile, resp.ContentLength); err != nil { return nil, err diff --git a/pkg/multicloud/cloudpods/cloudpods.go b/pkg/multicloud/cloudpods/cloudpods.go index 601dae391e..80863bebb6 100644 --- a/pkg/multicloud/cloudpods/cloudpods.go +++ b/pkg/multicloud/cloudpods/cloudpods.go @@ -121,7 +121,7 @@ func (self *SCloudpodsClient) auth() error { serviceRegion = region } } - self.s = client.NewSession(context.Background(), serviceRegion, "", "publicURL", token, "") + self.s = client.NewSession(context.Background(), serviceRegion, "", "publicURL", token) return nil } diff --git a/pkg/multicloud/cloudpods/image.go b/pkg/multicloud/cloudpods/image.go index c0957548f1..6b1fc371e1 100644 --- a/pkg/multicloud/cloudpods/image.go +++ b/pkg/multicloud/cloudpods/image.go @@ -173,7 +173,7 @@ func (self *SRegion) GetImage(id string) (*SImage, error) { } func (self *SRegion) UploadImage(ctx context.Context, userCred mcclient.TokenCredential, opts *cloudprovider.SImageCreateOption, callback func(progress float32)) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeByte, err := modules.Images.Download(s, opts.ImageId, string(qemuimg.QCOW2), false) if err != nil { diff --git a/pkg/multicloud/google/storagecache.go b/pkg/multicloud/google/storagecache.go index 1634a0f9aa..34e6dcb7dc 100644 --- a/pkg/multicloud/google/storagecache.go +++ b/pkg/multicloud/google/storagecache.go @@ -115,7 +115,7 @@ func (region *SRegion) checkAndCreateBucket(bucketName string) (*SBucket, error) } func (cache *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, callback func(progress float32)) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeBytes, err := modules.Images.Download(s, image.ImageId, string(qemuimg.QCOW2), false) if err != nil { diff --git a/pkg/multicloud/hcso/storagecache.go b/pkg/multicloud/hcso/storagecache.go index c12102106b..4ca54add34 100644 --- a/pkg/multicloud/hcso/storagecache.go +++ b/pkg/multicloud/hcso/storagecache.go @@ -166,7 +166,7 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To defer self.region.DeleteIBucket(bucketName) // upload to huawei cloud - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeByte, err := modules.Images.Download(s, image.ImageId, string(qemuimg.VMDK), false) if err != nil { return "", errors.Wrap(err, "Images.Download") diff --git a/pkg/multicloud/huawei/storagecache.go b/pkg/multicloud/huawei/storagecache.go index fae394eed7..d5058f4188 100644 --- a/pkg/multicloud/huawei/storagecache.go +++ b/pkg/multicloud/huawei/storagecache.go @@ -144,7 +144,7 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To defer self.region.DeleteIBucket(bucketName) // upload to huawei cloud - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, sizeByte, err := modules.Images.Download(s, image.ImageId, string(qemuimg.VMDK), false) if err != nil { return "", errors.Wrap(err, "Images.Download") diff --git a/pkg/multicloud/nutanix/storagecache.go b/pkg/multicloud/nutanix/storagecache.go index b4cfd29b64..f9168f0ada 100644 --- a/pkg/multicloud/nutanix/storagecache.go +++ b/pkg/multicloud/nutanix/storagecache.go @@ -96,7 +96,7 @@ func (self *SStoragecache) DownloadImage(userCred mcclient.TokenCredential, imag } func (self *SStoragecache) UploadImage(ctx context.Context, userCred mcclient.TokenCredential, opts *cloudprovider.SImageCreateOption, callback func(float32)) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, size, err := modules.Images.Download(s, opts.ImageId, string(qemuimg.QCOW2), false) if err != nil { diff --git a/pkg/multicloud/openstack/openstack.go b/pkg/multicloud/openstack/openstack.go index aaaaeb9437..c75e75795d 100644 --- a/pkg/multicloud/openstack/openstack.go +++ b/pkg/multicloud/openstack/openstack.go @@ -417,7 +417,7 @@ func (cli *SOpenStackClient) getDefaultSession(regionName string) *mcclient.Clie regionName = cli.getDefaultRegionName() } client := cli.getDefaultClient() - return client.NewSession(context.Background(), regionName, "", cli.endpointType, cli.tokenCredential, "") + return client.NewSession(context.Background(), regionName, "", cli.endpointType, cli.tokenCredential) } func (cli *SOpenStackClient) getDefaultClient() *mcclient.Client { diff --git a/pkg/multicloud/openstack/storagecache.go b/pkg/multicloud/openstack/storagecache.go index 5dc5428467..a17d65ffa1 100644 --- a/pkg/multicloud/openstack/storagecache.go +++ b/pkg/multicloud/openstack/storagecache.go @@ -98,7 +98,7 @@ func (cache *SStoragecache) UploadImage(ctx context.Context, userCred mcclient.T } func (cache *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, callback func(progress float32)) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, size, err := modules.Images.Download(s, image.ImageId, string(qemuimg.QCOW2), false) if err != nil { diff --git a/pkg/multicloud/qcloud/storagecache.go b/pkg/multicloud/qcloud/storagecache.go index ec49f54e0d..2578da59e3 100644 --- a/pkg/multicloud/qcloud/storagecache.go +++ b/pkg/multicloud/qcloud/storagecache.go @@ -137,7 +137,7 @@ func (self *SRegion) getCosUrl(bucket, object string) string { func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, callback func(progress float32)) (string, error) { // first upload image to oss - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) _, reader, sizeBytes, err := modules.Images.Download(s, image.ImageId, string(qemuimg.VMDK), false) if err != nil { diff --git a/pkg/multicloud/ucloud/storagecache.go b/pkg/multicloud/ucloud/storagecache.go index 7adf125ac5..8c737ba2a3 100644 --- a/pkg/multicloud/ucloud/storagecache.go +++ b/pkg/multicloud/ucloud/storagecache.go @@ -135,7 +135,7 @@ func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.To }() // upload to ucloud - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, size, err := modules.Images.Download(s, image.ImageId, string(qemuimg.VMDK), false) if err != nil { return "", err diff --git a/pkg/multicloud/zstack/storagecache.go b/pkg/multicloud/zstack/storagecache.go index 69407ef0d3..64dd5b1a7b 100644 --- a/pkg/multicloud/zstack/storagecache.go +++ b/pkg/multicloud/zstack/storagecache.go @@ -104,7 +104,7 @@ func (scache *SStoragecache) UploadImage(ctx context.Context, userCred mcclient. } func (self *SStoragecache) uploadImage(ctx context.Context, userCred mcclient.TokenCredential, image *cloudprovider.SImageCreateOption, callback func(progress float32)) (string, error) { - s := auth.GetAdminSession(ctx, options.Options.Region, "") + s := auth.GetAdminSession(ctx, options.Options.Region) meta, reader, size, err := modules.Images.Download(s, image.ImageId, string(qemuimg.QCOW2), false) if err != nil { diff --git a/pkg/notify/models/receiver.go b/pkg/notify/models/receiver.go index b43b7fe0b7..af381d404c 100644 --- a/pkg/notify/models/receiver.go +++ b/pkg/notify/models/receiver.go @@ -234,7 +234,7 @@ func (rm *SReceiverManager) ValidateCreateData(ctx context.Context, userCred mcc return input, err } // check uid - session := auth.GetAdminSession(ctx, "", "") + session := auth.GetAdminSession(ctx, "") if len(input.UID) > 0 { userObj, err := modules.UsersV3.GetById(session, input.UID, nil) if err != nil { @@ -666,7 +666,7 @@ func (rm *SReceiverManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQue } func (rm *SReceiverManager) findUserIdsWithProjectDomain(ctx context.Context, userCred mcclient.TokenCredential, projectDomainId string) ([]string, error) { - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") query := jsonutils.NewDict() query.Set("effective", jsonutils.JSONTrue) query.Set("project_domain_id", jsonutils.NewString(projectDomainId)) @@ -1000,7 +1000,7 @@ func (rm *SReceiverManager) PerformIntellijGet(ctx context.Context, userCred mcc getParam := jsonutils.NewDict() getParam.Set("scope", jsonutils.NewString(input.Scope)) // try to get itself - s := auth.GetSession(ctx, userCred, "", "") + s := auth.GetSession(ctx, userCred, "") // modules.NotifyReceiver ret, err := notify_modules.NotifyReceiver.Get(s, input.UserId, getParam) if err == nil { @@ -1017,7 +1017,7 @@ func (rm *SReceiverManager) PerformIntellijGet(ctx context.Context, userCred mcc return jsonutils.NewDict(), nil } // create one - adminSession := auth.GetAdminSession(ctx, "", "") + adminSession := auth.GetAdminSession(ctx, "") ret, err = modules.UsersV3.GetById(adminSession, input.UserId, getParam) if err != nil { return nil, errors.Wrap(err, "unable get user from keystone") @@ -1121,7 +1121,7 @@ func (r *SReceiver) PerformDisable(ctx context.Context, userCred mcclient.TokenC } func (r *SReceiver) Sync(ctx context.Context) error { - session := auth.GetAdminSessionWithInternal(ctx, "", "") + session := auth.GetAdminSessionWithInternal(ctx, "") params := jsonutils.NewDict() params.Set("scope", jsonutils.NewString("system")) params.Set("system", jsonutils.JSONTrue) @@ -1211,14 +1211,14 @@ func (rm *SReceiverManager) OnDelete(obj *jsonutils.JSONDict) { return } receiver := &receivers[0] - err = receiver.Delete(context.Background(), auth.GetAdminSession(context.Background(), "", "").GetToken()) + err = receiver.Delete(context.Background(), auth.GetAdminSession(context.Background(), "").GetToken()) if err != nil { log.Errorf("fail to delete contact %q: %v", receiver.Id, err) } } func (rm *SReceiverManager) StartWatchUserInKeystone() error { - adminSession := auth.GetAdminSession(context.Background(), "", "") + adminSession := auth.GetAdminSession(context.Background(), "") watchMan, err := informer.NewWatchManagerBySession(adminSession) if err != nil { return err diff --git a/pkg/notify/models/subscriber.go b/pkg/notify/models/subscriber.go index 4cfbb41903..8647566807 100644 --- a/pkg/notify/models/subscriber.go +++ b/pkg/notify/models/subscriber.go @@ -496,7 +496,7 @@ func (srm *SSubscriberManager) getReceiversSent(ctx context.Context, tid string, } query.Add(jsonutils.NewString(projectId), "scope", "project", "id") } - s := auth.GetAdminSession(ctx, "", "") + s := auth.GetAdminSession(ctx, "") log.Debugf("query for role-assignments: %s", query.String()) listRet, err := modules.RoleAssignments.List(s, query) if err != nil { diff --git a/pkg/s3gateway/session/session.go b/pkg/s3gateway/session/session.go index 107459a897..918a91b046 100644 --- a/pkg/s3gateway/session/session.go +++ b/pkg/s3gateway/session/session.go @@ -23,9 +23,9 @@ import ( ) func GetSession(ctx context.Context, token mcclient.TokenCredential) *mcclient.ClientSession { - return auth.GetSession(ctx, token, options.Options.Region, "") + return auth.GetSession(ctx, token, options.Options.Region) } func GetAdminSession(ctx context.Context) *mcclient.ClientSession { - return auth.GetAdminSession(ctx, options.Options.Region, "") + return auth.GetAdminSession(ctx, options.Options.Region) } diff --git a/pkg/scheduledtask/models/scheduled_tasks.go b/pkg/scheduledtask/models/scheduled_tasks.go index 0ce94a7304..b013956fd9 100644 --- a/pkg/scheduledtask/models/scheduled_tasks.go +++ b/pkg/scheduledtask/models/scheduled_tasks.go @@ -374,7 +374,7 @@ func (st *SScheduledTask) CustomizeDelete(ctx context.Context, userCred mcclient } func (st *SScheduledTask) Action(ctx context.Context, userCred mcclient.TokenCredential) SAction { - session := auth.GetSession(ctx, userCred, "", "") + session := auth.GetSession(ctx, userCred, "") return Action.ResourceOperation(st.ResourceOperation()).Session(session) } diff --git a/pkg/util/k8s/cluster.go b/pkg/util/k8s/cluster.go index 3af087a98c..6fec4c6042 100644 --- a/pkg/util/k8s/cluster.go +++ b/pkg/util/k8s/cluster.go @@ -107,7 +107,7 @@ func (man *SKubeClusterManager) refreshKubeConfig() { } func (man *SKubeClusterManager) getKubeClusterConfig() (string, error) { - session := auth.GetAdminSession(context.Background(), man.region, "v1") + session := auth.GetAdminSession(context.Background(), man.region) params := jsonutils.NewDict() params.Add(jsonutils.JSONTrue, "directly") ret, err := kubeserver.KubeClusters.PerformAction(session, "default", "generate-kubeconfig", params) diff --git a/pkg/util/logclient/logclient.go b/pkg/util/logclient/logclient.go index 9ed77d97f2..cfa40fd9dc 100644 --- a/pkg/util/logclient/logclient.go +++ b/pkg/util/logclient/logclient.go @@ -238,7 +238,7 @@ type logTask struct { } func (t *logTask) Run() { - s := DefaultSessionGenerator(context.Background(), t.userCred, "", "") + s := DefaultSessionGenerator(context.Background(), t.userCred, "") _, err := t.api.Create(s, t.logentry) if err != nil { log.Errorf("create action log %s failed %s", t.logentry, err) diff --git a/pkg/vpcagent/ovn/worker.go b/pkg/vpcagent/ovn/worker.go index db4c20ed76..b27fd8aa2d 100644 --- a/pkg/vpcagent/ovn/worker.go +++ b/pkg/vpcagent/ovn/worker.go @@ -148,8 +148,8 @@ func (w *Worker) run(ctx context.Context, mss *agentmodels.ModelSets) (err error } if host.OvnMappedIpAddr == "" { // trigger ovn mapped ip addr allocation - apiVersion := "v2" - s := auth.GetAdminSession(ctx, w.opts.Region, apiVersion) + // apiVersion := "v2" + s := auth.GetAdminSession(ctx, w.opts.Region) j, err := mcclient_modules.Hosts.Update(s, host.Id, nil) if err != nil { log.Errorf("host %s(%s) dummy update err: %v", host.Id, host.Name, err) diff --git a/pkg/webconsole/command/ssh_command.go b/pkg/webconsole/command/ssh_command.go index c7a2f99739..0b576e2761 100644 --- a/pkg/webconsole/command/ssh_command.go +++ b/pkg/webconsole/command/ssh_command.go @@ -69,7 +69,7 @@ func getCommand(ctx context.Context, us *mcclient.ClientSession, ip string, port if !o.Options.EnableAutoLogin { return "", nil, nil } - s := auth.GetAdminSession(ctx, o.Options.Region, "v2") + s := auth.GetAdminSession(ctx, o.Options.Region) key, err := compute.Sshkeypairs.GetById(s, us.GetProjectId(), jsonutils.Marshal(map[string]bool{"admin": true})) if err != nil { return "", nil, err diff --git a/pkg/webconsole/handlers.go b/pkg/webconsole/handlers.go index 309e99d798..72677bc43f 100644 --- a/pkg/webconsole/handlers.go +++ b/pkg/webconsole/handlers.go @@ -80,7 +80,7 @@ func fetchK8sEnv(ctx context.Context, w http.ResponseWriter, r *http.Request) (* k8sReq.Namespace = "default" } podName := params[""] - adminSession := auth.GetAdminSession(ctx, o.Options.Region, "") + adminSession := auth.GetAdminSession(ctx, o.Options.Region) query := jsonutils.NewDict() query.Add(jsonutils.NewString(k8sReq.Namespace), "namespace") @@ -134,7 +134,7 @@ func fetchCloudEnv(ctx context.Context, w http.ResponseWriter, r *http.Request) if userCred == nil { return nil, httperrors.NewUnauthorizedError("No token founded") } - s := auth.Client().NewSession(ctx, o.Options.Region, "", "internal", userCred, "v2") + s := auth.Client().NewSession(ctx, o.Options.Region, "", "internal", userCred) return &CloudEnv{ ClientSessin: s, Params: params, diff --git a/pkg/yunionconf/models/parameters.go b/pkg/yunionconf/models/parameters.go index 0f390c3ce7..781b3381de 100644 --- a/pkg/yunionconf/models/parameters.go +++ b/pkg/yunionconf/models/parameters.go @@ -84,7 +84,7 @@ func isAdminQuery(query jsonutils.JSONObject) bool { } func getUserId(user string) (string, error) { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) userObj, err := modules.UsersV3.Get(s, user, nil) if err != nil { return "", err @@ -99,7 +99,7 @@ func getUserId(user string) (string, error) { } func getServiceId(service string) (string, error) { - s := auth.GetAdminSession(context.Background(), options.Options.Region, "") + s := auth.GetAdminSession(context.Background(), options.Options.Region) serviceObj, err := modules.ServicesV3.Get(s, service, nil) if err != nil { return "", err