initial commit
This commit is contained in:
commit
501d579a90
35 changed files with 11357 additions and 0 deletions
112
serverstatus.go
Normal file
112
serverstatus.go
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
// Copyright (C) 2020 Marius Schellenberger
|
||||
|
||||
package pve
|
||||
|
||||
type ServerStatus string
|
||||
|
||||
const (
|
||||
ServerStatusInitializing ServerStatus = "initializing"
|
||||
ServerStatusStarting ServerStatus = "starting"
|
||||
ServerStatusStopping ServerStatus = "stopping"
|
||||
ServerStatusRebooting ServerStatus = "rebooting"
|
||||
ServerStatusRunning ServerStatus = "running"
|
||||
ServerStatusStopped ServerStatus = "stopped"
|
||||
ServerStatusDeleting ServerStatus = "deleting"
|
||||
ServerStatusUnknown ServerStatus = "unknown"
|
||||
|
||||
ServerStatusBackup ServerStatus = "backup"
|
||||
ServerStatusMigrating ServerStatus = "migrating"
|
||||
ServerStatusSnapshoting ServerStatus = "snapshoting"
|
||||
ServerStatusRollback ServerStatus = "rollback"
|
||||
ServerStatusSespending ServerStatus = "suspending"
|
||||
ServerStatusSespended ServerStatus = "suspended"
|
||||
ServerStatusResuming ServerStatus = "resuming"
|
||||
)
|
||||
|
||||
func ServerStatusFromLock(status, lock string) ServerStatus {
|
||||
switch lock {
|
||||
case "backup":
|
||||
return ServerStatusBackup
|
||||
case "clone", "create":
|
||||
return ServerStatusInitializing
|
||||
case "rollback":
|
||||
return ServerStatusRollback
|
||||
case "migrate":
|
||||
return ServerStatusMigrating
|
||||
case "snapshot", "snapshot-delete":
|
||||
return ServerStatusSnapshoting
|
||||
case "suspending":
|
||||
return ServerStatusSespending
|
||||
case "suspended":
|
||||
return ServerStatusSespended
|
||||
}
|
||||
switch status {
|
||||
case "running":
|
||||
return ServerStatusRunning
|
||||
case "stopped":
|
||||
return ServerStatusStopped
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
}
|
||||
|
||||
func ServerStatusFromTask(t *Task) ServerStatus {
|
||||
if t == nil {
|
||||
return ServerStatusUnknown
|
||||
}
|
||||
switch t.Type {
|
||||
case "qmsuspend":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusSespending
|
||||
}
|
||||
if t.Exitstatus == TaskExitStatusOK {
|
||||
return ServerStatusSespended
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
case "qmresume":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusResuming
|
||||
}
|
||||
if t.Exitstatus == TaskExitStatusOK {
|
||||
return ServerStatusRunning
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
case "qmclone", "qmcreate":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusInitializing
|
||||
}
|
||||
if t.Exitstatus == TaskExitStatusOK {
|
||||
return ServerStatusStopped
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
case "qmreboot", "qmreset":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusRebooting
|
||||
}
|
||||
if t.Exitstatus == TaskExitStatusOK {
|
||||
return ServerStatusRunning
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
case "qmstart":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusStarting
|
||||
}
|
||||
if t.Exitstatus == TaskExitStatusOK {
|
||||
return ServerStatusRunning
|
||||
}
|
||||
return ServerStatusStopped
|
||||
case "qmstop", "qmshutdown":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusStopping
|
||||
}
|
||||
if t.Exitstatus == TaskExitStatusOK {
|
||||
return ServerStatusStopped
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
case "qmdestroy":
|
||||
if t.Status == TaskStatusRunning {
|
||||
return ServerStatusDeleting
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
}
|
||||
return ServerStatusUnknown
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue