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>
This commit is contained in:
parent
dab91d9aa0
commit
b92a0011b1
@ -187,6 +187,7 @@ class QEMUMachine(object):
|
||||
|
||||
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')
|
||||
@ -206,6 +207,12 @@ class QEMUMachine(object):
|
||||
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):
|
||||
|
Loading…
Reference in New Issue
Block a user