[Feat] Add Instance Action Fail Status #11

This commit is contained in:
Harry-zklcdc
2025-02-10 23:45:19 +08:00
parent cfbd7d24db
commit 249f99e5d9
22 changed files with 103 additions and 80 deletions
+1 -1
View File
@@ -85,7 +85,7 @@ func addHandler(ctx iris.Context) {
SshPasswd: crypto.Hex(16),
Status: models.InstanceReady,
Status: models.InstanceStatusReady,
}
result = database.DB.Create(&instance)
if result.Error != nil {
+8 -8
View File
@@ -45,17 +45,17 @@ func controlHandler(ctx iris.Context) {
return
}
if req.Action == instanceController.ActionStop && instance.Status != models.InstanceRunning && instance.Status != models.InstancePaused {
if req.Action == instanceController.ActionStop && instance.Status != models.InstanceStatusRunning && instance.Status != models.InstanceStatusPaused {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
if req.Action == instanceController.ActionPause && instance.Status != models.InstanceRunning {
if req.Action == instanceController.ActionPause && instance.Status != models.InstanceStatusRunning {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
if req.Action == instanceController.ActionStart && instance.Status != models.InstanceStopped && instance.Status != models.InstancePaused {
if req.Action == instanceController.ActionStart && instance.Status != models.InstanceStatusStopped && instance.Status != models.InstanceStatusPaused {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
@@ -71,7 +71,7 @@ func controlHandler(ctx iris.Context) {
}
status := instance.Status
if status == models.InstanceStopped && (req.Action == instanceController.ActionStart || req.Action == instanceController.ActionRestart) {
if status == models.InstanceStatusStopped && (req.Action == instanceController.ActionStart || req.Action == instanceController.ActionRestart) {
remainGpu, err := redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(server.ID)), int64(-instance.GpuCount)).Result()
if err != nil {
l.Error("incrby gpu num error: %v", err)
@@ -88,7 +88,7 @@ func controlHandler(ctx iris.Context) {
switch req.Action {
case instanceController.ActionStart:
result = database.DB.Model(&instance).Update("status", models.InstanceStarting)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusStarting)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstanceStartError, iris.StatusInternalServerError)
@@ -96,7 +96,7 @@ func controlHandler(ctx iris.Context) {
}
case instanceController.ActionPause:
result = database.DB.Model(&instance).Update("status", models.InstancePausing)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusPausing)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstancePauseError, iris.StatusInternalServerError)
@@ -104,7 +104,7 @@ func controlHandler(ctx iris.Context) {
}
case instanceController.ActionStop:
result = database.DB.Model(&instance).Update("status", models.InstanceStopping)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusStopping)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstanceStopError, iris.StatusInternalServerError)
@@ -113,7 +113,7 @@ func controlHandler(ctx iris.Context) {
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(server.ID)), int64(instance.GpuCount))
case instanceController.ActionRestart:
result = database.DB.Model(&instance).Update("status", models.InstanceRestarting)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusRestarting)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstanceRestartError, iris.StatusInternalServerError)
+2 -2
View File
@@ -36,14 +36,14 @@ func deleteHandler(ctx iris.Context) {
return
}
result = database.DB.Model(&instance).Update("status", models.InstanceDeleting)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusDeleting)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeServerSaveError, iris.StatusInternalServerError)
return
}
if status == models.InstanceRunning || status == models.InstancePaused {
if status == models.InstanceStatusRunning || status == models.InstanceStatusPaused {
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(instance.ServerID)), int64(instance.GpuCount))
}
redis.RawDB.IncrBy(ctx, "remain_volume:server:"+strconv.Itoa(int(instance.ServerID)), int64(instance.VolumeSize+30))
+2 -2
View File
@@ -57,7 +57,7 @@ func modifyHandler(ctx iris.Context) {
return
}
if instance.Status != models.InstanceStopped {
if instance.Status != models.InstanceStatusStopped {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
@@ -106,7 +106,7 @@ func modifyHandler(ctx iris.Context) {
}
status := instance.Status
result = database.DB.Model(&instance).Update("status", models.InstanceModifying)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusModifying)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeServerSaveError, iris.StatusInternalServerError)
+1
View File
@@ -34,4 +34,5 @@ func InitInstances(party router.Party) {
party.Post("/{id:uint}", middleware.SuperAdminCheck, modifyHandler)
party.Post("/{id:uint}/label", middleware.SuperAdminCheck, labelHandler)
party.Delete("/{id:uint}", middleware.SuperAdminCheck, deleteHandler)
party.Delete("/{id:uint}/force", middleware.SuperAdminCheck, forceDeleteHandler)
}
+1 -1
View File
@@ -80,7 +80,7 @@ func addHandler(ctx iris.Context) {
SshPasswd: crypto.Hex(16),
Status: models.InstanceReady,
Status: models.InstanceStatusReady,
}
result = database.DB.Create(&instance)
if result.Error != nil {
+8 -8
View File
@@ -51,17 +51,17 @@ func controlHandler(ctx iris.Context) {
return
}
if req.Action == instanceController.ActionStop && instance.Status != models.InstanceRunning && instance.Status != models.InstancePaused {
if req.Action == instanceController.ActionStop && instance.Status != models.InstanceStatusRunning && instance.Status != models.InstanceStatusPaused {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
if req.Action == instanceController.ActionPause && instance.Status != models.InstanceRunning {
if req.Action == instanceController.ActionPause && instance.Status != models.InstanceStatusRunning {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
if req.Action == instanceController.ActionStart && instance.Status != models.InstanceStopped && instance.Status != models.InstancePaused {
if req.Action == instanceController.ActionStart && instance.Status != models.InstanceStatusStopped && instance.Status != models.InstanceStatusPaused {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
@@ -77,7 +77,7 @@ func controlHandler(ctx iris.Context) {
}
status := instance.Status
if status == models.InstanceStopped && (req.Action == instanceController.ActionStart || req.Action == instanceController.ActionRestart) {
if status == models.InstanceStatusStopped && (req.Action == instanceController.ActionStart || req.Action == instanceController.ActionRestart) {
remainGpu, err := redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(server.ID)), int64(-instance.GpuCount)).Result()
if err != nil {
l.Error("incrby gpu num error: %v", err)
@@ -94,7 +94,7 @@ func controlHandler(ctx iris.Context) {
switch req.Action {
case instanceController.ActionStart:
result = database.DB.Model(&instance).Update("status", models.InstanceStarting)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusStarting)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstanceStartError, iris.StatusInternalServerError)
@@ -102,7 +102,7 @@ func controlHandler(ctx iris.Context) {
}
case instanceController.ActionPause:
result = database.DB.Model(&instance).Update("status", models.InstancePausing)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusPausing)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstancePauseError, iris.StatusInternalServerError)
@@ -110,7 +110,7 @@ func controlHandler(ctx iris.Context) {
}
case instanceController.ActionStop:
result = database.DB.Model(&instance).Update("status", models.InstanceStopping)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusStopping)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstanceStopError, iris.StatusInternalServerError)
@@ -119,7 +119,7 @@ func controlHandler(ctx iris.Context) {
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(server.ID)), int64(instance.GpuCount))
case instanceController.ActionRestart:
result = database.DB.Model(&instance).Update("status", models.InstanceRestarting)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusRestarting)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeInstanceRestartError, iris.StatusInternalServerError)
+2 -2
View File
@@ -40,14 +40,14 @@ func deleteHandler(ctx iris.Context) {
return
}
result = database.DB.Model(&instance).Update("status", models.InstanceDeleting)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusDeleting)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeServerSaveError, iris.StatusInternalServerError)
return
}
if status == models.InstanceRunning || status == models.InstancePaused {
if status == models.InstanceStatusRunning || status == models.InstanceStatusPaused {
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(instance.ServerID)), int64(instance.GpuCount))
}
redis.RawDB.IncrBy(ctx, "remain_volume:server:"+strconv.Itoa(int(instance.ServerID)), int64(instance.VolumeSize+30))
+2 -2
View File
@@ -63,7 +63,7 @@ func modifyHandler(ctx iris.Context) {
return
}
if instance.Status != models.InstanceStopped {
if instance.Status != models.InstanceStatusStopped {
middleware.Error(ctx, middleware.CodeInstanceStatusError, iris.StatusBadRequest)
return
}
@@ -112,7 +112,7 @@ func modifyHandler(ctx iris.Context) {
}
status := instance.Status
result = database.DB.Model(&instance).Update("status", models.InstanceModifying)
result = database.DB.Model(&instance).Update("status", models.InstanceStatusModifying)
if result.Error != nil {
l.Error("update instance status error: %v", result.Error)
middleware.Error(ctx, middleware.CodeServerSaveError, iris.StatusInternalServerError)