Commit 25dbb5f8 authored by Pawel Kaminski's avatar Pawel Kaminski Committed by Darek Stojaczyk
Browse files

test/vhost: Print more logs from VM



Help to fix #695.

Change-Id: I124ec865711b45df031c92fc6d52037047bd1006
Signed-off-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/448575


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 092360ce
Loading
Loading
Loading
Loading
+30 −16
Original line number Diff line number Diff line
@@ -681,6 +681,7 @@ function vm_setup()
	cmd+="-pidfile $qemu_pid_file ${eol}"
	cmd+="-serial file:$vm_dir/serial.log ${eol}"
	cmd+="-D $vm_dir/qemu.log ${eol}"
	cmd+="-chardev file,path=$vm_dir/seabios.log,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios ${eol}"
	cmd+="-net user,hostfwd=tcp::$ssh_socket-:22,hostfwd=tcp::$fio_socket-:8765 ${eol}"
	cmd+="-net nic ${eol}"
	if [[ -z "$boot_from" ]]; then
@@ -862,6 +863,33 @@ function vm_run()
	done
}

function vm_print_logs()
{
	vm_num=$1
	warning "================"
	warning "QEMU LOG:"
	if [[ -r $VM_BASE_DIR/$vm_num/qemu.log ]]; then
		cat $VM_BASE_DIR/$vm_num/qemu.log
	else
		warning "LOG qemu.log not found"
	fi

	warning "VM LOG:"
	if [[ -r $VM_BASE_DIR/$vm_num/serial.log ]]; then
		cat $VM_BASE_DIR/$vm_num/serial.log
	else
		warning "LOG serial.log not found"
	fi

	warning "SEABIOS LOG:"
	if [[ -r $VM_BASE_DIR/$vm_num/seabios.log ]]; then
		cat $VM_BASE_DIR/$vm_num/seabios.log
	else
		warning "LOG seabios.log not found"
	fi
	warning "================"
}

# Wait for all created VMs to boot.
# param $1 max wait time
function vm_wait_for_boot()
@@ -893,29 +921,15 @@ function vm_wait_for_boot()
		notice "waiting for VM$vm_num ($vm)"
		while ! vm_os_booted $vm_num; do
			if ! vm_is_running $vm_num; then

				warning "VM $vm_num is not running"
				warning "================"
				warning "QEMU LOG:"
				if [[ -r $vm/qemu.log ]]; then
					cat $vm/qemu.log
				else
					warning "LOG not found"
				fi

				warning "VM LOG:"
				if [[ -r $vm/serial.log ]]; then
					cat $vm/serial.log
				else
					warning "LOG not found"
				fi
				warning "================"
				vm_print_logs $vm_num
				$shell_restore_x
				return 1
			fi

			if [[ $(date +%s) -gt $timeout_time ]]; then
				warning "timeout waiting for machines to boot"
				vm_print_logs $vm_num
				$shell_restore_x
				return 1
			fi