Skip to content

Commit

Permalink
qemu.py: include debug information on launch error
Browse files Browse the repository at this point in the history
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 <[email protected]>
Message-Id: <[email protected]>
Reviewed-by: Fam Zheng <[email protected]>
Signed-off-by: Eduardo Habkost <[email protected]>
  • Loading branch information
apahim authored and ehabkost committed Sep 15, 2017
1 parent dab91d9 commit b92a001
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions scripts/qemu.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ def _post_shutdown(self):

def launch(self):
'''Launch the VM and establish a QMP connection'''
self._iolog = None
self._qemu_full_args = None
devnull = open(os.path.devnull, 'rb')
qemulog = open(self._qemu_log_path, 'wb')
Expand All @@ -206,6 +207,12 @@ def launch(self):
self._popen.wait()
self._load_io_log()
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

def shutdown(self):
Expand Down

0 comments on commit b92a001

Please sign in to comment.