111a82d14SPhilippe Mathieu-Daudé#!/usr/bin/env bash 29dd003a9SVladimir Sementsov-Ogievskiy# group: rw auto quick 3dd7fdaadSFam Zheng# 4dd7fdaadSFam Zheng# Test NBD export with -incoming (non-shared storage migration use case from 5dd7fdaadSFam Zheng# libvirt) 6dd7fdaadSFam Zheng# 7dd7fdaadSFam Zheng# Copyright (C) 2017 Red Hat, Inc. 8dd7fdaadSFam Zheng# 9dd7fdaadSFam Zheng# This program is free software; you can redistribute it and/or modify 10dd7fdaadSFam Zheng# it under the terms of the GNU General Public License as published by 11dd7fdaadSFam Zheng# the Free Software Foundation; either version 2 of the License, or 12dd7fdaadSFam Zheng# (at your option) any later version. 13dd7fdaadSFam Zheng# 14dd7fdaadSFam Zheng# This program is distributed in the hope that it will be useful, 15dd7fdaadSFam Zheng# but WITHOUT ANY WARRANTY; without even the implied warranty of 16dd7fdaadSFam Zheng# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17dd7fdaadSFam Zheng# GNU General Public License for more details. 18dd7fdaadSFam Zheng# 19dd7fdaadSFam Zheng# You should have received a copy of the GNU General Public License 20dd7fdaadSFam Zheng# along with this program. If not, see <http://www.gnu.org/licenses/>. 21dd7fdaadSFam Zheng# 22dd7fdaadSFam Zheng 23dd7fdaadSFam Zheng# creator 24*42a5009dSJohn Snowowner=fam@euphon.net 25dd7fdaadSFam Zheng 26dd7fdaadSFam Zhengseq=`basename $0` 27dd7fdaadSFam Zhengecho "QA output created by $seq" 28dd7fdaadSFam Zheng 29dd7fdaadSFam Zhengstatus=1 # failure is the default! 30dd7fdaadSFam Zheng 31dd7fdaadSFam Zheng_cleanup() 32dd7fdaadSFam Zheng{ 334d231a38SKevin Wolf _cleanup_qemu 34dd7fdaadSFam Zheng _cleanup_test_img 357310e0bdSMax Reitz rm -f "$SOCK_DIR/nbd" 36dd7fdaadSFam Zheng} 37dd7fdaadSFam Zhengtrap "_cleanup; exit \$status" 0 1 2 3 15 38dd7fdaadSFam Zheng 39dd7fdaadSFam Zheng# get standard environment, filters and checks 40dd7fdaadSFam Zheng. ./common.rc 41dd7fdaadSFam Zheng. ./common.filter 420127b79eSDaniel P. Berrange. ./common.qemu 43dd7fdaadSFam Zheng 44dd7fdaadSFam Zheng_supported_fmt generic 45dd7fdaadSFam Zheng_supported_proto file 46dd7fdaadSFam Zheng 47dd7fdaadSFam Zhengif [ "$QEMU_DEFAULT_MACHINE" != "pc" ]; then 48dd7fdaadSFam Zheng _notrun "Requires a PC machine" 49dd7fdaadSFam Zhengfi 50dd7fdaadSFam Zheng 51dd7fdaadSFam Zhengsize=64M 52dd7fdaadSFam Zheng_make_test_img $size 53dd7fdaadSFam Zheng 540127b79eSDaniel P. Berrangeif test "$IMGOPTSSYNTAX" = "true" 550127b79eSDaniel P. Berrangethen 560127b79eSDaniel P. Berrange DRIVE_ARG=if=ide,id=drive0,$TEST_IMG 570127b79eSDaniel P. Berrangeelse 580127b79eSDaniel P. Berrange DRIVE_ARG=if=ide,id=drive0,format=$IMGFMT,file=$TEST_IMG 590127b79eSDaniel P. Berrangefi 600127b79eSDaniel P. Berrange 610127b79eSDaniel P. Berrangeqemu_comm_method="monitor" 620127b79eSDaniel P. Berrange_launch_qemu -drive $DRIVE_ARG -incoming defer 630127b79eSDaniel P. Berrangeh=$QEMU_HANDLE 64fbd1c378SAndrey Shinkevichif [ "${VALGRIND_QEMU}" == "y" ]; then 65fbd1c378SAndrey Shinkevich QEMU_COMM_TIMEOUT=7 66fbd1c378SAndrey Shinkevichelse 670127b79eSDaniel P. Berrange QEMU_COMM_TIMEOUT=1 68fbd1c378SAndrey Shinkevichfi 690127b79eSDaniel P. Berrange 707310e0bdSMax Reitz_send_qemu_cmd $h "nbd_server_start unix:$SOCK_DIR/nbd" "(qemu)" 710127b79eSDaniel P. Berrange_send_qemu_cmd $h "nbd_server_add -w drive0" "(qemu)" 720127b79eSDaniel P. Berrange_send_qemu_cmd $h "q" "(qemu)" 73dd7fdaadSFam Zheng 74dd7fdaadSFam Zheng# success, all done 75dd7fdaadSFam Zhengecho "*** done" 76dd7fdaadSFam Zhengrm -f $seq.full 77dd7fdaadSFam Zhengstatus=0 78