xref: /spdk/test/vhost/vhost.sh (revision e1d06d9954b871531c9b376069d620d2c6cee854)
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