fix(region): standardization stage name (#18299)

This commit is contained in:
屈轩
2023-10-17 12:26:27 -05:00
committed by GitHub
parent 111fc16f94
commit 3961c28168
11 changed files with 34 additions and 38 deletions
+17 -21
View File
@@ -441,36 +441,32 @@ func execITask(taskValue reflect.Value, task *STask, odata jsonutils.JSONObject,
data = jsonutils.NewDict()
}
var stageName string
stageName := task.Stage
if taskFailed {
stageName = fmt.Sprintf("%sFailed", task.Stage)
} else {
stageName = task.Stage
if strings.Contains(stageName, "_") {
stageName = fmt.Sprintf("%s_failed", task.Stage)
}
}
if strings.Contains(stageName, "_") {
stageName = utils.Kebab2Camel(stageName, "_")
}
funcValue := taskValue.MethodByName(stageName)
if !funcValue.IsValid() || funcValue.IsNil() {
log.Debugf("Stage %s not found, try kebab to camel and find again", stageName)
msg := fmt.Sprintf("Stage %s not found", stageName)
if taskFailed {
stageName = fmt.Sprintf("%s_failed", task.Stage)
}
stageName = utils.Kebab2Camel(stageName, "_")
funcValue = taskValue.MethodByName(stageName)
if !funcValue.IsValid() || funcValue.IsNil() {
msg := fmt.Sprintf("Stage %s not found", stageName)
if taskFailed {
// failed handler is optional, ignore the error
log.Warningf(msg)
msg, _ = data.GetString()
} else {
log.Errorf(msg)
}
task.SetStageFailed(ctx, jsonutils.NewString(msg))
task.SaveRequestContext(&ctxData)
return
// failed handler is optional, ignore the error
log.Warningf(msg)
msg, _ = data.GetString()
} else {
log.Errorf(msg)
}
task.SetStageFailed(ctx, jsonutils.NewString(msg))
task.SaveRequestContext(&ctxData)
return
}
objManager := db.GetModelManager(task.ObjName)
+2 -2
View File
@@ -87,10 +87,10 @@ func (drv *SBaseGuestDriver) OnGuestCreateTaskComplete(ctx context.Context, gues
}
}
if jsonutils.QueryBoolean(task.GetParams(), "auto_start", false) {
task.SetStage("on_auto_start_guest", nil)
task.SetStage("OnAutoStartGuest", nil)
return guest.StartGueststartTask(ctx, task.GetUserCred(), nil, task.GetTaskId())
} else {
task.SetStage("on_sync_status_complete", nil)
task.SetStage("OnSyncStatusComplete", nil)
return guest.StartSyncstatus(ctx, task.GetUserCred(), task.GetTaskId())
}
}
@@ -53,7 +53,7 @@ func (self *BaremetalConvertHypervisorTask) OnInit(ctx context.Context, obj db.I
baremetal.SetStatus(self.UserCred, api.BAREMETAL_CONVERTING, "")
self.SetStage("on_guest_deploy_complete", nil)
self.SetStage("OnGuestDeployComplete", nil)
guest := self.getGuest()
params, _ := self.Params.Get("server_params")
+1 -1
View File
@@ -110,7 +110,7 @@ func (self *CloudAccountSyncInfoTask) OnCloudaccountSyncReady(ctx context.Contex
cloudproviders := cloudaccount.GetEnabledCloudproviders()
if len(cloudproviders) > 0 {
self.SetStage("on_cloudaccount_sync_complete", nil)
self.SetStage("OnCloudaccountSyncComplete", nil)
for i := range cloudproviders {
cloudproviders[i].StartSyncCloudProviderInfoTask(ctx, self.UserCred, &syncRange, self.GetId())
}
+1 -1
View File
@@ -66,7 +66,7 @@ func (self *GuestAttachDiskTask) OnInit(ctx context.Context, obj db.IStandaloneM
return
}
disk.SetStatus(self.UserCred, api.DISK_ATTACHING, "Disk attach")
self.SetStage("on_sync_config_complete", nil)
self.SetStage("OnSyncConfigComplete", nil)
guest.GetDriver().RequestAttachDisk(ctx, guest, disk, self)
}
@@ -346,7 +346,7 @@ func (task *GuestChangeConfigTask) OnGuestChangeCpuMemSpecFinish(ctx context.Con
func (task *GuestChangeConfigTask) OnSyncConfigComplete(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
guest := obj.(*models.SGuest)
task.SetStage("on_sync_status_complete", nil)
task.SetStage("OnSyncStatusComplete", nil)
err := guest.StartSyncstatus(ctx, task.UserCred, task.GetTaskId())
if err != nil {
task.markStageFailed(ctx, guest, jsonutils.NewString(fmt.Sprintf("StartSyncstatus fail %s", err)))
+4 -4
View File
@@ -35,7 +35,7 @@ type GuestCreateDiskTask struct {
}
func (self *GuestCreateDiskTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
self.SetStage("on_disk_prepared", nil)
self.SetStage("OnDiskPrepared", nil)
guest := obj.(*models.SGuest)
err := guest.GetDriver().DoGuestCreateDisksTask(ctx, guest, self)
if err != nil {
@@ -60,7 +60,7 @@ type KVMGuestCreateDiskTask struct {
}
func (self *KVMGuestCreateDiskTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
self.SetStage("on_kvm_disk_prepared", nil)
self.SetStage("OnKvmDiskPrepared", nil)
self.OnKvmDiskPrepared(ctx, obj, data)
}
@@ -126,7 +126,7 @@ func (self *KVMGuestCreateDiskTask) OnKvmDiskPrepared(ctx context.Context, obj d
if diskReady {
guest := obj.(*models.SGuest)
if guest.Status == api.VM_RUNNING {
self.SetStage("on_config_sync_complete", nil)
self.SetStage("OnConfigSyncComplete", nil)
err := guest.StartSyncTask(ctx, self.UserCred, false, self.GetTaskId())
if err != nil {
self.SetStageFailed(ctx, jsonutils.NewString(err.Error()))
@@ -172,7 +172,7 @@ type ManagedGuestCreateDiskTask struct {
}
func (self *ManagedGuestCreateDiskTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
self.SetStage("on_managed_disk_prepared", nil)
self.SetStage("OnManagedDiskPrepared", nil)
self.OnManagedDiskPrepared(ctx, obj, data)
}
+3 -3
View File
@@ -43,7 +43,7 @@ func init() {
func (self *GuestCreateTask) OnInit(ctx context.Context, obj db.IStandaloneModel, body jsonutils.JSONObject) {
guest := obj.(*models.SGuest)
guest.SetStatus(self.UserCred, api.VM_CREATE_NETWORK, "")
self.SetStage("on_wait_guest_networks_ready", nil)
self.SetStage("OnWaitGuestNetworksReady", nil)
self.OnWaitGuestNetworksReady(ctx, obj, nil)
}
@@ -218,10 +218,10 @@ func (self *GuestCreateTask) OnDeployEipComplete(ctx context.Context, obj db.ISt
}
if jsonutils.QueryBoolean(self.GetParams(), "auto_start", false) {
self.SetStage("on_auto_start_guest", nil)
self.SetStage("OnAutoStartGuest", nil)
guest.StartGueststartTask(ctx, self.GetUserCred(), nil, self.GetTaskId())
} else {
self.SetStage("on_sync_status_complete", nil)
self.SetStage("OnSyncStatusComplete", nil)
guest.StartSyncstatus(ctx, self.GetUserCred(), self.GetTaskId())
}
}
@@ -33,7 +33,7 @@ func init() {
}
func (self *GuestDetachAllDisksTask) OnInit(ctx context.Context, obj db.IStandaloneModel, data jsonutils.JSONObject) {
self.SetStage("on_disk_delete_complete", nil)
self.SetStage("OnDiskDeleteComplete", nil)
self.OnDiskDeleteComplete(ctx, obj, data)
}
@@ -71,7 +71,7 @@ func (self *GuestSaveGuestImageTask) OnSaveRootImageComplete(ctx context.Context
}
if restart, _ := self.GetParams().Bool("auto_start"); restart {
self.SetStage("on_start_server_complete", nil)
self.SetStage("OnStartServerComplete", nil)
guest.StartGueststartTask(ctx, self.GetUserCred(), nil, self.GetTaskId())
} else {
guest.SetStatus(self.UserCred, api.VM_READY, "")
+2 -2
View File
@@ -61,7 +61,7 @@ func (self *GuestSyncConfTask) OnSyncComplete(ctx context.Context, obj db.IStand
self.StartRestartNetworkTask(ctx, guest)
} else if data.Contains("task") {
// XXX this is only applied to KVM, which will call task_complete twice
self.SetStage("on_disk_sync_complete", nil)
self.SetStage("OnDiskSyncComplete", nil)
} else {
self.OnDiskSyncComplete(ctx, guest, data)
}
@@ -129,7 +129,7 @@ func (self *GuestSyncConfTask) OnDiskSyncComplete(ctx context.Context, guest *mo
if jsonutils.QueryBoolean(self.Params, "without_sync_status", false) {
self.OnSyncStatusComplete(ctx, guest, nil)
} else {
self.SetStage("on_sync_status_complete", nil)
self.SetStage("OnSyncStatusComplete", nil)
guest.StartSyncstatus(ctx, self.GetUserCred(), self.GetTaskId())
}
}