From 53057d5c20b2abf7ffc672972cbc83018ba0ed6c Mon Sep 17 00:00:00 2001 From: Ashley Cui Date: Wed, 28 Apr 2021 14:18:28 -0400 Subject: 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 --- pkg/machine/qemu/machine.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'pkg/machine/qemu') 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 +} -- cgit v1.2.3-54-g00ecf