1#!/usr/bin/env bash 2testdir=$(readlink -f $(dirname $0)) 3rootdir=$(readlink -f $testdir/../..) 4source $rootdir/test/common/autotest_common.sh 5source $rootdir/test/vhost/common.sh 6 7echo "Running SPDK vhost fio autotest..." 8if [[ $(uname -s) != Linux ]]; then 9 echo "" 10 echo "INFO: Vhost tests are only for Linux machine." 11 echo "" 12 exit 0 13fi 14 15vhosttestinit 16 17run_test "vhost_negative" $WORKDIR/other/negative.sh 18 19run_test "vhost_boot" $WORKDIR/vhost_boot/vhost_boot.sh --vm_image=$VM_IMAGE 20 21if [ $RUN_NIGHTLY -eq 1 ]; then 22 echo 'Running blk integrity suite...' 23 run_test "vhost_blk_integrity" $WORKDIR/fiotest/fio.sh -x --fio-bin=$FIO_BIN \ 24 --vm=0,$VM_IMAGE,Nvme0n1p0:RaidBdev0:RaidBdev1:RaidBdev2 \ 25 --test-type=spdk_vhost_blk \ 26 --fio-job=$WORKDIR/common/fio_jobs/default_integrity.job 27 28 echo 'Running SCSI integrity suite...' 29 run_test "vhost_scsi_integrity" $WORKDIR/fiotest/fio.sh -x --fio-bin=$FIO_BIN \ 30 --vm=0,$VM_IMAGE,Nvme0n1p0:RaidBdev0:RaidBdev1:RaidBdev2 \ 31 --test-type=spdk_vhost_scsi \ 32 --fio-job=$WORKDIR/common/fio_jobs/default_integrity.job 33 34 echo 'Running filesystem integrity suite with SCSI...' 35 run_test "vhost_scsi_fs_integrity" $WORKDIR/integrity/integrity_start.sh --ctrl-type=spdk_vhost_scsi --fs="xfs ntfs btrfs ext4" 36 37 echo 'Running filesystem integrity suite with BLK...' 38 run_test "vhost_blk_fs_integrity" $WORKDIR/integrity/integrity_start.sh --ctrl-type=spdk_vhost_blk --fs="xfs ntfs btrfs ext4" 39 40 echo 'Running lvol integrity nightly suite with multiple cores and two vhost controllers (vhost_scsi)' 41 run_test "vhost_scsi_cores_2ctrl" $WORKDIR/lvol/lvol_test.sh --fio-bin=$FIO_BIN \ 42 --ctrl-type=spdk_vhost_scsi --distribute-cores --vm-count=2 43 44 echo 'Running lvol integrity nightly suite with multiple cores and two vhost controllers (vhost_blk)' 45 run_test "vhost_blk_cores_2ctrl" $WORKDIR/lvol/lvol_test.sh --fio-bin=$FIO_BIN \ 46 --ctrl-type=spdk_vhost_blk --distribute-cores --vm-count=2 47 48 echo 'Running readonly tests suite...' 49 run_test "vhost_readonly" $WORKDIR/readonly/readonly.sh --vm_image=$VM_IMAGE --disk=Nvme0n1 -x 50 51 echo 'Running migration suite...' 52 run_test "vhost_migration" $WORKDIR/migration/migration.sh -x \ 53 --fio-bin=$FIO_BIN --os=$VM_IMAGE 54fi 55 56echo 'Running lvol integrity suite...' 57run_test "vhost_scsi_lvol_integrity" $WORKDIR/lvol/lvol_test.sh -x --fio-bin=$FIO_BIN \ 58 --ctrl-type=spdk_vhost_scsi --thin-provisioning 59 60echo 'Running lvol integrity suite...' 61run_test "vhost_blk_lvol_integrity" $WORKDIR/lvol/lvol_test.sh -x --fio-bin=$FIO_BIN \ 62 --ctrl-type=spdk_vhost_blk 63 64echo 'Running blk packed ring integrity suite...' 65run_test "vhost_blk_packed_ring_integrity" $WORKDIR/fiotest/fio.sh -x --fio-bin=$FIO_BIN \ 66 --vm=0,$VM_IMAGE,Nvme0n1p0 \ 67 --test-type=spdk_vhost_blk \ 68 --fio-job=$WORKDIR/common/fio_jobs/default_integrity.job \ 69 --packed 70 71run_test "spdkcli_vhost" ./test/spdkcli/vhost.sh 72