Commit b92a0011 authored by Amador Pahim's avatar Amador Pahim Committed by Eduardo Habkost
Browse files

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: default avatarAmador Pahim <apahim@redhat.com>
Message-Id: <20170901112829.2571-6-apahim@redhat.com>
Reviewed-by: default avatarFam Zheng <famz@redhat.com>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent dab91d9a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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):