No description
  • Python 93.1%
  • Makefile 4.8%
  • Go Template 1.6%
  • Shell 0.5%
Find a file
Daniel Wagner 4e15b9fc0d build: do not call coverage directly
Debian's python3-coverage apt package installs the CLI as
/usr/bin/python3-coverage, thus the bare coverage call fails.

Signed-off-by: Daniel Wagner <wagi@monom.org>
2026-08-19 13:42:09 +02:00
.github build: enable mypy tests 2026-08-19 11:28:00 +02:00
debian nvmetcli: remove python-kmod 2026-08-18 21:33:42 +02:00
Documentation fix common misspellings from codespell project 2023-11-03 10:29:27 +01:00
examples Add fc transport support to nvmetcli 2017-04-18 10:02:53 +02:00
nvmet nvmet: add type annotations 2026-08-19 11:28:00 +02:00
rpm nvmetcli: remove python-kmod 2026-08-18 21:33:42 +02:00
.gitignore build: use 'coverage run nose' 2026-08-18 21:33:42 +02:00
bump-ver.sh build: replace setup.py with PEP 517/518 tooling 2026-08-18 21:33:42 +02:00
COPYING initial public release 2016-03-16 17:57:54 +01:00
fc.json Add fc transport support to nvmetcli 2017-04-18 10:02:53 +02:00
loop.json update README and examples 2016-05-29 21:36:17 +02:00
Makefile build: do not call coverage directly 2026-08-19 13:42:09 +02:00
nvmet.service nvmetcli: set up the target only after the network is configured 2023-03-15 14:42:30 +01:00
nvmetcli nvmet: add type annotations 2026-08-19 11:28:00 +02:00
pyproject.toml bump version to v0.9 2026-08-19 11:32:01 +02:00
rdma.json update README and examples 2016-05-29 21:36:17 +02:00
README build: use 'coverage run nose' 2026-08-18 21:33:42 +02:00
setup.cfg build: add initial CI tests 2026-07-06 17:55:29 +02:00
tcp.json nvmetcli: add a tcp example json 2021-01-06 10:01:08 +01:00

nvmetcli
========
This contains the NVMe target admin tool "nvmetcli".  It can either be
used interactively by invoking it without arguments, or it can be used
to save, restore or clear the current NVMe target configuration.

Installation
------------
Please install the configshell-fb package from
https://github.com/open-iscsi/configshell-fb first.

nvmetcli can be run directly from the source directory or installed
using pip install .

Common Package Dependencies and Problems
-----------------------------------------
Python3 is supported.

nvmetcli uses the 'pyparsing' package -- running nvmetcli without this
package may produce hard-to-decipher errors.

Usage
-----
Look at Documentation/nvmetcli.txt for details.

Example NVMe Target .json files
--------------------------------------
To load the loop + explicit host version above do the following:

  ./nvmetcli restore loop.json

Or to load the rdma + no host authentication version do the following
after you've ensured that the IP address in rdma.json fits your setup:

  ./nvmetcli restore rdma.json

Or to load the fc + no host authentication version do the following
after you've ensured that the port traddr FC address information in
fc.json fits your setup:

  ./nvmetcli restore fc.json

Or to load the tcp + no host authentication version do the following
after you've ensured that the IP address in tcp.json fits your setup:

  ./nvmetcli restore tcp.json

These files can also be edited directly using your favorite editor.

Testing
-------
nvmetcli comes with a testsuite that tests itself and the kernel configfs
interface for the NVMe target.  To run it make sure you have nose2 and
coverage installed and simple run 'make test'.  To run all
the tests you also need some test block devices or files.  Default is to
use /dev/ram0 and /dev/ram1.  You can override default with environmental
variable eg. NVMET_TEST_DEVICES="/dev/sdk,/dev/sdj" make test .

Development
-----------------
Please send patches and bug reports to linux-nvme@lists.infradead.org for
review and acceptance.