[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 05/13] tests/vm: proper guest shutdown
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH v2 05/13] tests/vm: proper guest shutdown |
Date: |
Fri, 10 May 2019 12:46:25 +0200 |
When not running in snapshot mode ask the guest to poweroff and wait for
this to finish instead of simply quitting qemu, so the guest can flush
pending updates to disk.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
tests/vm/basevm.py | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 89bfa0fe4425..cae507323596 100755
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -51,6 +51,8 @@ class BaseVM(object):
name = "#base"
# The guest architecture, to be overridden by subclasses
arch = "#arch"
+ # command to halt the guest, can be overridden by subclasses
+ poweroff = "poweroff"
def __init__(self, debug=False, vcpus=None):
self._guest = None
self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-",
@@ -201,6 +203,10 @@ class BaseVM(object):
def wait(self):
self._guest.wait()
+ def graceful_shutdown(self):
+ self.ssh_root(self.poweroff)
+ self._guest.wait()
+
def qmp(self, *args, **kwargs):
return self._guest.qmp(*args, **kwargs)
@@ -277,11 +283,13 @@ def main(vmcls):
traceback.print_exc()
return 2
- if args.interactive:
- if vm.ssh(*cmd) == 0:
- return 0
+ exitcode = 0
+ if vm.ssh(*cmd) != 0:
+ exitcode = 3
+ if exitcode != 0 and args.interactive:
vm.ssh()
- return 3
- else:
- if vm.ssh(*cmd) != 0:
- return 3
+
+ if not args.snapshot:
+ vm.graceful_shutdown()
+
+ return exitcode
--
2.18.1
- [Qemu-devel] [PATCH v2 08/13] tests/vm: serial console support helpers, (continued)
- [Qemu-devel] [PATCH v2 03/13] tests/vm: use ssh with pty unconditionally, Gerd Hoffmann, 2019/05/10
- [Qemu-devel] [PATCH v2 11/13] tests/vm: netbsd autoinstall, using serial console, Gerd Hoffmann, 2019/05/10
- [Qemu-devel] [PATCH v2 06/13] tests/vm: add vm-boot-{ssh, serial}-<guest> targets, Gerd Hoffmann, 2019/05/10
- [Qemu-devel] [PATCH v2 05/13] tests/vm: proper guest shutdown,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH v2 12/13] tests/vm: fedora autoinstall, using serial console, Gerd Hoffmann, 2019/05/10
- [Qemu-devel] QEMU on OpenBSD is broken? (was: Re: [PATCH v2 00/13] tests/vm: serial console autoinstall, misc fixes.), Thomas Huth, 2019/05/16