From d7cf0a829cc9cc63799330b673c8c42393de2655 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Sat, 30 Dec 2017 18:57:31 +0000 Subject: [PATCH] FIX: Force kill QEMU in case of failed initialization Change-Id: Ib9c243b1bd379cf33a2b7747b7f97a8533000d60 Signed-off-by: Peter Mikus --- resources/libraries/python/QemuUtils.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/resources/libraries/python/QemuUtils.py b/resources/libraries/python/QemuUtils.py index 6689e5cf96..428599be83 100644 --- a/resources/libraries/python/QemuUtils.py +++ b/resources/libraries/python/QemuUtils.py @@ -549,19 +549,18 @@ class QemuUtils(object): self._qemu_bin, self._qemu_opt.get('smp'), mem, ssh_fwd, self._qemu_opt.get('options'), drive, qmp, serial, qga, graphic, pid) - (ret_code, _, stderr) = self._ssh.exec_command_sudo(cmd, timeout=300) - if int(ret_code) != 0: - logger.debug('QEMU start failed {0}'.format(stderr)) - raise RuntimeError('QEMU start failed on {0}'.format( - self._node['host'])) - logger.trace('QEMU running') - # Wait until VM boot try: + (ret_code, _, _) = self._ssh.exec_command_sudo(cmd, timeout=300) + if int(ret_code) != 0: + raise RuntimeError('QEMU start failed on {0}'.format( + self._node['host'])) + # Wait until VM boot self._wait_until_vm_boot() except (RuntimeError, SSHTimeout): self.qemu_kill_all() self.qemu_clear_socks() raise + logger.trace('QEMU started successfully.') # Update interface names in VM node dict self._update_vm_interfaces() # Return VM node dict -- 2.16.6