Browse Source

qemu.py: always cleanup on shutdown()

Currently we only cleanup on shutdown() if the VM is running.

To make sure we will always cleanup, this patch makes the
self._load_io_log() and the self._post_shutdown() to
always be called on shutdown(), regardless the VM running state.

Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Amador Pahim <apahim@redhat.com>
Message-Id: <20180122205033.24893-4-apahim@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Amador Pahim 7 years ago
parent
commit
04a963b495
1 changed files with 5 additions and 4 deletions
  1. 5 4
      scripts/qemu.py

+ 5 - 4
scripts/qemu.py

@@ -163,8 +163,9 @@ def get_pid(self):
         return self._popen.pid
         return self._popen.pid
 
 
     def _load_io_log(self):
     def _load_io_log(self):
-        with open(self._qemu_log_path, "r") as iolog:
-            self._iolog = iolog.read()
+        if self._qemu_log_path is not None:
+            with open(self._qemu_log_path, "r") as iolog:
+                self._iolog = iolog.read()
 
 
     def _base_args(self):
     def _base_args(self):
         if isinstance(self._monitor_address, tuple):
         if isinstance(self._monitor_address, tuple):
@@ -257,8 +258,8 @@ def shutdown(self):
                 self._popen.kill()
                 self._popen.kill()
             self._popen.wait()
             self._popen.wait()
 
 
-            self._load_io_log()
-            self._post_shutdown()
+        self._load_io_log()
+        self._post_shutdown()
 
 
         exitcode = self.exitcode()
         exitcode = self.exitcode()
         if exitcode is not None and exitcode < 0:
         if exitcode is not None and exitcode < 0: