Bläddra i källkod

qemu.py: include debug information on launch error

When launching a VM, if an exception happens and the VM is not
initiated, it might be useful to see the qemu command line and
the qemu command output.

This patch creates that message. Notice that self._iolog needs to be
cleaned up in the beginning of the launch() to make sure we will not
expose the qemu log from a previous launch if the current one fails.

Signed-off-by: Amador Pahim <apahim@redhat.com>
Message-Id: <20170901112829.2571-6-apahim@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Amador Pahim 8 år sedan
förälder
incheckning
b92a0011b1
1 ändrade filer med 7 tillägg och 0 borttagningar
  1. 7 0
      scripts/qemu.py

+ 7 - 0
scripts/qemu.py

@@ -187,6 +187,7 @@ def _post_shutdown(self):
 
 
     def launch(self):
     def launch(self):
         '''Launch the VM and establish a QMP connection'''
         '''Launch the VM and establish a QMP connection'''
+        self._iolog = None
         self._qemu_full_args = None
         self._qemu_full_args = None
         devnull = open(os.path.devnull, 'rb')
         devnull = open(os.path.devnull, 'rb')
         qemulog = open(self._qemu_log_path, 'wb')
         qemulog = open(self._qemu_log_path, 'wb')
@@ -206,6 +207,12 @@ def launch(self):
                 self._popen.wait()
                 self._popen.wait()
             self._load_io_log()
             self._load_io_log()
             self._post_shutdown()
             self._post_shutdown()
+
+            LOG.debug('Error launching VM')
+            if self._qemu_full_args:
+                LOG.debug('Command: %r', ' '.join(self._qemu_full_args))
+            if self._iolog:
+                LOG.debug('Output: %r', self._iolog)
             raise
             raise
 
 
     def shutdown(self):
     def shutdown(self):