- self._qemu_opt.get('disk_image'), qmp, serial, qga, graphic)
- (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
- self._wait_until_vm_boot()
+ drive, qmp, serial, qga, graphic, pid)
+ 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.')