Commit Graph

84 Commits

Author SHA1 Message Date
Pawel Kaminski
96bd19093b test/vhost: Fio tests for vhost initiator.
Change-Id: Iad11eef12c0f7f80c26264f65a38df798eae1a27
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/378071
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-10-11 11:10:13 -04:00
Tomasz Zawadzki
c0e6ecaa0b test/vhost: add vhost with lvol backends test
Script for testing vhost using lvols as backends for
virtual machines. Option for using nested lvol stores and
nested lvol bdevs also provided.

Change-Id: Iad8a196c97f292881a8b424b4433ec281f12aec6
Signed-off-by: Lukasz <lukaszx.galka@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/365798
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-09-20 12:53:28 -04:00
Paul Luse
b9244352b0 unittests.sh: use valgrind if installed and not using ASAN
Automatically uses valgrind with the same options as CI does
provided that it is available ASAN is not enabled.

NOTE: if you don't want to use valgrind then enable ASAN

Change-Id: I44f8322680eb2608464eb128d49d20dc1d311f0c
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/369064
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-07-14 18:14:09 -04:00
Karol Latecki
86538ffa24 test/vhost: remove tee pipe from vhost start command
Also restoring vhost block tests in autotest.

Change-Id: Idc6a3068650ce28636f4709df5a51029bfddbcdd
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/369470
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-07-13 19:18:18 -04:00
Daniel Verkamp
4560c2bf89 autotest: explicitly remove /usr from coverage
The lcov --no-external option seems to still generate coverage data for
e.g. /usr/include/c++/4.8.2/tuple on some test pool machines, contrary to
the description of the option.  Add an explicit removal of all /usr file
coverage at the end of the test run to work around it.

Change-Id: I8579813b1b76b4bfdef86748e88352bf232df954
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/369305
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-07-13 15:48:07 -04:00
Jim Harris
4ce7dd66cd test/vhost: disable vhost-blk tests
The vhost blk tests are causing a lot of intermittent
failures in the test pool.  Disable for now while this
is debugged further.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ia49db7b48b5850e92f60983348c13f724c8895c0

Reviewed-on: https://review.gerrithub.io/369323
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-07-13 01:23:35 -04:00
Karol Latecki
0abf67ce31 test/vhost: add vhost block option to fiotest
Allow running VMs in fio tests with vhost-block instead of
vhost-scsi.

Change-Id: I89ee437264ddcda0aaefdb71744cee6ce7d451d8
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/365808
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2017-07-10 19:18:16 -04:00
Ben Walker
58b9ea3ac0 nvme: Simplify the multiprocess tests
Nearly all tests now make extensive use of the stub application,
so they're effectively all testing multiprocess all the time.
Further, we believe it to be the best policy to not attempt
to support scenarios where the primary process crashes unexpectedly.
We consider this equivalent to a kernel panic and all of the
processes will need to be halted and restarted.

Given the two things above, we can make some fairly dramatic
simplifications to the NVMe multiprocess testing. Only
one piece of functionality - multiple simultaneous secondary
processes - was not already tested by the other regular
tests. This patch removes all other multiprocess tests
and adds a simple test of multiple secondaries.

Change-Id: If99f85913b99862f02c3815ea7c10cd80ea3ce02
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/368208
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-07-10 17:25:53 -04:00
Daniel Verkamp
978bc57a0b autotest: fix coverage pattern for removing DPDK
Change-Id: I6d024eabbf72fb59084611df8f661f6b07ae3555
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/367733
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-07-05 18:13:48 -04:00
Seth Howell
27becf40d0 autotest.sh: remove extra files generated by lcov.
Change-Id: I7d65ce6b7926559d11cfe659820be76f202aede5
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/366349
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-06-20 19:52:16 -04:00
Ziye Yang
ee368e7b81 Autotest: Enable ASAN if there is asan lib
It seems that asan does not work well with:
(1) Valgrind. If asan is enabled, we do not use valgrind.
(2) Spdk fio plugin. If asan is enabled, we cannot work
with it even with the suggestion by using LD_preloads.
(3) Hotplug. If asan is enabled, it catches the SEGV earlier
than our defined handler

Change-Id: Id4bd5ae0f545aaba7d028e3da14fdddc18682429
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-on: https://review.gerrithub.io/364917
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-06-20 18:00:15 -04:00
Daniel Verkamp
9548caa608 autotest: ignore coverage info for DPDK
Fixes coverage after addition of the DPDK submodule.

Change-Id: I03e2a4b61d9648e49c8f267e32879e3f2580e27a
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/363309
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-06-01 14:00:02 -04:00
Seth Howell
ecaf3fe140 autotest.sh: changed to accomodate agents with no nvme devices.
Change-Id: I0098cad19e3b8492495d0e779fd2bc52ef1bf23b
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/363125
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-05-30 23:56:10 -04:00
cunyinch
ad84526d1c test/nvmf: move the nvmf test cases to the separate script.
Change-Id: I14dcb4c37d19b9696e6ad1ee088b37e34efbf3ff
Signed-off-by: cunyinch <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/362809
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-05-30 17:59:44 -04:00
Daniel Verkamp
58ed368569 autotest.sh: add test config flag for unittest.sh
Change-Id: I01b3e9243674b349dda42df896f7332d168f940f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/362390
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-05-24 12:58:01 -04:00
Jim Harris
4c438999e0 test/iscsi_tgt: move iscsi script invocations to separate file
This enables iSCSI tests to be more easily run in isolation.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I4868ca68fe16e06025fd36c62c41ad0694806051

Reviewed-on: https://review.gerrithub.io/361811
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-05-24 11:48:38 -04:00
paul luse
6fba6ff448 unittests: add local UT coverage
Collect coverage info when running UT locally when lcov
is available.

Change-Id: I34a8b60056775a25cd4a3906d59c4a42e7cc845f
Signed-off-by: paul luse <paul.e.luse@intel.com>
2017-05-18 09:48:23 -07:00
Daniel Verkamp
f4cd3c08dd autotest.sh: run NVMe hotplug test on every build
Change-Id: Ic15046490d1da625bb9a17d6ef3e7b27bbfbfe00
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-12 08:04:53 -07:00
Daniel Verkamp
5bbac65d54 autorun: make config setup common to all scripts
Change-Id: I0e497953164012ea2887f3bf1f4d91b783d6b6e5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-02 17:11:46 -07:00
Ziye Yang
13fc774bf4 fio_plugin: add NVMe-oF host support in fio_plugin.
Also adds the automation test case for using remote
NVMe devices exported by NVMe-oF target.

Change-Id: I2b839a4eeec33d5b0c30d654e6013ad8c7949e23
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-04-21 09:38:45 -07:00
Daniel Verkamp
df009d7323 test/iscsi: move iSCSI unit tests to unittest.sh
Change-Id: I19f3f5485bfbf3dec275acddbc45786f76cd4198
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 15:27:50 -07:00
Daniel Verkamp
342587932a autotest: set valgrind for unittest.sh
Change-Id: Ic176953e150e50039edf4416fcba9fb64e8947ef
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-29 11:57:07 -07:00
Jim Harris
1edd9bf3e4 blobfs: Add a lightweight filesystem built on the blobstore
This is the initial commit for "blobfs", a lightweight
filesystem built on top of the SPDK blobstore.

Also included in this patch:

1) a shim for using SPDK bdevs as the backing store for
   SPDK blobstore/blobfs
2) documentation for using blobfs as the storage engine
   with RocksDB
3) scripts for running a set of workloads and collecting
   profiling data with RocksDB and blobfs

See doc/blobfs/getting_started.md included in this commit
for more details on blobfs, including some of the current
limitations.


Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2a6d3d4b87236730051228ed62c0c04e04c42c73
2017-03-24 14:15:45 -07:00
Ziye Yang
b0ad3322f0 bdev/nvme: RPC call can now specify remote NVMe-oF devices
Change-Id: Ief3cf71489f0725249d51851b8d3270cb4e034db
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-03-14 08:38:04 -07:00
Daniel Verkamp
5681ff04c9 autorun: add per-agent test configurations
Allow agents to selectively enable which tests they run in an optional
file, ~/autorun-spdk.conf.

Change-Id: I52440884cbe599aeb1270dc4f6ee85f5acb9a0c2
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Signed-off-by: Seth Howell <seth.howell@intel.com>
2017-03-13 13:37:16 -07:00
Ziye Yang
97660c1adb nvmf,test: Add frequent nvmf subsystem add/delete test
This patch creates a new test case: use rpc to
frequently add/delete a same subsystem to verify the
correctness of our code.

Change-Id: Ib582061f9fa909f271bea4865df29a3f432f807c
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-03-13 10:51:24 -07:00
Piotr Pelplinski
1dbf53eebf vhost: add a library and app for userspace vhost-scsi processing
This patch adds a library, application and test scripts for extending
SPDK to present virtio-scsi controllers to QEMU-based VMs and
process I/O submitted to devices attached to those controllers.
This functionality is dependent on QEMU patches to enable
vhost-scsi in userspace - those patches are currently working their
way through the QEMU mailing list, but temporary patches to enable
this functionality in QEMU will be made available shortly through the
SPDK github repository.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Signed-off-by: Krzysztof Jakimiak <krzysztof.jakimiak@intel.com>
Signed-off-by: Michal Kosciowski <michal.kosciowski@intel.com>
Signed-off-by: Karol Latecki <karolx.latecki@intel.com>
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

Signed-off-by: Krzysztof Jakimiak <krzysztof.jakimiak@intel.com>
Change-Id: I138e4021f0ac4b1cd9a6e4041783cdf06e6f0efb
2017-03-06 12:44:35 -07:00
Daniel Verkamp
a8bfa65ff2 test/nvmf: move AER test to nightly builds only
Change-Id: I61e514936265fad90b7862e2335b80c33e13eb3f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-06 11:08:51 -07:00
Ziye Yang
bfe2897da3 nvmf,target: solve shutdown coredump issue
It is caused by this commit:
4163626c5c

nvmf_tgt_delete_subsystem registers the poller
with function subsystem_delete_event.
subsystem_delete_event is called asynchronously,
the deletion should happen in this function.
Otherwise, with the current code,

g_subsystems_shutdown = true
TAILQ_EMPTY(&g_subsystems) = true
when subsystem_delete_event is firstly called.

If there are multiple subsystems, the logic is wrong.
Thus other subsystem will never be delete. since
we already execute shutdown_complete().

Also add related test scripts.

Change-Id: I3823563fc9e8611c11a6d798685ff64e2939842e
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-03-02 09:39:48 -07:00
Ziye Yang
0801877b7d nvmf,direct: add AER support in direct mode.
After checking the code, aerl in our session is 0,
so there will be only 1 AER. So currently,
we will only handle 1 AER case.

When the AER event is triggered by real NVMe device owned
by the subsystem, it notifies all sessions belonging to
the subsystem.

Change-Id: Ia80fb0f03e893c20d8dd14afbed8db10db38301c
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-03-01 10:47:52 -07:00
Daniel Verkamp
4945edb449 autotest: only copy cov_total.info to build output
The other coverage files are intermediate steps and are not necessary
for the generation of the final coverage data.

Change-Id: I2ad992fc7f9a93a5ae7a69b28b53b159d0ad10e2
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-02-28 00:18:51 -07:00
Daniel Verkamp
94b8735398 test/nvmf: move multiconnection test to nightly build
Change-Id: I750f86f499b5558ecfc3f6dea8988eaa8c53f4d1
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-02-15 17:21:12 -07:00
Xiaofan Yang
25083abc12 test: add nvmf/multiconnection testing into autotest
Change-Id: Iacc4e8c5918bd522234075aeb8d6657649fd9ea4
Signed-off-by: Xiaofan Yang <xiaofanx.yang@intel.com>
2017-02-14 10:36:03 -07:00
Daniel Verkamp
f3b3fe5b36 autotest: remove duplicated unit test invocations
Now that unittest.sh is run as part of the automated tests, drop the
various unit test calls scattered throughout the tree.

Change-Id: Iea98314bb7f04620d72d81d25e24f8e706b50ce1
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-25 15:19:23 -07:00
Daniel Verkamp
abfda721cd autotest: run unittest.sh
Verify that the unit test script run by Travis CI works in the autotest
environment.

This duplicates some of the current tests - that will be cleaned up in a
future commit.

Change-Id: Icca60dee3348e2675492b9c6294de6aa094b3375
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-25 15:19:23 -07:00
Daniel Verkamp
fe0125e03b autotest: stop excluding test/ from lcov results
Change-Id: I7a190d9901e0f8ce5515ac2c4fdcb25ffa31264f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-20 17:06:14 -07:00
Cunyin Chang
94cf5c00d2 test: Add autotest for hotplug.
Change-Id: I5822c36a7374b680a3b213b8768afd834daf59d9
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2016-12-14 15:04:33 -07:00
Ziye Yang
87eb023afe nvme/rdma: Add identification test for kernel nvmf target
Change-Id: Ibcfdf1a451f88e186ae328560c21480c81dc44b3
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2016-12-06 16:35:50 -07:00
GangCao
bb726d516b nvme: add multi-process support
This version of multi-process support needs to have DPDK 16.11 builtin.

Change-Id: I3352944516f327800b4bd640347afc6127d82ed4
Signed-off-by: GangCao <gang.cao@intel.com>
2016-12-02 12:24:22 -07:00
Ziye Yang
4a0c1021fc nvme: update nvme perf program to test nvmf target
1 update nvme_rdma.c to fix the I/O queue creation bug.
2 update examples/nvme/perf/perf.c
3 add perf.sh

Change-Id: Ic7d4845219deb93bc042e34abbb7b2e05793ccd8
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2016-12-02 08:41:12 -07:00
Cunyin Chang
bdbea32857 test: Add autotest for ip migration.
Change-Id: Ic62badb272655b68883d3fe3484b2e67e01837e4
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2016-11-30 16:57:00 -07:00
Daniel Verkamp
8b45a830c4 test/nvmf: put host tests into a timing group
Change-Id: I4efecdd273a8a83ee9f2bb249141129a0ba82ee3
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-11-30 09:56:51 -07:00
Jim Harris
076fb28427 test/env: move vtophys to subdirectory
This prepares for some additional env tests.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I577faad44fb9ae5c83785b406728224b16396f26
2016-11-23 11:29:42 -07:00
Jim Harris
4db2eb4053 test/iscsi: add pdu test
As part of this commit, stop building the iscsi
tests on FreeBSD.  This new pdu test links in
object files from the iscsi library, some of which
do not build currently on FreeBSD with our default
error/warning levels.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Icb6a3dc17aa62882d0477f7734d2701ea09a3f36
2016-11-23 11:29:41 -07:00
Ziye Yang
246c39a7ee nvme: Add nvme over fabrics support
Change-Id: I6f6259e77baa5dc5861f31ec4a9034e15297d333
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2016-11-18 13:58:44 -07:00
Daniel Verkamp
19d56fead7 test: move RBD test pool setup to autotest.sh
Leave the RBD pool configured and running throughout the tests so that
it can be used in multiple test scripts.

Change-Id: I056ef29bd8d97fa63f1ca78ee728f9c51f4bdf41
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-11-17 12:46:37 -07:00
Ziye Yang
8dc39f6203 test/rbd: Enable fio test for iSCSI target while using RBD as LUN
Change-Id: Idc138e2207e522113384ebc132447e2fb321e137
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2016-11-09 08:57:54 -07:00
Ben Walker
78a018260d test: Clearly denote start/end test in log
This makes it easier to search logs on test
boundaries.

Change-Id: I4500479cb8c8322d5ba73bbefd51e006cbb1e82a
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-10-24 09:10:39 -07:00
Jim Harris
68cdd81a83 test: add new ext4test
This test will create a malloc and NVMe iSCSI target node,
perform an iSCSI login, create and mount a filesystem, then
copy the SPDK contents to the mount and do a build.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I00291e6ca768dd4b685086cf1479098558b9329f
2016-10-12 14:49:49 -07:00
Ben Walker
a30b5532cb memory: Rename to env
The new env library will wrap all third-party library
calls and be easily swappable with alternate implementations
at build time. For now, it's just the memory library
renamed.

Change-Id: I26a70933289f8137107208ba75f7520fd7a33da0
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-10-05 09:49:35 -07:00