automation-tests/pkg/machine/qemu
Valentin Rothberg c341a0ffe0 machine: QEMU: lock VM on start
Lock the VM on start.  If the machine is in the "starting" state we know
that a previous start has failed and guide the user into resolving the
issue.

Concurrent starts will busy wait and return the expected "already
running" error.

NOTE: this change is only looking at the start issue (#18662).  Other
commands such as stop and update should also lock and will be updated
in a future change.  I expect the underlying issue to apply to all
machine providers, not only QEMU.  It's desirable to aim for extending
the machine interface to also allow to `Lock()` and `Unlock()`.  After
acquiring the lock, the VM should automatically be reloaded/updated.

[NO NEW TESTS NEEDED]

Fixes: #18662
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2023-07-27 14:16:02 +02:00
..
claim_darwin.go Replace deprecated ioutil 2022-09-20 15:34:27 -04:00
claim_unsupported.go Fixes isRootfull check using qemu machine on Windows 2022-08-24 18:17:18 +03:00
config.go machine: QEMU: lock VM on start 2023-07-27 14:16:02 +02:00
config_test.go pkg/machine: add missing build tags to tests 2022-07-04 18:09:30 +02:00
machine.go machine: QEMU: lock VM on start 2023-07-27 14:16:02 +02:00
machine_test.go refactor(machine): remove hard code 2023-06-21 18:49:12 +08:00
machine_unix.go Support for Windows paths in the source position of the volume mounts 2023-01-30 23:33:33 +02:00
machine_unsupported.go bump golangci-lint to v1.49.0 2022-10-17 09:19:41 +02:00
machine_windows.go Support for Windows paths in the source position of the volume mounts 2023-01-30 23:33:33 +02:00
options_darwin.go Fix #11418 - Default TMPDIR to /tmp on OS X 2021-09-04 08:40:57 +02:00
options_darwin_amd64.go Fix warning of unsupported feature on MacOS 2021-09-06 09:55:24 -07:00
options_darwin_arm64.go Revert "Resolve symlink path for qemu directory if possible" 2023-04-24 10:06:43 -06:00
options_freebsd.go pkg: Build pkg/machine on FreeBSD 2022-08-13 07:53:34 +01:00
options_freebsd_amd64.go pkg: Build pkg/machine on FreeBSD 2022-08-13 07:53:34 +01:00
options_freebsd_arm64.go pkg/machine: Make this build on FreeBSD/arm64 2022-10-31 15:13:49 +00:00
options_linux.go bump go module to version 4 2022-01-18 12:47:07 +01:00
options_linux_amd64.go Add machine support for more Linux distros 2021-03-28 13:35:56 +02:00
options_linux_arm64.go Add machine support for qemu-system-aarch64 2021-03-29 21:53:48 +02:00
options_windows.go Improved Windows compatibility for machine command 2022-08-29 16:53:42 +03:00
options_windows_amd64.go Updated options for QEMU on Windows hosts 2023-01-09 23:58:47 +02:00
options_windows_arm64.go Updated options for QEMU on Windows hosts 2023-01-09 23:58:47 +02:00