[PATCH V2 00/46] nvmftests: NVMe Over Fabrics Unit Test Framework

Chaitanya Kulkarni ckulkarnilinux at gmail.com
Tue Oct 24 18:30:17 PDT 2017


From: Chaitanya Kulkarni <chaitanya.kulkarni at wdc.com>

Hi,

This contains second version of the NVMe Over Fabrics unit test framework (nvmftests).

Changes since V1:-
    1. Addition of new testcases to improve the coverage.
    2. Improved directory structure for code clarity.
    3. Libification of the common code.
    4. Support to use different block devices on the target side.
    5. Centralize test configuration management.
    6. Support to execute File System related operations on the host side.
    7. Adjust the code to incorporate the comments received for the
       first version.
    8. Support for setting different log levels for each component.
    9. Support for quick performance measurements.
    10. Class hierarchy documentation and sequence diagram.
    11. Improved workqueue management for host namesapce to
        run parallel commands.

It will be great if I can get some feedback, I'll be happy to incorporate
the comments and make it more usable.

Following is the code repository for current code:-
    https://github.com/ChaitanayaKulkarni/nvmftests/releases

For the purpose of review, this patch series is generated against
$KERN_SRC/tools/testing/selftests/.

Regards,
-Chaitanya

Chaitanya Kulkarni (46):
  nvmftests: add nvmftests README file
  nvmftests-utils: add utility class to define constants
  nvmftests-utils: add shell command package
  nvmftests-utils: add log package
  nvmftests-utils: add diskio package
  nvmftests-utils: add fs package
  nvmftests-utils: add misc package
  nvmftests: add utils package
  nvmftests-nvmf: add target config generator
  nvmftests-nvmf: add support for target ns
  nvmftests-nvmf: add support for target port
  nvmftests-nvmf: add support for target subsystem
  nvmftests-nvmf: add support for target
  nvmftests-nvmf: add target package
  nvmftests-nvmf: add support for host ns
  nvmftests-nvmf: add support for host subsystem
  nvmftests-nvmf: add support for host
  nvmftests-nvmf: add host package
  nvmftests-nvmf: add nvmf core package
  nvmftests-tests: add user config file
  nvmftests-tests: add support for test logger
  nvmftests-tests: add a parent class for tests
  nvmftests-tests: add a test for generic block device
  nvmftests-tests: add a test for ns-descs
  nvmftests-tests: add a test for create/delete host
  nvmftests-tests: add a test for NVMe PCIe target ns
  nvmftests-tests: add a test to create and delete target
  nvmftests-tests: add a test for controller rescan
  nvmftests-tests: add a test for controller reset
  nvmftests-tests: add a test for get-ns-id
  nvmftests-tests: add a test for identify controller
  nvmftests-tests: add a test for identify namespace
  nvmftests-tests: add a test for smart-log
  nvmftests-tests: add a test to run IOs with dd
  nvmftests-tests: add a test to run IOs parallely with dd
  nvmftests-tests: add a test to run mkfs and fio
  nvmftests-tests: add a test to enable/disable target ns
  nvmftests-tests: add a test to run IOs with dd randomly
  nvmftests-tests: add a test to scan host ctrls and ns
  nvmftests-tests: add a test to scan target subsys/ns
  nvmftests-tests: add a target template
  nvmftests-tests: add a host template
  nvmftests-tests: add a test to run traffic and disable ns
  nvmftests-tests: add a test to measure perf with fio
  nvmftests: add class documentation and sequence diagram
  nvmftests: add Makefile

 tools/testing/selftests/nvmftests/Makefile         |  63 +++
 tools/testing/selftests/nvmftests/README.md        | 177 +++++++
 tools/testing/selftests/nvmftests/doc/Makefile     |   7 +
 .../selftests/nvmftests/doc/sequence-diag/Makefile |   7 +
 .../nvmftests/doc/sequence-diag/nvmftests.plantuml |  98 ++++
 tools/testing/selftests/nvmftests/nvmf/__init__.py |  28 ++
 .../selftests/nvmftests/nvmf/host/__init__.py      |  23 +
 .../testing/selftests/nvmftests/nvmf/host/host.py  | 365 ++++++++++++++
 .../selftests/nvmftests/nvmf/host/host_ns.py       | 262 ++++++++++
 .../nvmftests/nvmf/host/host_subsystem.py          | 527 +++++++++++++++++++++
 .../selftests/nvmftests/nvmf/target/__init__.py    |  25 +
 .../selftests/nvmftests/nvmf/target/port.py        | 122 +++++
 .../selftests/nvmftests/nvmf/target/target.py      | 210 ++++++++
 .../nvmf/target/target_config_generator.py         | 222 +++++++++
 .../selftests/nvmftests/nvmf/target/target_ns.py   | 117 +++++
 .../nvmftests/nvmf/target/target_subsystem.py      | 140 ++++++
 .../nvmftests/tests/config/nvmftests.json          |  83 ++++
 .../testing/selftests/nvmftests/tests/nvmf_test.py | 204 ++++++++
 .../selftests/nvmftests/tests/nvmf_test_logger.py  |  50 ++
 .../nvmftests/tests/test_nvmf_create_gen_blk.py    |  71 +++
 .../nvmftests/tests/test_nvmf_create_host.py       |  71 +++
 .../nvmftests/tests/test_nvmf_create_pci_target.py |  70 +++
 .../nvmftests/tests/test_nvmf_create_target.py     |  62 +++
 .../nvmftests/tests/test_nvmf_ctrl_rescan.py       |  63 +++
 .../nvmftests/tests/test_nvmf_ctrl_reset.py        |  63 +++
 .../nvmftests/tests/test_nvmf_get_ns_id.py         |  63 +++
 .../nvmftests/tests/test_nvmf_host_template.py     |  62 +++
 .../selftests/nvmftests/tests/test_nvmf_id_ctrl.py |  63 +++
 .../selftests/nvmftests/tests/test_nvmf_id_ns.py   |  63 +++
 .../selftests/nvmftests/tests/test_nvmf_io.py      |  65 +++
 .../selftests/nvmftests/tests/test_nvmf_mkfs.py    |  65 +++
 .../nvmftests/tests/test_nvmf_ns_descs.py          |  63 +++
 .../nvmftests/tests/test_nvmf_ns_enable_disable.py |  83 ++++
 .../nvmftests/tests/test_nvmf_parallel_io.py       |  65 +++
 .../selftests/nvmftests/tests/test_nvmf_perf.py    |  63 +++
 .../nvmftests/tests/test_nvmf_random_io.py         |  65 +++
 .../nvmftests/tests/test_nvmf_run_host_traffic.py  | 111 +++++
 .../nvmftests/tests/test_nvmf_scan_host.py         |  76 +++
 .../nvmftests/tests/test_nvmf_scan_target.py       |  76 +++
 .../nvmftests/tests/test_nvmf_smart_log.py         |  63 +++
 .../nvmftests/tests/test_nvmf_target_template.py   |  64 +++
 .../testing/selftests/nvmftests/utils/__init__.py  |  32 ++
 .../selftests/nvmftests/utils/const/__init__.py    |  21 +
 .../selftests/nvmftests/utils/const/const.py       |  50 ++
 .../selftests/nvmftests/utils/diskio/__init__.py   |  21 +
 .../testing/selftests/nvmftests/utils/diskio/dd.py |  50 ++
 .../selftests/nvmftests/utils/diskio/fio.py        |  74 +++
 .../selftests/nvmftests/utils/fs/__init__.py       |  21 +
 .../testing/selftests/nvmftests/utils/fs/ext4fs.py | 108 +++++
 .../selftests/nvmftests/utils/fs/filesystem.py     | 122 +++++
 .../selftests/nvmftests/utils/log/__init__.py      |  20 +
 tools/testing/selftests/nvmftests/utils/log/log.py |  58 +++
 .../selftests/nvmftests/utils/misc/__init__.py     |  23 +
 .../nvmftests/utils/misc/generic_blk_dev.py        |  58 +++
 .../selftests/nvmftests/utils/misc/loopback.py     | 103 ++++
 .../selftests/nvmftests/utils/misc/nvme_pci.py     | 114 +++++
 .../selftests/nvmftests/utils/shell/__init__.py    |  20 +
 .../testing/selftests/nvmftests/utils/shell/cmd.py |  47 ++
 58 files changed, 5182 insertions(+)
 create mode 100644 tools/testing/selftests/nvmftests/Makefile
 create mode 100644 tools/testing/selftests/nvmftests/README.md
 create mode 100644 tools/testing/selftests/nvmftests/doc/Makefile
 create mode 100644 tools/testing/selftests/nvmftests/doc/sequence-diag/Makefile
 create mode 100644 tools/testing/selftests/nvmftests/doc/sequence-diag/nvmftests.plantuml
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/host/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/host/host.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/host/host_ns.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/host/host_subsystem.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/target/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/target/port.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/target/target.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/target/target_config_generator.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/target/target_ns.py
 create mode 100644 tools/testing/selftests/nvmftests/nvmf/target/target_subsystem.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/config/nvmftests.json
 create mode 100644 tools/testing/selftests/nvmftests/tests/nvmf_test.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/nvmf_test_logger.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_create_gen_blk.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_create_host.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_create_pci_target.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_create_target.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_ctrl_rescan.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_ctrl_reset.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_get_ns_id.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_host_template.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_id_ctrl.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_id_ns.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_io.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_mkfs.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_ns_descs.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_ns_enable_disable.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_parallel_io.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_perf.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_random_io.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_run_host_traffic.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_scan_host.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_scan_target.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_smart_log.py
 create mode 100644 tools/testing/selftests/nvmftests/tests/test_nvmf_target_template.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/const/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/const/const.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/diskio/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/diskio/dd.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/diskio/fio.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/fs/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/fs/ext4fs.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/fs/filesystem.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/log/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/log/log.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/misc/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/misc/generic_blk_dev.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/misc/loopback.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/misc/nvme_pci.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/shell/__init__.py
 create mode 100644 tools/testing/selftests/nvmftests/utils/shell/cmd.py

-- 
1.8.3.1




More information about the Linux-nvme mailing list