From 3ed5fd30b2af64415fdc459c5e7e374845595c70 Mon Sep 17 00:00:00 2001 From: mhf Date: Fri, 4 Nov 2022 15:49:24 +0800 Subject: [PATCH] fix(region):modelartsTimeout --- pkg/apis/compute/modelarts_pool.go | 1 + pkg/compute/tasks/modelarts_pool_change_config_task.go | 5 ++++- pkg/compute/tasks/modelarts_pool_create_task.go | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/apis/compute/modelarts_pool.go b/pkg/apis/compute/modelarts_pool.go index dd12e9d329..efd581e881 100644 --- a/pkg/apis/compute/modelarts_pool.go +++ b/pkg/apis/compute/modelarts_pool.go @@ -29,6 +29,7 @@ const ( MODELARTS_POOL_STATUS_CHANGE_CONFIG_FAILED = "change_config_failed" MODELARTS_POOL_STATUS_ERROR = "error" MODELARTS_POOL_STATUS_UNKNOWN = "unknown" + MODELARTS_POOL_STATUS_TIMEOUT = "timeout" ) type ModelartsPoolCreateInput struct { diff --git a/pkg/compute/tasks/modelarts_pool_change_config_task.go b/pkg/compute/tasks/modelarts_pool_change_config_task.go index 597360885e..fb3bd66a6c 100644 --- a/pkg/compute/tasks/modelarts_pool_change_config_task.go +++ b/pkg/compute/tasks/modelarts_pool_change_config_task.go @@ -65,7 +65,10 @@ func (self *ModelartsPoolChangeConfigTask) OnInit(ctx context.Context, obj db.IS time.Sleep(30 * time.Second) err = cloudprovider.WaitMultiStatus(iMp, []string{api.MODELARTS_POOL_STATUS_RUNNING, api.MODELARTS_POOL_STATUS_CHANGE_CONFIG_FAILED}, 15*time.Second, 2*time.Hour) if err != nil { - self.taskFailed(ctx, pool, errors.Wrapf(err, "WaitStatusWithDelay")) + pool.SetStatus(self.UserCred, api.MODELARTS_POOL_STATUS_TIMEOUT, err.Error()) + db.OpsLog.LogEvent(pool, db.ACT_CHANGE_CONFIG, err, self.UserCred) + logclient.AddActionLogWithStartable(self, pool, logclient.ACT_CHANGE_CONFIG, err, self.UserCred, false) + self.SetStageFailed(ctx, jsonutils.NewString(err.Error())) return } pool.SyncWithCloudModelartsPool(ctx, self.GetUserCred(), iMp) diff --git a/pkg/compute/tasks/modelarts_pool_create_task.go b/pkg/compute/tasks/modelarts_pool_create_task.go index b290bdb883..1a0180cb73 100644 --- a/pkg/compute/tasks/modelarts_pool_create_task.go +++ b/pkg/compute/tasks/modelarts_pool_create_task.go @@ -40,6 +40,7 @@ func init() { func (self *ModelartsPoolCreateTask) taskFailed(ctx context.Context, pool *models.SModelartsPool, err error) { pool.SetStatus(self.UserCred, api.MODELARTS_POOL_STATUS_CREATE_FAILED, err.Error()) + db.OpsLog.LogEvent(pool, db.ACT_ALLOCATE, err, self.UserCred) logclient.AddActionLogWithStartable(self, pool, logclient.ACT_ALLOCATE, err, self.UserCred, false) self.SetStageFailed(ctx, jsonutils.NewString(err.Error())) } @@ -74,7 +75,10 @@ func (self *ModelartsPoolCreateTask) OnInit(ctx context.Context, obj db.IStandal time.Sleep(30 * time.Second) err = cloudprovider.WaitMultiStatus(ipool, []string{api.MODELARTS_POOL_STATUS_RUNNING, api.MODELARTS_POOL_STATUS_CREATE_FAILED}, 15*time.Second, 2*time.Hour) if err != nil { - self.taskFailed(ctx, pool, errors.Wrapf(err, "db.WaitStatusWithDelay")) + pool.SetStatus(self.UserCred, api.MODELARTS_POOL_STATUS_TIMEOUT, err.Error()) + db.OpsLog.LogEvent(pool, db.ACT_ALLOCATE, err, self.UserCred) + logclient.AddActionLogWithStartable(self, pool, logclient.ACT_ALLOCATE, err, self.UserCred, false) + self.SetStageFailed(ctx, jsonutils.NewString(err.Error())) return } pool.SetStatus(self.GetUserCred(), api.MODELARTS_POOL_STATUS_RUNNING, "")