428 Commits

Author SHA1 Message Date
Tomasz Zawadzki
b74363bcdf lib/vhost: force cpumask to be subset of application's CPU mask
Documentation for vhost target states that CPU mask must be a subset
of application CPU mask. This wasn't enforced right now and allowed
the cpumask on controller creation so long as at least single
CPU core overlapped with application's CPU mask.

This might have been misleading and covered up user configuration errors.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I03f959ec37efd0be9b98cff9c93c5f996b04af35
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6212
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2021-02-04 08:35:08 +00:00
Tomasz Zawadzki
daab1abc4f test/vhost: verify cpumask argument for controller creation
`--cpumask` argument for vhost controller creation was
untested. This patch specifies this argument and verifies output
under following conditions:
- no cpumask, resulting in it being equal to the app cpumask
- cpumask equal to app cpumask
- single core
- single non-main core
- two cores

It was motivated by recent changes to reactor code affecting
vhost without it being caught by CI. See commit 7cc83b62.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I92c603061619092007bc27a189d3d8787461a16f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6211
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2021-02-04 08:35:08 +00:00
Karol Latecki
61ecba1a92 test/vhost_perf: set test block device scheduler to "none"
In recent systems default is set to bfq which lowers
performance when using SPDK vhost.

Change-Id: Iefa3b8b514dac2f7b028cf06c18cee3f59c5a9ac
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5982
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Community-CI: Mellanox Build Bot
2021-01-21 14:40:28 +00:00
Karol Latecki
0773af993a test/vhost_perf: detect cgroups version
Detect which cgroups version is used to set IO
throttling in the guest system.

Change-Id: I4e7f482a8590dfe59da461cf5ef0a557b508fa98
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5981
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2021-01-21 14:40:28 +00:00
Michal Berger
6b52336516 test/vhost: Fix traddr lookup
get_traddr() was looking for INI configuration, however, gen_nvme.sh
now supports only json flavor. Use jq in such a case to get proper
traddr.

Change-Id: Ifb5e5e8b3cf3c7b21f67f6129173dcd09cecc6ec
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5578
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Community-CI: Mellanox Build Bot
2020-12-28 13:17:20 +00:00
Jim Harris
9289521630 test/vhost: replace master_core with main_core
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ibdf9612a27266ef739d9d10db3fd1d353729644a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5353
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-12-03 09:41:07 +00:00
Tomasz Zawadzki
cfccb8c383 test/vhost: remove tests for live migration between different hosts
The test case 3 a/b were tests for live migration were to be executed
between different hosts.

Since most of the tests in CI are executed within single host,
those were to be delegated to separate job that would use more hosts.

Yet for some time this went untested and state of the scripts is unclear.
Let's remove it.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I6bab2c0b85da87d29cfccabff2103812b181f246
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5037
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-11-26 10:15:12 +00:00
Tomasz Zawadzki
27544da15a test/vhost: remove windows filesystem test
This test is not ran on CI right now and state of
executing it is unclear.

Almost two years since it's addition that it went unused,
lets remove it.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I637bc56374fd5943cc11ccccb3a0c0690ddfe673
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5036
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-11-26 10:15:12 +00:00
Michal Berger
0f89273f81 test/vhost: Partition the VM drive more gracefully
Check at which sector location it's safe to start the test partition.
Also, make sure that the VM drive matches the size which is used for
creating the lvol.

Also, reorder pt sync with sleep - we should make sure that partprobe
is called after block subsystem was properly updated. Extend the sleep
time just to be more on a safe side.

Change-Id: I789c8842fb8d136bb1eec1f7793019b18297c864
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5035
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
2020-11-18 11:27:16 +00:00
Michal Berger
feb6830021 test/vhost: Use basename of the vhost dir passed to vhost_kill
vhost_kill expects the argument to be the name|id of the vhost
instance, not the absolute path to its directory.

Change-Id: Ia41f49cdfdeaa97316cdc0d6e963fad2edd055f2
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5034
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-11-18 11:27:16 +00:00
Maciej Wawryk
c4c37f1cf1 Modifications for using universal qcow2 image in tests
We want to replace few qcow2 images with one universal.
This commit contains:
 - change password in autotest.sh
 - change image path
 - change image name
 - use snapshot mode in hotplug.sh instead of copying base image

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I75c457fe75f005b0ab43ca909be7886529ed115b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4551
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2020-10-28 15:07:56 +00:00
Maciej Wawryk
4ffb15c133 test/vhost: fix shared.sh test to run in vagrant box
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I6d255ce3250b97895bd2bb02256f92e14a3c4245
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4666
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-10-23 16:20:08 +00:00
Tomasz Zawadzki
8c3e71f0f9 script/gen_nvme: do not generate legacy configuration
gen_nvme.sh will no longer generate the legacy configuration.
"--json" option will still work for any current users of the script.

Tests were modified to no longer use the "--json" option.
Meanwhile others were simplified with switch to "--json-with-subsystems".

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I8450be98660e54c64c27d8401fc40d649f9403ea
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4802
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2020-10-22 17:08:41 +00:00
Maciej Wawryk
5df2c9a343 test/vhost: add -f for mkfs.btrfs command
During tests with new qcow2 image there is error:
    ERROR: use the -f option to force overwrite of /dev/sdb1
when creating filesystem using mkfs.btrfs, adding -f
resolve this issue.

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: If6548d3d5781e2b46f794422144e2a635e700559
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4660
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-10-21 12:19:38 +00:00
Jin Yu
1903dd1049 test: add packed ring test in blk device
Add an integrity test for the packed ring.
SPDK vhost blk has already supported this format.

Change-Id: I38329d837e0a5c6d4e12b30c7c99e02536ed8ac9
Signed-off-by: Jin Yu <jin.yu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4595
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-10-16 08:15:51 +00:00
Tomasz Zawadzki
b850710af6 test/vhost: remove unused bdev_pci.conf
This config file was not used in any tests.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I8e32346dcb05fd68f7f64d2a7b4907bb8d80a5d2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4618
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2020-10-16 08:15:26 +00:00
Tomasz Zawadzki
562598c9de test/vhost: remove test for incorrect legacy config
Legacy configuration is being removed, no need to test it.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I38eb9f5b77e0457516a03b30d33dc5a11ef35d1b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4617
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2020-10-16 08:15:26 +00:00
Tomasz Zawadzki
e251e40422 test/vhost: remove unused vm_check_virtio_location()
This function relied on legacy config to work and was unused,
thus is removed in this patch.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Id11dbbcba3dc5b4981c03eca945c7d40fb0f7ce6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4615
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2020-10-16 08:15:26 +00:00
Karol Latecki
757eddeb59 test/vhost: add option for fio gtod_reduce
Enable gtod_reduce fio option on demand for
better IOPS/BW results at cost of reducing
latency measurements.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I0511a5fdc09bb20b5a769ad55f2306b87e5d2dde
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3502
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-07-24 15:41:46 +00:00
Karol Latecki
c3dc7fb5f2 test/vhost_perf: parse fio json results to csv
Parse fio output to CSV.
Calculate average read and write metrics while
parsing and present final results.

Change-Id: I8f6d7f84205be409f0ccbba7a42eb7888b2cb03d
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3253
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Michal Berger <michalx.berger@intel.com>
2020-07-24 15:41:46 +00:00
Karol Latecki
782681e018 test/vhost: remove unnecessary lines from JSON result file
There is a lot of extra lines at top of the output file
in case fio is used in client-server mode and with json
output mode. These lines make it resulting JSON file
not possible to parse.
Remove this lines so that the JSON file is ready to
be used in any later parsing functions.

Change-Id: Ie575941310f0d17b0285969f6b247f2fa653168c
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3237
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-07-24 15:41:46 +00:00
Karol Latecki
262c35fc9a test/vhost: enable packed ring for BLK in performance tests
Enable Packed Ring option in performance tests. Only BLK
stack for now, as SCSI doesn't have this option yet.

Change-Id: Ie70642dd846ada35926e17204770ea2436089432
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2716
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2020-06-15 15:27:25 +00:00
Karol Latecki
2c7ba231d3 test/vhost_perf: use system fio if not specified by user
Use system-wide fio if a specific binary was not provided.
Additionally add 1 second delay after finishing fio run
to make sure fio client-server finishes correctly.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: Id7d1e7f70017755206c8fe9942ef8d6051a73bbe
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2559
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2020-06-15 15:27:25 +00:00
Karol Latecki
d3e367a5f1 test/vhost/common.sh: make fio bin variable local
Make the variable local, so that we don't unnecessarily
read it's value from base script in case it's defined.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: Ib4d95d3c67cfa8918c67f0b2642e9a3fe2ca3260
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2558
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2020-06-15 15:27:25 +00:00
Ben Walker
c3b5ae0c60 build: Place fio plugins into build/fio
This makes them easier to find. They are now named
spdk_nvme and spdk_bdev.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I1f6736d8f7f5b9669583731fb0b710ba54f0d50a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2679
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2020-06-15 15:27:16 +00:00
Ben Walker
6b9b448e53 build: Output executables from the app directory to build/bin
Automatically place binaries produced from the app directory
into build/bin. This matches with the output in build/lib
that already exists.

Change-Id: I13cd2da71d2f88592e22308fe8a907bf458458b5
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2379
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2020-06-15 15:27:16 +00:00
Darek Stojaczyk
8c007d46fc test/vhost/initiator: remove unused fio sections
They had no effect, only the first section was run.
I'm not sure how to run more than one, but it's not
a problem if we stick to just one. There's another case
right below where no `--section` param is specified and
all sections are run.

Change-Id: I399bef07b671ee81bd289e77f2a8203c96268807
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1553
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2020-06-05 09:03:50 +00:00
Darek Stojaczyk
2fc1a2d056 test/vhost/initiator: inline create_bdev_config()
This function is not really reusable. Inline it to have
a simple, top-to-bottom test flow.

This already shows the test is unnecessarily complicated.
If anything with lib/virtio goes wrong this file is the last
script that will be used for debugging. It would be OK if
there simpler tests for lib/virtio, but there are not.

While here, also add comments for the three major steps
in this test script because it finally looks sane.

Change-Id: Ic8ae611d853d4a685d38aa3112d16e396b0e110d
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1552
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2020-06-05 09:03:50 +00:00
Darek Stojaczyk
ce85fac4c3 test/vhost/initiator: use RPC daemon
About 1 second speedup. We can use RPC deamon everywhere except for
load_subsystem_config (since it's not a real RPC and it's handled
differently).

Change-Id: If14964c6688976e0f2edec40198c30d5cbc21e83
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1551
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2020-06-05 09:03:50 +00:00
Darek Stojaczyk
473007425e test/vhost/initiator: don't use test/vhost/common.sh
That common.sh requires e.g. qemu installed, which is
completely unnecessary for this test.

vhost_kill() used to clean up e.g. leftover fio files,
but now instead of deleting them, just tell FIO not to
create them by using --verify_state_save=0 fio param.

Change-Id: I5e63dad5681e715ee5dac131ec9b5c17bfdac2eb
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1550
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2020-06-05 09:03:50 +00:00
Michal Berger
fe711156e8 tests: Switch to $SPDK_TEST_STORAGE for writing out bigger tmp files
Change-Id: Ic400a470373fe59e89b2400af4f4264872281d64
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2368
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-05-20 14:17:02 +00:00
Michal Berger
844c8ec383 check_format: Reformat the Bash code in compliance with shfmt
Change-Id: I93e7b9d355870b0528a0ac3382fba1a10a558d45
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1718
Community-CI: Mellanox Build Bot
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-05-07 20:52:21 +00:00
Michal Berger
d9d62e1103 test/vhost: Attempt to read qemu.log uppon exiting
This gives a chance to quickly see why qemu might have failed, i.e.,
why the .pid file has not been found.

Change-Id: Ia1a5ae417164c865eede07cdb6dd4df1edc0b0b9
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2005
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-05-07 08:24:15 +00:00
Michal Berger
08f0abebb4 test/vhost: Use heredoc to create run.sh
This is to make the code that's about to be written out more clear
and drop the unecessary usage of a subshell.

Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: I024012b08fc3c29d3c37c59a42e64d8429929799
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2004
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-05-07 08:24:15 +00:00
Michal Berger
16e16c7700 test/vhost: Properly terminate last case
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: Ib09c3fb8a250e29f5915992f89eda7dbbff3516d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2003
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2020-05-07 08:24:15 +00:00
Michal Berger
64471319e3 test/vhost: Document and simplify handling of the $disks
From the code, and due to lack of any help() or usage(), the way how
$disks are meant to be declared was not clear right off the bat.
Comment out how the argument should be formatted and cleanup its
usage within the code.

Change-Id: I3a4b077d5026f6f17d0ccc27183d2a89222169f5
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2002
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2020-05-07 08:24:15 +00:00
Michal Berger
e1ddec2ca4 test/vhost: Convert $cmd to an array
The way how qemu cmdline for run.sh was being prepared was a bit
convoluted and simply hard to read. Instead of having it as a single
string, use it as an array and as such expand it for run.sh to use.

Change-Id: I1ee1bafbdd8a367a69c266d5a33c4d728fc0fe7b
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2001
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-05-07 08:24:15 +00:00
Michal Berger
417b77941a test/vhost: Fix arithmetic check against $max_disks
The size of the nvmes[] was being compared against a plain string
(which in arithmetic context always evaluates to 0) due to improper
var referencing.

Fix this by using (( )) to be more flexible and not depend on the
parameter expansion syntax.

Change-Id: I56fd3b98940961475638099dc66aec5544c832c7
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2000
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-05-07 08:24:15 +00:00
Karol Latecki
01425928ed test/vhost: fix vhost migration tests
Bug introduced in:
9fc706f test/vhost: improve run_fio --local option

The original "nohup + no-wait" for spawned local VM fio
processes was probably as expected. Turns out we can't
"wait" for fio processes in some cases, and migration
is one of them.

run_fio() must start fio and exit immediately, so that
parent script can have a chance to do the migration
process while fio is still running.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I3c0ab65e96bfa0b020eb42df76b14deda2b43e83
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1937
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-05-05 08:04:21 +00:00
Karol Latecki
a3e5b5d0ec test/vhost/initiator: use single file segments
Single file segments allow us to work with both
1GB and 2MB hugepages.

Change-Id: I2a455f9d23fafbf0746423f69379b74939ac2e9c
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2021
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-04-29 16:12:36 +00:00
Darek Stojaczyk
acd931d212 test/vhost/initiator: generate json config at runtime
Drop the static configuration file from spdk repo and
generate it with save_config RPC instead. This also lets
us drop a huge wart from those test that is discover_bdevs.

Change-Id: I74b2adbc2f391a04db9acd9ac7d0e8f381b41da0
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1549
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2020-04-29 06:43:57 +00:00
Darek Stojaczyk
5913f98d46 test/vhost/initiator: don't override the ERR trap
It's set once in autotest_common.sh and must not be set anywhere else.

Change-Id: I575d42f2b5caa38d9836f26b8aa6e414682d9554
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1548
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2020-04-29 06:43:57 +00:00
Darek Stojaczyk
3ac4e0a067 test/vhost/initiator: allow running as non-root
There's no reason to require running as root, so
remove the check for that.

Change-Id: I4fa97e5a500f4715c6949b8d84bfad4b59b1c474
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1547
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-04-29 06:43:57 +00:00
Darek Stojaczyk
4f00be338c test/vhost/initiator: remove obsolete code
Remove a lot of lines which don't do anything.

Change-Id: I7244c24332c36ad02634abe82ddf606f4c3faddc
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1546
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-04-29 06:43:57 +00:00
Karol Latecki
6d3ee83621 test/vhost_perf: allow multiple fio config files
Allow multiple fio config files and fun them sequentially
in loop against provisioned Vhost+VMs setup.
This should decrease total time needed for performance
benchmarks as we can re-use current configuration rather
than provision from scratch for each workload.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I0c4e37f0bb9f49f7614c8001d74d72b99470c084
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1899
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2020-04-21 08:00:24 +00:00
Karol Latecki
3eb1aa934d test/vhost: do not overwrite fio config file
Fio output was saved to the same file as original
fio config. For a single test run this was not an issue,
but in case we run more iterations (like in performance
tests) we cannot overwrite the original config file.

Use fio config file name (without file extension) and add
".log" to the name.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: If6f9d582ff5817c85b7cbf9192530b87a2079274
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1898
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2020-04-17 07:41:09 +00:00
Karol Latecki
8e6484b0a0 test/vhost: fix common/run_fio for multiple clients
Missing space caused wrong string concatenation
when running test with multiple VMs.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I594035b3c5c952cf74e4b6c2002e975f82e303a3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1896
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-04-17 07:41:09 +00:00
Karol Latecki
a0e6c88daa test/vhost: run fio bdev plugin in test VMs
Allow to run fio bdev plugin with attached virtio
devices. This might allow to get better performance
results when running performance tests.
Fio is not run in client-server mode due to problems
experienced when running fio plugin that way.

These changes are not generic and will not work
in the CI out of the box. New VM image must be crafted
in order to run fio in this mode. VM must have compiled
SPDK and FIO binary already in place.

Change-Id: I2e957e1e3a573cc899fcfbe5918193e1af6a9a63
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1605
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-04-16 08:07:47 +00:00
Michal Berger
524b0ddb46 test/vhost_perf: Drop .ini config in favor of json
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: Ida15585aa2c16e03f000ca115babc8a5a3629fe8
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1284
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
2020-04-08 06:44:22 +00:00
Karol Latecki
9fc706f4b6 test/vhost: improve run_fio --local option
When using --local acutally wait for fio processes
to finish and then gather results back to the host
system.

--local allows to run independent fio instances
on guest systems, avoiding fio client-server mode.
This will come in handy when trying to run fio bdev
plugin with virtio bdevs in guest systems.
At the moment fio plugin does not work in client-
server mode, so "local" must be used"

Change-Id: I2020c1b636fbf4ab1fe8ef590639e0dbfd905414
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1533
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-04-02 14:51:48 +00:00