From 46b93de613866f5d57b6f5b3fe02f00f6965a10c Mon Sep 17 00:00:00 2001 From: Pawel Niedzwiecki Date: Wed, 17 Jan 2018 15:33:29 +0100 Subject: [PATCH] test/virtio: update test_plan.md Change-Id: I4100883cac98603108c96db0ed3e3cdf2e0e4b57 Signed-off-by: Pawel Niedzwiecki Reviewed-on: https://review.gerrithub.io/395079 Reviewed-by: Dariusz Stojaczyk Reviewed-by: Karol Latecki Tested-by: SPDK Automated Test System Reviewed-by: Jim Harris Reviewed-by: Changpeng Liu --- test/vhost/test_plan.md | 78 +++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 49 deletions(-) diff --git a/test/vhost/test_plan.md b/test/vhost/test_plan.md index 54354704a..794dcfabb 100644 --- a/test/vhost/test_plan.md +++ b/test/vhost/test_plan.md @@ -73,61 +73,41 @@ - checks that other devices in the same controller are unaffected by hot-attach and hot-detach operations -### Vhost initiator test -Testing vhost initiator with fio write, randwrite, rw and randrw with verificiation enabled. -Tests include vhost-user (vhost initiator connecting to the socket on the same machine) -and virtio-pci (virtio initiator in a VM connecting to the virtual PCI SCSI device created by the hypervisor) -All tests are run in virtio-user mode. Tests 2-3, 5-9 are additionally run in virtio-pci mode. +#### virtio initiator tests +- virtio user mode: connect to vhost-scsi controller sockets directly on host +- virtio pci mode: connect to virtual pci devices on guest virtual machine +- 6 concurrent jobs are run simultaneously on 3 devices with 18 virtqueues -#### Test Case 1 - vhost initiator test with malloc -1. Run vhost with one scsi controller and with one malloc bdev with 512 block size. -2. Prepare config for bdevio with virtio section. -3. Run bdevio test application with config. -4. Generate the fio config file given the list of all bdevs. -5. Run fio tests: iodepth=128, block_size=4k, rw, randwrite, write, randrw with verification. -6. Check if fio tests are successful. +##### Test configuration +- SPDK vhost application is used for testing +- FIO using spdk fio_plugin: rw, randrw, randwrite, write with verification enabled. +- trim sequential and trim random then write on trimmed areas with verification enabled + only on unmap supporting devices +- FIO job configuration: iodepth=128, block size=4k, runtime=10s +- all test cases run jobs in parallel on multiple bdevs +- 18 queues -#### Test Case 2 - vhost initiator test with nvme -1. Run vhost with one scsi controller and with one nvme bdev with 512 block size. -2. Repeat steps 2-6 from test case 1. +##### vhost configuration +- scsi controller with 6 NVMe splits +- scsi controller with malloc with 512 block size +- scsi controller with malloc with 4096 block size -#### Test Case 3 - vhost initiator test with lvol -1. Run vhost with one scsi controller and with one lvol bdev with 512 block size. -2. Repeat steps 2-6 from test case 1 +##### Test case 1 +- virtio user on host +- perform FIO rw, randwrite, randrw, write, parallel jobs on all devices -#### Test Case 4 - vhost initiator test with malloc -1. Run vhost with one scsi controller and with one malloc bdev with 4096 block size. -2. Repeat steps 2-6 from test case 1. +##### Test case 2 +- virtio user on host +- perform FIO trim, randtrim, rw, randwrite, randrw, write, - parallel jobs + then write on trimmed areas on unmap supporting devices -#### Test Case 5 - vhost initiator test with lvol -1. Run vhost with one scsi controller and with one lvol bdev with 4096 block size. -2. Repeat steps 2-6 from test case 1 +##### Test case 3 +- virtio pci on vm +- same config as in TC#1 -#### Test Case 6 - vhost initiator test with nvme disk (size larger than 4G) -1. Run vhost with one scsi controller and with one nvme bdev with 512 block size and disk size larger than 4G - to test if we can read, write to device with fio offset set to 4G. -2. Repeat steps 4-6 from test case 1. - -#### Test Case 7 - vhost initiator test with multiqueue -1. Run vhost with one scsi controller (one malloc bdev and one nvme bdev). -2. Generate the fio config file given the list of all bdevs. -3. Run fio tests: iodepth=128, block_size=4k, rw, randread, randwrite, read, write, randrw with verify -4. Check if fio tests are successful. - -#### Test Case 8 - vhost initator test with multiple socket -1. Run vhost with two scsi controllers, one with nvme bdev and one with malloc bdev. -2. Generate the fio config file given the list of all bdevs. -3. Run fio tests: iodepth=128, block_size=4k, write with verification. -4. Check if fio tests are successful. - -#### Test Case 9 - vhost initiator test with unmap -1. Run vhost with one controller and one nvme bdev with 512 block size. -2. Run fio test with sequential jobs: trim, randtrim, write. - All this jobs run with verification enabled. - Use trim_verify_zero fio option to check if blocks are returned as zeroes. - Write with verify after trim to check if we still can write and read from device. -3. Check if fio test ends with success. -4. Repeat steps 1-3 on host for malloc with 4096 block size and 512 block size. +##### Test case 4 +- virtio pci on vm +- same config as in TC#2 ### Live migration Live migration feature allows to move running virtual machines between SPDK vhost