[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

View File

@ -376,37 +376,37 @@ const showMenu = (event, instance) => {
let newItem = { ...item }
switch (item.label) {
case '无卡模式开机':
if (instanceDetail.value.cpu_only === true || instanceDetail.value.status !== statusStoped.value) {
if (instanceDetail.value.cpu_only === true || instanceDetail.value.status !== statusStoped.value || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '开机':
if (instanceDetail.value.status === statusRunning.value || statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (instanceDetail.value.status === statusRunning.value || statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '关机':
if (instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '暂停':
if (instanceDetail.value.status === statusPaused.value || instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (instanceDetail.value.status === statusPaused.value || instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '重启实例':
if (statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '调整配置':
if (instanceDetail.value.status !== statusStoped.value) {
if (instanceDetail.value.status !== statusStoped.value || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '删除实例':
if (instanceDetail.value.status === statusDeleting.value) {
if (instanceDetail.value.status === statusDeleting.value || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break

View File

@ -386,37 +386,37 @@ const showMenu = (event, instance) => {
let newItem = { ...item }
switch (item.label) {
case '无卡模式开机':
if (instanceDetail.value.cpu_only === true || instanceDetail.value.status !== statusStoped.value) {
if (instanceDetail.value.cpu_only === true || instanceDetail.value.status !== statusStoped.value || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '开机':
if (instanceDetail.value.status === statusRunning.value || statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (instanceDetail.value.status === statusRunning.value || statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '关机':
if (instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '暂停':
if (instanceDetail.value.status === statusPaused.value || instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (instanceDetail.value.status === statusPaused.value || instanceDetail.value.status === statusStoped.value || statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '重启实例':
if (statusIng.indexOf(instanceDetail.value.status) !== -1) {
if (statusIng.indexOf(instanceDetail.value.status) !== -1 || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '调整配置':
if (instanceDetail.value.status !== statusStoped.value) {
if (instanceDetail.value.status !== statusStoped.value || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break
case '删除实例':
if (instanceDetail.value.status === statusDeleting.value) {
if (instanceDetail.value.status === statusDeleting.value || instanceDetail.value.status === statusFail.value) {
newItem.disabled = true
}
break

View File

@ -8,23 +8,34 @@ import (
)
type Status int
type Action int
const (
InstanceFail Status = -1
InstanceRunning Status = 0
InstancePaused Status = 1
InstanceStopped Status = 2
InstanceStatusFail Status = -1
InstanceStatusRunning Status = 0
InstanceStatusPaused Status = 1
InstanceStatusStopped Status = 2
InstanceReady Status = 3
InstanceStarting Status = 4
InstanceStopping Status = 5
InstancePausing Status = 6
InstanceRestarting Status = 7
InstanceModifying Status = 8
InstanceDeleting Status = 9
InstanceStatusReady Status = 3
InstanceStatusStarting Status = 4
InstanceStatusStopping Status = 5
InstanceStatusPausing Status = 6
InstanceStatusRestarting Status = 7
InstanceStatusModifying Status = 8
InstanceStatusDeleting Status = 9
)
var instanceIngStatus = []Status{InstanceReady, InstanceStarting, InstanceStopping, InstancePausing, InstanceRestarting, InstanceModifying, InstanceDeleting}
const (
InstanceActionCreate Action = 1
InstanceActionStart Action = 2
InstanceActionPause Action = 3
InstanceActionStop Action = 4
InstanceActionRestart Action = 5
InstanceActionModify Action = 6
InstanceActionDelete Action = 7
)
var instanceIngStatus = []Status{InstanceStatusReady, InstanceStatusStarting, InstanceStatusStopping, InstanceStatusPausing, InstanceStatusRestarting, InstanceStatusModifying, InstanceStatusDeleting}
type Instances struct {
ID uint `json:"id" gorm:"primary_key;autoIncrement;index"`
@ -46,6 +57,7 @@ type Instances struct {
GrafanaAddress string `json:"grafana_address" gorm:"type:varchar(255)"`
CodeServerAddress string `json:"code_server_address" gorm:"type:varchar(255)"`
Status Status `json:"status" gorm:"not null"` // Detail in Constants
FromAction Action `json:"from_action"`
Label string `json:"label" gorm:"type:varchar(255)"`

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 {

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)

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))

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)

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)
}

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 {

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)

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))

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)

View File

@ -37,6 +37,7 @@ func add(serverID uint, data Data) (err error) {
ctx := context.Background()
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(serverID)), int64(instance.GpuCount))
redis.RawDB.IncrBy(ctx, "remain_volume:server:"+strconv.Itoa(int(serverID)), int64(instance.VolumeSize+30))
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionCreate)
return
}

View File

@ -37,35 +37,37 @@ func control(serverID uint, data Data) (err error) {
return errors.New("instance status error")
}
if data.Action == instanceController.ActionPause && data.Status != models.InstanceRunning {
if data.Action == instanceController.ActionPause && data.Status != models.InstanceStatusRunning {
lc.Error("instance status error")
return errors.New("instance status error")
}
if data.Action == instanceController.ActionStart && data.Status != models.InstanceStopped && data.Status != models.InstancePaused {
if data.Action == instanceController.ActionStart && data.Status != models.InstanceStatusStopped && data.Status != models.InstanceStatusPaused {
lc.Error("instance status error")
return errors.New("instance status error")
}
switch data.Action {
case instanceController.ActionStart:
if data.Status == models.InstancePaused {
if data.Status == models.InstanceStatusPaused {
err = instanceController.Continue(&instance)
if err != nil {
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionStart)
lc.Error("instance continue error: %v", err)
return
}
} else if data.Status == models.InstanceStopped {
} else if data.Status == models.InstanceStatusStopped {
err = instanceController.Restart(&instance)
if err != nil {
lc.Error("instance restart error: %v", err)
ctx := context.Background()
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(serverID)), int64(instance.GpuCount))
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionRestart)
lc.Error("instance restart error: %v", err)
return
}
}
if data.Status == models.InstanceStopped && instance.Status == models.InstanceRunning {
if data.Status == models.InstanceStatusStopped && instance.Status == models.InstanceStatusRunning {
server.GpuUsed += instance.GpuCount
result = database.DB.Save(&server)
if result.Error != nil {
@ -79,6 +81,7 @@ func control(serverID uint, data Data) (err error) {
case instanceController.ActionPause:
err = instanceController.Pause(&instance)
if err != nil {
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionPause)
lc.Error("instance pause error: %v", err)
return
}
@ -88,14 +91,16 @@ func control(serverID uint, data Data) (err error) {
case instanceController.ActionStop:
err = instanceController.Stop(&instance)
if err != nil {
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionStop)
lc.Error("instance stop error: %v", err)
return
}
if (data.Status == models.InstanceRunning || data.Status == models.InstancePaused) && instance.Status == models.InstanceStopped {
if (data.Status == models.InstanceStatusRunning || data.Status == models.InstanceStatusPaused) && instance.Status == models.InstanceStatusStopped {
server.GpuUsed -= instance.GpuCount
result = database.DB.Save(&server)
if result.Error != nil {
database.DB.Model(&instance).Update("status", models.InstanceStatusFail)
lc.Error("save server error: %v", result.Error)
return result.Error
}
@ -106,14 +111,16 @@ func control(serverID uint, data Data) (err error) {
case instanceController.ActionRestart:
err = instanceController.Restart(&instance)
if err != nil {
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionRestart)
lc.Error("instance restart error: %v", err)
return
}
if data.Status == models.InstanceStopped && instance.Status == models.InstanceRunning {
if data.Status == models.InstanceStatusStopped && instance.Status == models.InstanceStatusRunning {
server.GpuUsed += instance.GpuCount
result = database.DB.Save(&server)
if result.Error != nil {
database.DB.Model(&instance).Update("status", models.InstanceStatusFail)
lc.Error("save server error: %v", result.Error)
return result.Error
}

View File

@ -35,15 +35,16 @@ func delete(serverID uint, data Data) (err error) {
if err != nil {
lc.Error("delete instance error: %v", err)
ctx := context.Background()
if data.Status == models.InstanceRunning || data.Status == models.InstancePaused {
if data.Status == models.InstanceStatusRunning || data.Status == models.InstanceStatusPaused {
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(serverID)), int64(-instance.GpuCount))
}
redis.RawDB.IncrBy(ctx, "remain_volume:server:"+strconv.Itoa(int(serverID)), int64(-instance.VolumeSize-30))
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionDelete)
return
}
server.VolumeUsed -= instance.VolumeSize + 30
if data.Status == models.InstanceRunning || data.Status == models.InstancePaused {
if data.Status == models.InstanceStatusRunning || data.Status == models.InstanceStatusPaused {
server.GpuUsed -= instance.GpuCount
}
result = database.DB.Save(&server)

View File

@ -38,7 +38,7 @@ func modify(serverID uint, data Data) (err error) {
return result.Error
}
if data.Status != models.InstanceStopped {
if data.Status != models.InstanceStatusStopped {
lc.Error("instance status error")
return errors.New("instance status error")
}
@ -60,14 +60,15 @@ func modify(serverID uint, data Data) (err error) {
err = instanceController.Patch(&instance, gpuCount, volumeSize, data.CpuOnly)
if err != nil {
lc.Error("patch instance error: %v", err)
ctx := context.Background()
redis.RawDB.IncrBy(ctx, "remain_gpu:server:"+strconv.Itoa(int(serverID)), int64(gpuCount))
redis.RawDB.IncrBy(ctx, "remain_volume:server:"+strconv.Itoa(int(serverID)), int64(volumeSize-oldVolumeSize))
database.DB.Model(&instance).Update("status", models.InstanceStatusFail).Update("from_action", models.InstanceActionModify)
lc.Error("patch instance error: %v", err)
return
}
if data.Status == models.InstanceStopped {
if data.Status == models.InstanceStatusStopped {
server.GpuUsed += instance.GpuCount
}
server.VolumeUsed += instance.VolumeSize - oldVolumeSize

View File

@ -12,7 +12,7 @@ import (
func Continue(instance *models.Instances) (err error) {
l.SetFunction("Start")
instance.Status = models.InstanceStarting
instance.Status = models.InstanceStatusStarting
result := database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)
@ -34,7 +34,7 @@ func Continue(instance *models.Instances) (err error) {
return err
}
instance.Status = models.InstanceRunning
instance.Status = models.InstanceStatusRunning
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)

View File

@ -8,7 +8,7 @@ import (
func Delete(instance *models.Instances) (err error) {
l.SetFunction("Delete")
instance.Status = models.InstanceDeleting
instance.Status = models.InstanceStatusDeleting
result := database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)

View File

@ -34,7 +34,7 @@ type volumePatchStruct struct {
func Patch(instance *models.Instances, gpuCount, volumeSize int, cpuOnly bool) (err error) {
l.SetFunction("Patch")
instance.Status = models.InstanceModifying
instance.Status = models.InstanceStatusModifying
result := database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)
@ -42,7 +42,7 @@ func Patch(instance *models.Instances, gpuCount, volumeSize int, cpuOnly bool) (
}
if gpuCount == instance.GpuCount && volumeSize == instance.VolumeSize && cpuOnly == instance.CpuOnly {
instance.Status = models.InstanceStopped
instance.Status = models.InstanceStatusStopped
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)
@ -113,7 +113,7 @@ func Patch(instance *models.Instances, gpuCount, volumeSize int, cpuOnly bool) (
instance.CpuOnly = true
instance.GpuCount = 0
instance.Status = models.InstanceRunning
instance.Status = models.InstanceStatusRunning
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)
@ -162,7 +162,7 @@ func Patch(instance *models.Instances, gpuCount, volumeSize int, cpuOnly bool) (
instance.CpuOnly = false
instance.GpuCount = gpuCount
instance.Status = models.InstanceRunning
instance.Status = models.InstanceStatusRunning
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)

View File

@ -12,7 +12,7 @@ import (
func Pause(instance *models.Instances) (err error) {
l.SetFunction("Pause")
instance.Status = models.InstancePausing
instance.Status = models.InstanceStatusPausing
result := database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)
@ -34,7 +34,7 @@ func Pause(instance *models.Instances) (err error) {
return err
}
instance.Status = models.InstancePaused
instance.Status = models.InstanceStatusPaused
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)

View File

@ -12,10 +12,10 @@ import (
func Restart(instance *models.Instances) (err error) {
l.SetFunction("Restart")
if instance.Status == models.InstanceStopped || instance.Status == models.InstancePaused {
instance.Status = models.InstanceStarting
if instance.Status == models.InstanceStatusStopped || instance.Status == models.InstanceStatusPaused {
instance.Status = models.InstanceStatusStarting
} else {
instance.Status = models.InstanceRestarting
instance.Status = models.InstanceStatusRestarting
}
result := database.DB.Save(&instance)
if result.Error != nil {
@ -65,7 +65,7 @@ func Restart(instance *models.Instances) (err error) {
instance.GrafanaAddress = server.IP + ":" + portBindings["3000"]
instance.CodeServerAddress = server.IP + ":" + portBindings["8080"]
instance.Status = models.InstanceRunning
instance.Status = models.InstanceStatusRunning
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)

View File

@ -12,7 +12,7 @@ import (
func Stop(instance *models.Instances) (err error) {
l.SetFunction("Stop")
instance.Status = models.InstanceStopping
instance.Status = models.InstanceStatusStopping
result := database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)
@ -34,7 +34,7 @@ func Stop(instance *models.Instances) (err error) {
return err
}
instance.Status = models.InstanceStopped
instance.Status = models.InstanceStatusStopped
result = database.DB.Save(&instance)
if result.Error != nil {
l.Error("save instance error: %v", result.Error)