It's always set in autotest_common.sh, there's no need
to set it again in each test script.
Change-Id: Ib14c4189c553dad54a3065c1a1d413a5fc5a5347
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457466
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
In fio.sh we used `set +e` for bdev deletion RPCs
and for `wait $fio_pid`. Disabling errors from those
RPCs doesn't make sense. We expect FIO to fail due
to bdev hotremoval, but the bdev hotremoval itself
must succeed.
Besides, it's easy to forget to undo `set +e` so
don't use it. For `wait` we can use the following
paradigm instead:
```
rc=0
wait $pid || rc=$?
```
The same applies to nmic.sh, where we expect some
RPC to fail.
Change-Id: I66ce3504a0c6b5da497759f0688b6c0ea6480b61
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457463
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Scripts were using a mix of two approaches, lets unify that so
just dollar-parenthesis syntax is used.
Change-Id: Id093b6c82d1f766ba6af13bed720977eceaa7ffc
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457744
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Partprobe is a program that informs the operating system kernel
of partition table changes, by requesting that the operating system
re-read the partition table. For instance, if you create a new
partition on one of your disks using parted, you should run
partprobe afterwards to make the kernel aware of the new partition
configuration.
This is useful for issue #799.And it's compatible with other systems.
Change-Id: Icd4c85193bd9d9e6c2b32b8463e75c7a6ff06f34
Signed-off-by: yidong0635 <dongx.yi@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457735
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Normal return for qemu checking , this should check before vhost/common.sh.
For qemu not installed on this machine. It may be a VM. Skipping nvmf_vhost test.
Otherwise, code will exit 1 before this normal return.
And in vhost/common.sh should with qemu checking.
Change-Id: I2285fffa6fc4384b4b172e5c443019e9ab391fa0
Signed-off-by: yidong0635 <dongx.yi@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/456123
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This prepares for using scripts for tcp testing as well.
Note that this patch just hardcoded TEST_TRANSPORT to
'rdma' for now. An upcoming patch will require the
caller to pass --transport=rdma instead.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I085fdf51910aaf960959c71c73a187be41fd7ee8
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/456667
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
A lot of places were still hardcoding 4420 directly.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Iff8a549addeb05e441fe3b035a84a0f8a6bf2205
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/456666
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This script was developed in parallel to some of the
script infrastructure improvements. So fix it up to
match the more recent changes - including leveraging
the common setup of the NVMF_FIRST_TARGET_IP, and removing
the parameters to nvmftestinit/nvmftestfini.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I6cc4ef30325961822014e2835e575a950c53ecc0
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/456665
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This script was getting a bit unwieldy. adding argparse will make it
easier to add more options in the future or to set default values and
validate arguments going forward.
Change-Id: I1ffdbdf2082287ceb8a88cd3eb6ecf9bbd6c9e11
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455724
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: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Good suggestion from Darek - let's just always
parse common script args from autotest_common.sh.
These arguments follow common arg naming conventions
(i.e. --iso) so there's no harm just doing this for
any test that sources autotest_common.sh. This has
the nice effect of not requiring scripts to
explicitly call this function.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id89b68c22557a5a771be407873d0e57843f0d05a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455552
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
iscsi test scripts can now take two arguments -
"iso" and then the sock type (posix or vpp). They
need to be in that specific order too. nvmf test
scripts also support "iso" and we want to add
the transport type (rdma or tcp) as well. Even further
out, we may want to use a sock type for nvmf, i.e.
tcp transport with vpp.
We also have the iscsi_tgt fio_remove_nvme.sh test
that does both iscsi and nvmf.
So to make this all work a bit nicer, add a new
function called parse_common_script_args that
will take the command line arguments to a script
and set the appropriate variables, including defaults
when a specific parameter isn't specified. We will
use getopt-like behavior for this also, instead of
enforcing a specific parameter order. Then a script
could be called like this:
test/nvmf/target/shutdown.sh --iso --transport=tcp --sock=vpp
Individual test scripts then just need to do this
after sourcing autotest_common.sh:
parse_common_script_args $@
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ifb8d7666384991482a2d425e26ffa7525b9ac15a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455283
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
There's a bug in Linux 5.1 (possibly 5.0 too) where
the kernel initiator driver crashes if it can't get
one queue per CPU. This will get fixed eventually,
but for now we need to remove the cases where we
restrict the number of queues per controller so that
we can test on newer kernels.
Even on cases where we're testing the SPDK initiator,
there's no real need to restrict the number of queue
pairs.
The kernel will eventually get fixed, but we should
be testing with default behavior anyways (the kernel
wants lots of queues). We'll also want to add some
regression tests to make sure the kernel doesn't
break again. But that will all come later.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I9979e6d94456e075688b822b042936b63e518a4a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454819
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Rather than revert this patch, just modify the path to the common script
to enable it to pass in the test pool.
Change-Id: I33f5d89e1e118df4546f45237b55173ad30fad24
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455277
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This will allow us to verify functionality between the nvmf target and
the vhost target and test extra code paths within the nvmf target
including multi-sgl stuff.
Change-Id: I3f5e9351c11ab896b75cd7bba7a69d95c1d031be
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451993
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>
Just name the malloc bdev explicitly. And since there
is only one bdev, remove all of the unnecessary loops.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ie3b55161d6ebee64497bc9726edaa3fbf04bb445
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454690
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
1) remove unnecessary disconnect for cnode2 - this
subsystem doesn't exist (and the || true was
hiding the failure
2) remove || true from the cnode1 disconnect
3) remove extra spaces when assigning nvme_model -
maybe these spaces are OK on some versions of
bash, but when I run this locally this doesn't
work at all
4) remove trailing spaces from model returned by
identify data before comparison
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: If3dd7ddc2ba44fc880e5b398b5fe0922b6637b80
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454689
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
A few test scripts were creating 128MB malloc bdevs
instead of 64MB - but there's no real reason for the
difference. So make them all the same. A future
patch will make all of these size variables common
instead of duplicated in each file.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I865ef08f384e026d0d3e7b064fb3a2d5958f054c
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454688
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Adding the second bdev doesn't provide any real value since
it's the same kind of bdev.
While here, explicitly name the malloc bdev to simplify
the test some more.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ide6da901d4b90383cc73fa195b5a070a8eda0d01
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454687
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
1) specify malloc bdev name explicitly
2) just use a single loop variable
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I7fb4fc28715f7303fc2b39de80985939ab469887
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454686
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This is a preparatory patch for specifying the transport
when calling the script. Better to use "rdma" across the
board instead of a mix of "rdma" and "RDMA".
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: If7170cff6ba2ec51e92a0423c0b24cc141054b55
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454685
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
All of the checking for NVMF_FIRST_TARGET_IP, starting
the target, waiting on the target and modprobing
nvme-rdma is duplicated in every script. So move
a lot of this either to nvmftestinit() or a new
nvmfappstart() function in common.sh.
Also just kill the nvmf target in nvmftestfini, rather
than the script to explicitly kill it.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I5864404610a4244473f460d48264de92687ed867
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454678
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Pull this parameter when sourcing common.sh
and set a RUN_IN_ISOLATION flag if it was specified.
This reduces the overall code a bit plus avoids having to
pass the "iso" parameter to nvmftestinit and nvmftestfini.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Idbbe27bfb7b62857500176cdb5d90e381fce4ffc
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454814
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This tests a variety of bdev-related commands against
our NVMe-oF target. The key ones are write_zeroes
and nvme_passthrough which until now weren't being
tested at all.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id8a5cfb2e41c2a7e8fd940b61b43a80c39993f9a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452936
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
We use python3 now, not python. This is important
because in next patch we will use a new 'aliases'
keyword argument in the argparse API that's only
available in Python 3.
While here, clean up some documentation that was
instructing users to call python explicitly instead
of just invoking scripts/rpc.py directly.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I0c11e131cd56f7c994aa8fe21b4b00ae33489fdd
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453460
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This reduces the number of directories significantly.
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2bb428962e1666bd3cee20fb566c7eb81195363a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452934
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>