[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 06/14] tests/vm: proper guest shutdown
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v3 06/14] tests/vm: proper guest shutdown |
Date: |
Mon, 20 May 2019 20:04:10 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
On 5/20/19 2:47 PM, Gerd Hoffmann wrote:
> 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>
> Tested-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <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 878f1a7a32b8..465c7b80d011 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
>
- [Qemu-devel] [PATCH v3 09/14] tests/vm: serial console support helpers, (continued)
- [Qemu-devel] [PATCH v3 09/14] tests/vm: serial console support helpers, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 04/14] tests/vm: use ssh with pty unconditionally, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 01/14] scripts: use git archive in archive-source, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 14/14] tests/vm: ubuntu.i386: apt proxy setup, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 07/14] tests/vm: add vm-boot-{ssh, serial}-<guest> targets, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 06/14] tests/vm: proper guest shutdown, Gerd Hoffmann, 2019/05/20
- Re: [Qemu-devel] [PATCH v3 06/14] tests/vm: proper guest shutdown,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH v3 02/14] tests/vm: python3 fixes, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 11/14] tests/vm: freebsd autoinstall, using serial console, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 13/14] tests/vm: fedora autoinstall, using serial console, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 12/14] tests/vm: netbsd autoinstall, using serial console, Gerd Hoffmann, 2019/05/20
- [Qemu-devel] [PATCH v3 10/14] tests/vm: openbsd autoinstall, using serial console, Gerd Hoffmann, 2019/05/20