test/lvol: update test plan with tasting test

Postivive test case for testing lvol tasting feature.

Change-Id: Ifa8b87978e40a719ca59603cfd41a8fd1b22c6f9
Signed-off-by: Lukasz Galka <lukaszx.galka@intel.com>
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/382687
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Lukasz Galka 2017-10-16 21:48:02 +02:00 committed by Daniel Verkamp
parent 511adde02f
commit d88fa70e58

View File

@ -454,3 +454,63 @@ Expected result:
- calls successful, return code = 0
- get_bdevs: no change
- no other operation fails
# Lvol tasting test plan
## Objective
The purpose of these tests is to verify the introduced lvol store and lvols parameters saving
on persistent memory and loading it from saved data on app start in SPDK.
## Methodology
Configuration test cases use vhost app.
All tests are performed using NVMe device backends.
All management is done using RPC calls, including logical volumes management.
Tests will be executed as scenarios - A set of test steps in which checks get_lvol_stores response
(rpc command) after again start vhost app
## Tests
### tasting_positive
#### TEST CASE 1
Positive test for tasting a multi lvol bdev configuration.
Create a lvol store with some lvol bdevs on NVMe drive and restart vhost app.
After restarting configuration should be automatically loaded and should be exactly
the same as before restarting.
Check that running configuration can be modified after restarting and tasting.
Steps:
- run vhost app with NVMe bdev
- construct lvol store on NVMe bdev
- using get_lvol_stores command verify lvol store was correctly created
- construct five lvol bdevs on previously created lvol store;
each lvol bdev size is approximately equal to 10% of total lvol store size
(approximately because of the lvol metadata which consumes some of the space)
- using get_bdevs command verify lvol bdevs were correctly created
- shutdown vhost application by sending SIGTERM signal
- start vhost application with the same NVMe bdev as in the first step
- using get_lvol_stores command verify that previously created lvol strore
was correctly discovered and loaded by tasting feature (including UUID's)
- using get_bdevs command verify that previously created lvol bdevs were
correctly discovered and loaded by tasting feature (including UUID's)
- verify if configuration can be modified after tasting:
construct five more lvol bdevs to fill up loaded lvol store,
delete all existing lvol bdevs,
destroy existing lvol store,
verify removal results using get_lvol_stores and get_bdevs commands
- re-create initial configuration by repeating steps 2-5:
create lvol store on NVMe bdev, create four lvol bdevs on lvol store and
verify all configuration call results
- clean running configuration:
delete all lvol bdevs,
destroy lvol store
verify removal results using get_lvol_stores and get_bdevs commands
Expected results:
- configuration is successfully tasted and loaded after restarting vhost
- lvol store attributes (UUID, total size, cluster size, etc.) remain the same after
loading existing configuration
- lvol bdev attributes (UUID, size, etc.) remain the same after
loading existing configuration
- all RPC configuration calls successful, return code = 0
- no other operation fails