Commit 9e8415c6 authored by Chen Wang's avatar Chen Wang Committed by Jim Harris
Browse files

autotest: vhost_filesystem_test (porting from nightly to autotest)



Add vhost-scsi and vhost-blk filesystem test cases with
lvol and nvme back-end in nightly test

Change-Id: Id2cccd9a45aaa995bef90415855835b93447f2e9
Signed-off-by: default avatarChen Wang <chenx.wang@intel.com>
Reviewed-on: https://review.gerrithub.io/390923


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent b6aaba08
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -147,6 +147,14 @@ if [ $SPDK_TEST_VHOST -eq 1 ]; then
		timing_enter readonly
		run_test ./test/vhost/spdk_vhost.sh --readonly
		timing_exit readonly

		timing_enter fs_integrity_scsi
		run_test ./test/vhost/spdk_vhost.sh --fs-integrity-scsi
		timing_exit fs_integrity_scsi

		timing_enter fs_integrity_blk
		run_test ./test/vhost/spdk_vhost.sh --fs-integrity-blk
		timing_exit fs_integrity_blk
	fi

	timing_enter integrity_lvol_scsi
+23 −2
Original line number Diff line number Diff line
@@ -77,6 +77,16 @@ function cleanup_virsh() {
    rm $VM_BAK_IMG || true
}

function cleanup_lvol() {
    echo "INFO: Removing lvol bdevs"
    $rpc_py delete_bdev $lb_name
    echo -e "\tINFO: lvol bdev $lb_name removed"

    echo "INFO: Removing lvol stores"
    $rpc_py destroy_lvol_store -u $lvol_store
    echo -e "\tINFO: lvol stote $lvol_store removed"
}

timing_enter integrity_test

# Backing image for VM
@@ -112,12 +122,20 @@ $rootdir/app/vhost/vhost -c $basedir/vhost.conf &
pid=$!
echo "Process pid: $pid"
waitforlisten "$pid"

lvol_store=$($rpc_py construct_lvol_store Nvme0n1 lvs_0)
free_mb=$(get_lvs_free_mb "$lvol_store")
lb_name=$($rpc_py construct_lvol_bdev -u $lvol_store lbd_0 $free_mb)

if [[ "$VHOST_MODE" == "scsi" ]]; then
    $rpc_py construct_vhost_scsi_controller naa.0
    $rpc_py add_vhost_scsi_lun naa.0 0 Nvme0n1
    $rpc_py add_vhost_scsi_lun naa.0 0 $lb_name
else
    $rpc_py construct_vhost_blk_controller naa.0 Nvme0n1
    $rpc_py construct_vhost_blk_controller naa.0 $lb_name
fi

trap "cleanup_lvol; cleanup_virsh; killprocess $pid; exit 1" SIGINT SIGTERM EXIT ERR

chmod 777 /tmp/naa.0

virsh create $basedir/vm_conf.xml
@@ -143,6 +161,9 @@ rm $basedir/vm_conf.xml || true
rm $basedir/vnet_conf.xml || true
rm $basedir/vhost.conf || true

# Delete lvol bdev, destroy lvol store
cleanup_lvol

# Try to gracefully stop spdk vhost
if /bin/kill -INT $pid; then
    while /bin/kill -0 $pid; do
+39 −44
Original line number Diff line number Diff line
@@ -16,18 +16,11 @@ else script=$blk_script;
fi

trap "exit 1" SIGINT SIGTERM EXIT

for fs in $fs; do
        for dev in $devs; do
                mkfs_cmd="mkfs.$fs"
                parted_cmd="parted -s /dev/${dev}"
        if [ "ntfs" == $fs ]; then
            mkfs_cmd+=" -f -F"
        elif [ "btrfs" == $fs ]; then
            mkfs_cmd+=" -f"
        elif [ "fat" == $fs ]; then
            mkfs_cmd+=" -I"
        else
            mkfs_cmd+=" -F"
        fi

                echo "INFO: Creating partition table on disk using: $parted_cmd mklabel gpt"
                $parted_cmd mklabel gpt
@@ -36,6 +29,7 @@ for dev in $devs; do

                mkfs_cmd+=" /dev/${dev}1"
                echo "INFO: Creating filesystem using: $mkfs_cmd"
                wipefs -a /dev/${dev}1
                $mkfs_cmd

                mkdir -p /mnt/${dev}dir
@@ -67,5 +61,6 @@ for dev in $devs; do
                           ${stats[8]} ${stats[9]} ${stats[10]}
                echo ""
        done
done

trap - SIGINT SIGTERM EXIT
+2 −2
Original line number Diff line number Diff line
@@ -86,11 +86,11 @@ case $1 in
		;;
	-fs|--fs-integrity-scsi)
		echo 'Running filesystem integrity suite...'
		./integrity/integrity_start.sh -i $VM_IMAGE -m scsi -f ntfs
		./integrity/integrity_start.sh -i $VM_IMAGE -m scsi -f "xfs ntfs btrfs ext4"
		;;
	-fb|--fs-integrity-blk)
		echo 'Running filesystem integrity suite...'
		./integrity/integrity_start.sh -i $VM_IMAGE -m blk -f ntfs
		./integrity/integrity_start.sh -i $VM_IMAGE -m blk -f "xfs ntfs btrfs ext4"
		;;
	-ils|--integrity-lvol-scsi)
		echo 'Running lvol integrity suite...'