Commit Graph

73 Commits

Author SHA1 Message Date
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
Daniel Verkamp
1085e6fd40 autotest: only delete partitions on NVMe namespaces
Don't try to delete partitions on NVMe block devices that are already
partitions.  For example, clean up nvme0n1 but not nvme0n1p1.

Change-Id: I1f642abd7f6ff6b9b6c08d65afee04b9bc9a3430
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-10-04 12:20:44 -07:00
Cunyin Chang
658faa3d25 test: Add calsoft test for iscsi target.
Change-Id: Iab3b7bbabc0d327a9c834bc5dbef8c339b19817d
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2016-09-27 08:13:07 -07:00
Cunyin Chang
3e83ccce9f test: Add idle migration test for iscsi target.
Change-Id: I971b7b61f09902d12c63b160e8b0dd9a7eb9ef51
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2016-09-27 08:13:07 -07:00
Daniel Verkamp
7d2851442b lcov: keep intermediate coverage files in output
Keep the temporary files generated by running coverage-instrumented
programs.  This is useful for debugging issues with lcov.

Change-Id: I00127e936ecedcfb86d921e3dbde2ed636cc2a4c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-09-23 12:31:17 -07:00
Daniel Verkamp
6c5f05f177 util: add bit array data structure
Change-Id: Idab4473fa23486e72334ec07d0853c6325197c20
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-09-15 15:47:56 -07:00
Daniel Verkamp
9c04f2f1f9 lcov: ignore external files in coverage data
Rather than removing external coverage data at the end, just don't
capture it at all.

Change-Id: I23b74a4aa735e470b642af76040d1c3ed491276f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-09-13 10:39:56 -07:00
Daniel Verkamp
b4a15dfb46 test/iscsi: add parameter negotiation unit test
Change-Id: I9411c01960a8cff4b128a08fb42d3970915dbf6f
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-18 09:54:34 -07:00
Daniel Verkamp
0d61bf4b50 autotest: move NVMe device cleanup to startup
Make sure any partition tables or other random data on the disks is
cleaned up before running the tests, rather than trying to clean it up
on failure when the system is in a potentially bad state.

Change-Id: Ia2119485aee6a50243744328dff2314d7a72adad
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-17 09:04:16 -07:00
Daniel Verkamp
6697ff02f9 nvmf: test nvme cli over NVMf
Change-Id: I2d71945edc9596775092b59f70ca108c775b322e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-05 12:51:30 -07:00
Ben Walker
1e92d78a10 iscsi: Add an iscsi target application
Similar to our NVMf target, this is an iSCSI target that
can interoperate with the Linux and Windows standard iSCSI
initiators.

Change-Id: I6961c5ef99f7b161c396330ed5b543ea29b0ca7b
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-08-04 13:15:33 -07:00
Daniel Verkamp
bd4ac74eaf scsi: import SCSI/blockdev translation layer
Change-Id: Ie96943f40ea8be4156d55bc5eeacc567743cf9d6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-01 10:35:01 -07:00