summaryrefslogtreecommitdiff
path: root/pkg/machine/qemu/machine.go
diff options
context:
space:
mode:
authorAshley Cui <acui@redhat.com>2021-04-28 14:18:28 -0400
committerAshley Cui <acui@redhat.com>2021-04-28 15:09:10 -0400
commit53057d5c20b2abf7ffc672972cbc83018ba0ed6c (patch)
treee0dbb98e5d80dc8726d5bf5ad8640be5edc60f02 /pkg/machine/qemu/machine.go
parent476c76f580d5cd092ff958765af36857b2a68d6c (diff)
downloadpodman-53057d5c20b2abf7ffc672972cbc83018ba0ed6c.tar.gz
podman-53057d5c20b2abf7ffc672972cbc83018ba0ed6c.tar.bz2
podman-53057d5c20b2abf7ffc672972cbc83018ba0ed6c.zip
Check if another VM is running on machine start
Only one VM can be up at a time. If another VM is running, or the current VM is running, error out on a podman machine start [NO TESTS NEEDED] Signed-off-by: Ashley Cui <acui@redhat.com>
Diffstat (limited to 'pkg/machine/qemu/machine.go')
-rw-r--r--pkg/machine/qemu/machine.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go
index fd22f465b..269a2a2da 100644
--- a/pkg/machine/qemu/machine.go
+++ b/pkg/machine/qemu/machine.go
@@ -519,3 +519,17 @@ func IsValidVMName(name string) (bool, error) {
}
return false, nil
}
+
+// CheckActiveVM checks if there is a VM already running
+func CheckActiveVM() (bool, string, error) {
+ vms, err := GetVMInfos()
+ if err != nil {
+ return false, "", errors.Wrap(err, "error checking VM active")
+ }
+ for _, vm := range vms {
+ if vm.Running {
+ return true, vm.Name, nil
+ }
+ }
+ return false, "", nil
+}