fix caller input nil panic

This commit is contained in:
Zexi Li
2019-11-27 15:06:33 +08:00
committed by Zhang Dongliang
parent b6fa205f18
commit 0366347728
3 changed files with 9 additions and 8 deletions
+1 -2
View File
@@ -8,7 +8,6 @@ import (
"yunion.io/x/log"
apis "yunion.io/x/onecloud/pkg/apis/ansible"
dev_options "yunion.io/x/onecloud/pkg/devtool/options"
"yunion.io/x/onecloud/pkg/mcclient"
"yunion.io/x/onecloud/pkg/mcclient/auth"
"yunion.io/x/onecloud/pkg/mcclient/modules"
@@ -46,7 +45,7 @@ func getServerAttrs(ID string, s *mcclient.ClientSession) (map[string]string, er
func getInfluxdbURL() (string, error) {
s := auth.GetAdminSession(nil, "", "")
url, err := s.GetServiceURL("influxdb", dev_options.Options.SessionEndpointType)
url, err := s.GetServiceURL("influxdb", "")
if err != nil {
log.Errorf("get influxdb Endpoint error %s", err)
+5 -6
View File
@@ -24,7 +24,6 @@ type SVSCronjob struct {
Enabled bool `nullable:"true" create:"optional" list:"user" update:"user" default:"false"`
}
// TODO: 为 AnsiblePlaybookID, TemplateID, ServerID 加索引
type SCronjob struct {
SVSCronjob
AnsiblePlaybookID string `width:"36" nullable:"false" create:"required" index:"true" list:"user" update:"user"`
@@ -40,7 +39,6 @@ type SCronjobManager struct {
var (
CronjobManager *SCronjobManager
DevToolCronManager *cronman.SCronJobManager
Session *mcclient.ClientSession
)
func init() {
@@ -101,10 +99,9 @@ func AddOneCronjob(item *SCronjob, s *mcclient.ClientSession) error {
return nil
}
func (man *SCronjobManager) InitializeData() error {
if Session == nil {
Session = auth.GetAdminSession(nil, "", "")
}
func InitializeCronjobs() error {
Session := auth.GetAdminSession(nil, "", "")
go func() {
items := make([]SCronjob, 0)
@@ -122,6 +119,7 @@ func (man *SCronjobManager) InitializeData() error {
}
func (job *SCronjob) PostCreate(ctx context.Context, userCred mcclient.TokenCredential, ownerID mcclient.IIdentityProvider, query jsonutils.JSONObject, data jsonutils.JSONObject) {
Session := auth.GetAdminSession(nil, "", "")
job.SStandaloneResourceBase.PostCreate(ctx, userCred, nil, query, data)
AddOneCronjob(job, Session)
}
@@ -131,6 +129,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, "", "")
job.SStandaloneResourceBase.PostUpdate(ctx, userCred, query, data)
DevToolCronManager.Remove(job.Id)
AddOneCronjob(job, Session)
+3
View File
@@ -52,6 +52,9 @@ func StartService() {
app := app_common.InitApp(&opts.BaseOptions, false)
InitHandlers(app)
db.EnsureAppInitSyncDB(app, dbOpts, models.InitDB)
models.InitializeCronjobs()
app_common.ServeForeverWithCleanup(app, baseOpts, func() {
cloudcommon.CloseDB()
})