From 279a6234670733416db0de96deaed6d75d7e8a20 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Mon, 10 Apr 2023 17:10:38 +0800 Subject: [PATCH] fix(devtool): panic occurred cause of nil ctx --- pkg/apigateway/handler/syslog_webservices.go | 6 +++--- pkg/devtool/models/devtoolcronjob.go | 8 ++++---- pkg/devtool/service/service.go | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkg/apigateway/handler/syslog_webservices.go b/pkg/apigateway/handler/syslog_webservices.go index d816a10d45..79d1cb9566 100644 --- a/pkg/apigateway/handler/syslog_webservices.go +++ b/pkg/apigateway/handler/syslog_webservices.go @@ -132,11 +132,11 @@ func handleSyslogWebServiceMessage(ctx context.Context, w http.ResponseWriter, r httperrors.ForbiddenError(ctx, w, "syslog webservice not enabled") return } - resp := fetchSyslogMessage(r) + resp := fetchSyslogMessage(ctx, r) appsrv.SendJSON(w, resp) } -func fetchSyslogMessage(r *http.Request) jsonutils.JSONObject { +func fetchSyslogMessage(ctx context.Context, r *http.Request) jsonutils.JSONObject { token := r.FormValue("token") date := r.FormValue("date") eventId := r.FormValue("eventId") @@ -170,7 +170,7 @@ func fetchSyslogMessage(r *http.Request) jsonutils.JSONObject { params.Add(jsonutils.NewString(moduleType), "service") } - sess := auth.GetAdminSession(nil, "") + sess := auth.GetAdminSession(ctx, "") logs, err := modules.Actions.List(sess, params) if err != nil { ret.Code = 2 diff --git a/pkg/devtool/models/devtoolcronjob.go b/pkg/devtool/models/devtoolcronjob.go index 6b41c93424..54771e2789 100644 --- a/pkg/devtool/models/devtoolcronjob.go +++ b/pkg/devtool/models/devtoolcronjob.go @@ -110,10 +110,10 @@ func AddOneCronjob(item *SCronjob, s *mcclient.ClientSession) error { return nil } -func InitializeCronjobs() error { +func InitializeCronjobs(ctx context.Context) error { DevToolCronManager = cronman.InitCronJobManager(true, 8) DevToolCronManager.Start() - Session := auth.GetAdminSession(nil, "") + Session := auth.GetAdminSession(ctx, "") 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(ctx, "") 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(ctx, "") job.SStandaloneResourceBase.PostUpdate(ctx, userCred, query, data) DevToolCronManager.Remove(job.Id) AddOneCronjob(job, Session) diff --git a/pkg/devtool/service/service.go b/pkg/devtool/service/service.go index 03f67c029d..2521a71d1c 100644 --- a/pkg/devtool/service/service.go +++ b/pkg/devtool/service/service.go @@ -54,7 +54,7 @@ func StartService() { InitHandlers(app) db.EnsureAppSyncDB(app, dbOpts, models.InitDB) - models.InitializeCronjobs() + models.InitializeCronjobs(app.GetContext()) app_common.ServeForeverWithCleanup(app, baseOpts, func() { cloudcommon.CloseDB()