598ba73f5f
Test plan for hot-attach and hot-detach included. File with CPU core masks for vhost and qemu updated because more than one virtual machine is needed to run the tests. Change-Id: I6ba02f65398d09e2ef3335c2d5b0d6c04d3e393c Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com> Reviewed-on: https://review.gerrithub.io/372268 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
3.1 KiB
3.1 KiB
#Vhost hotattach and hotdetach test plan
Objective
The purpose of these tests is to verify that SPDK vhost remains stable during hot-attach and hot-detach operations performed on SCSI controllers devices. Hot-attach is a scenario where a device is added to controller already in use by guest VM, while in hot-detach device is removed from controller when already in use.
Test Cases Description
- FIO I/O traffic is run during hot-attach and detach operations. By default FIO uses default_integrity*.job config files located in test/vhost/hotfeatures/fio_jobs directory.
- FIO mode of operation in random write (randwrite) with verification enabled which results in also performing read operations.
- Test case descriptions below contain manual steps for testing. Automated tests are located in test/vhost/hotfeatures.
Hotattach, Hotdetach Test Cases prerequisites
- Run vhost with 8 empty controllers. Prepare 16 nvme disks. If you don't have 16 disks use split.
- In test cases fio status is checked after every run if there are any errors.
Hotattach Test Cases prerequisites
- Run vms, first with ctrlr-1 and ctrlr-2 and second one with ctrlr-3 and ctrlr-4.
Test Case 1
- Attach NVMe to Ctrlr 1
- Run fio integrity on attached device
Test Case 2
- Run fio integrity on attached device from test case 1
- During fio attach another NVMe to Ctrlr 1
- Run fio integrity on both devices
Test Case 3
- Run fio integrity on attached devices from previous test cases
- During fio attach NVMe to Ctrl2
- Run fio integrity on all devices
Test Case 4
- Run fio integrity on attached device from previous test cases
- During fio attach NVMe to Ctrl3/VM2
- Run fio integrity on all devices
- Reboot VMs
- Run fio integrity again on all devices
Hotdetach Test Cases prerequisites
- Run vms, first with ctrlr-5 and ctrlr-6 and second with ctrlr-7 and ctrlr-8.
Test Case 1
- Run fio on all devices
- Detatch NVMe from Ctrl5 during fio
- Check vhost or VMs did not crash
- Check that detatched device is gone from VM
- Check that fio job run on detached device stopped and failed
Test Case 2
- Attach NVMe to Ctrlr 5
- Run fio on 1 device from Ctrl 5
- Detatch NVMe from Ctrl5 during fio traffic
- Check vhost or VMs did not crash
- Check that fio job run on detached device stopped and failed
- Check that detatched device is gone from VM
Test Case 3
- Attach NVMe to Ctrlr 5
- Run fio with integrity on all devices, except one
- Detatch NVMe without traffic during fio running on other devices
- Check vhost or VMs did not crash
- Check that fio jobs did not fail
- Check that detatched device is gone from VM
Test Case 4
- Attach NVMe to Ctrlr 5
- Run fio on 1 device from Ctrl 5
- Run separate fio with integrity on all other devices (all VMs)
- Detatch NVMe from Ctrl1 during fio traffic
- Check vhost or VMs did not crash
- Check that fio job run on detached device stopped and failed
- Check that other fio jobs did not fail
- Check that detatched device is gone from VM
- Reboot VMs
- Check that detatched device is gone from VM
- Check that all other devices are in place
- Run fio integrity on all remianing devices