mbox series

[blktests,0/3] tetss/nvme: fix nvme disc changes

Message ID 20220112060614.73015-1-chaitanyak@nvidia.com (mailing list archive)
Headers show
Series tetss/nvme: fix nvme disc changes | expand

Message

Chaitanya Kulkarni Jan. 12, 2022, 6:06 a.m. UTC
From: Chaitanya Kulkarni <kch@nvidia.com>

Hi,

This fixes the latest disc log changes. Without this patch-series
some of the listed testcases fail as they don't expect discovery log
entry to be counted. See testlog below.

-ck                   

Chaitanya Kulkarni (3):
  tests/nvme/002: adjust to new nvme disc page output
  tests/nvme/016: adjust to new nvme disc page output
  tests/nvme/017: adjust to new nvme disc page output

 tests/nvme/002.out | 2003 ++++++++++++++++++++++----------------------
 tests/nvme/016.out |    5 +-
 tests/nvme/017.out |    5 +-
 3 files changed, 1011 insertions(+), 1002 deletions(-)

without this series :-

root@dev blktests (master) # ./check nvme 
nvme/002 (create many subsystems and test discovery)         [failed]
    runtime  18.515s  ...  21.319s
    --- tests/nvme/002.out	2021-08-29 01:09:20.287901783 -0700
    +++ /mnt/data/blktests/results/nodev/nvme/002.out.bad	2022-01-11 12:11:44.468430121 -0800
    @@ -1,3003 +1,3006 @@
     Running nvme/002
    -Discovery Log Number of Records 1000, Generation counter X
    +Discovery Log Number of Records 1001, Generation counter X
     =====Discovery Log Entry 0======
     trtype:  loop
    -subnqn:  blktests-subsystem-0
    +subnqn:  nqn.2014-08.org.nvmexpress.discovery
    ...
    (Run 'diff -u tests/nvme/002.out /mnt/data/blktests/results/nodev/nvme/002.out.bad' to see the entire diff)
nvme/003 (test if we're sending keep-alives to a discovery controller) [passed]
    runtime  10.109s  ...  10.096s
nvme/004 (test nvme and nvmet UUID NS descriptors)           [passed]
    runtime  1.466s  ...  1.523s
nvme/005 (reset local loopback target)                       [passed]
    runtime  1.812s  ...  1.850s
nvme/006 (create an NVMeOF target with a block device-backed ns) [passed]
    runtime  0.097s  ...  0.086s
nvme/007 (create an NVMeOF target with a file-backed ns)     [passed]
    runtime  0.067s  ...  0.045s
nvme/008 (create an NVMeOF host with a block device-backed ns) [passed]
    runtime  1.508s  ...  1.510s
nvme/009 (create an NVMeOF host with a file-backed ns)       [passed]
    runtime  1.442s  ...  1.482s
nvme/010 (run data verification fio job on NVMeOF block device-backed ns) [passed]
    runtime  8.246s  ...  8.942s
nvme/011 (run data verification fio job on NVMeOF file-backed ns) [passed]
    runtime  83.621s  ...  157.842s
nvme/012 (run mkfs and data verification fio job on NVMeOF block device-backed ns) [passed]
    runtime  11.876s  ...  12.792s
nvme/013 (run mkfs and data verification fio job on NVMeOF file-backed ns) [passed]
    runtime  104.024s  ...  121.600s
nvme/014 (flush a NVMeOF block device-backed ns)             [passed]
    runtime  13.036s  ...  13.019s
nvme/015 (unit test for NVMe flush for file backed ns)       [passed]
    runtime  12.681s  ...  12.752s
nvme/016 (create/delete many NVMeOF block device-backed ns and test discovery) [failed]
    runtime  11.160s  ...  11.319s
    --- tests/nvme/016.out	2021-08-29 01:09:20.287901783 -0700
    +++ /mnt/data/blktests/results/nodev/nvme/016.out.bad	2022-01-11 12:17:47.002551134 -0800
    @@ -1,6 +1,9 @@
     Running nvme/016
    -Discovery Log Number of Records 1, Generation counter X
    +Discovery Log Number of Records 2, Generation counter X
     =====Discovery Log Entry 0======
     trtype:  loop
    +subnqn:  nqn.2014-08.org.nvmexpress.discovery
    +=====Discovery Log Entry 1======
    ...
    (Run 'diff -u tests/nvme/016.out /mnt/data/blktests/results/nodev/nvme/016.out.bad' to see the entire diff)
nvme/017 (create/delete many file-ns and test discovery)     [failed]
    runtime  11.642s  ...  11.397s
    --- tests/nvme/017.out	2021-08-29 01:09:20.287901783 -0700
    +++ /mnt/data/blktests/results/nodev/nvme/017.out.bad	2022-01-11 12:17:58.486775735 -0800
    @@ -1,6 +1,9 @@
     Running nvme/017
    -Discovery Log Number of Records 1, Generation counter X
    +Discovery Log Number of Records 2, Generation counter X
     =====Discovery Log Entry 0======
     trtype:  loop
    +subnqn:  nqn.2014-08.org.nvmexpress.discovery
    +=====Discovery Log Entry 1======
    ...
    (Run 'diff -u tests/nvme/017.out /mnt/data/blktests/results/nodev/nvme/017.out.bad' to see the entire diff)
nvme/018 (unit test NVMe-oF out of range access on a file backend) [passed]
    runtime  1.432s  ...  1.421s
nvme/019 (test NVMe DSM Discard command on NVMeOF block-device ns) [passed]
    runtime  1.504s  ...  1.437s
nvme/020 (test NVMe DSM Discard command on NVMeOF file-backed ns) [passed]
    runtime  1.428s  ...  1.395s
nvme/021 (test NVMe list command on NVMeOF file-backed ns)   [passed]
    runtime  1.431s  ...  1.401s
nvme/022 (test NVMe reset command on NVMeOF file-backed ns)  [passed]
    runtime  1.785s  ...  1.744s
nvme/023 (test NVMe smart-log command on NVMeOF block-device ns) [passed]
    runtime  1.494s  ...  1.440s
nvme/024 (test NVMe smart-log command on NVMeOF file-backed ns) [passed]
    runtime  1.435s  ...  1.426s
nvme/025 (test NVMe effects-log command on NVMeOF file-backed ns) [passed]
    runtime  1.441s  ...  1.400s
nvme/026 (test NVMe ns-descs command on NVMeOF file-backed ns) [passed]
    runtime  1.462s  ...  1.412s
nvme/027 (test NVMe ns-rescan command on NVMeOF file-backed ns) [passed]
    runtime  1.471s  ...  1.412s
nvme/028 (test NVMe list-subsys command on NVMeOF file-backed ns) [passed]
    runtime  1.444s  ...  1.411s
nvme/029 (test userspace IO via nvme-cli read/write interface) [passed]
    runtime  1.669s  ...  1.581s
nvme/030 (ensure the discovery generation counter is updated appropriately) [passed]
    runtime  0.213s  ...  0.179s
nvme/031 (test deletion of NVMeOF controllers immediately after setup) [passed]
    runtime  3.916s  ...  3.892s
nvme/038 (test deletion of NVMeOF subsystem without enabling) [passed]
    runtime  0.055s  ...  0.039s

with this series :-

root@dev blktests (master) # ./check nvme
nvme/002 (create many subsystems and test discovery)         [passed]
    runtime  18.830s  ...  18.593s
nvme/003 (test if we're sending keep-alives to a discovery controller) [passed]
    runtime  10.096s  ...  10.142s
nvme/004 (test nvme and nvmet UUID NS descriptors)           [passed]
    runtime  1.523s  ...  1.452s
nvme/005 (reset local loopback target)                       [passed]
    runtime  1.850s  ...  1.849s
nvme/006 (create an NVMeOF target with a block device-backed ns) [passed]
    runtime  0.086s  ...  0.071s
nvme/007 (create an NVMeOF target with a file-backed ns)     [passed]
    runtime  0.045s  ...  0.044s
nvme/008 (create an NVMeOF host with a block device-backed ns) [passed]
    runtime  1.510s  ...  1.474s
nvme/009 (create an NVMeOF host with a file-backed ns)       [passed]
    runtime  1.482s  ...  1.444s
nvme/010 (run data verification fio job on NVMeOF block device-backed ns) [passed]
    runtime  8.942s  ...  8.029s
nvme/011 (run data verification fio job on NVMeOF file-backed ns) [passed]
    runtime  157.842s  ...  79.725s
nvme/012 (run mkfs and data verification fio job on NVMeOF block device-backed ns) [passed]
    runtime  12.792s  ...  12.910s
nvme/013 (run mkfs and data verification fio job on NVMeOF file-backed ns) [passed]
    runtime  121.600s  ...  98.668s
nvme/014 (flush a NVMeOF block device-backed ns)             [passed]
    runtime  13.019s  ...  12.974s
nvme/015 (unit test for NVMe flush for file backed ns)       [passed]
    runtime  12.752s  ...  13.075s
nvme/016 (create/delete many NVMeOF block device-backed ns and test discovery) [passed]
    runtime  12.466s  ...  10.869s
nvme/017 (create/delete many file-ns and test discovery)     [passed]
    runtime  11.689s  ...  11.611s
nvme/018 (unit test NVMe-oF out of range access on a file backend) [passed]
    runtime  1.421s  ...  1.425s
nvme/019 (test NVMe DSM Discard command on NVMeOF block-device ns) [passed]
    runtime  1.437s  ...  1.455s
nvme/020 (test NVMe DSM Discard command on NVMeOF file-backed ns) [passed]
    runtime  1.395s  ...  1.439s
nvme/021 (test NVMe list command on NVMeOF file-backed ns)   [passed]
    runtime  1.401s  ...  1.423s
nvme/022 (test NVMe reset command on NVMeOF file-backed ns)  [passed]
    runtime  1.744s  ...  1.773s
nvme/023 (test NVMe smart-log command on NVMeOF block-device ns) [passed]
    runtime  1.440s  ...  1.453s
nvme/024 (test NVMe smart-log command on NVMeOF file-backed ns) [passed]
    runtime  1.426s  ...  1.414s
nvme/025 (test NVMe effects-log command on NVMeOF file-backed ns) [passed]
    runtime  1.400s  ...  1.409s
nvme/026 (test NVMe ns-descs command on NVMeOF file-backed ns) [passed]
    runtime  1.412s  ...  1.421s
nvme/027 (test NVMe ns-rescan command on NVMeOF file-backed ns) [passed]
    runtime  1.412s  ...  1.419s
nvme/028 (test NVMe list-subsys command on NVMeOF file-backed ns) [passed]
    runtime  1.411s  ...  1.411s
nvme/029 (test userspace IO via nvme-cli read/write interface) [passed]
    runtime  1.581s  ...  1.612s
nvme/030 (ensure the discovery generation counter is updated appropriately) [passed]
    runtime  0.179s  ...  0.182s
nvme/031 (test deletion of NVMeOF controllers immediately after setup) [passed]
    runtime  3.892s  ...  3.914s
nvme/038 (test deletion of NVMeOF subsystem without enabling) [passed]
    runtime  0.039s  ...  0.026s

Comments

Sagi Grimberg Jan. 12, 2022, 8:38 a.m. UTC | #1
What is preventing this to break again?

Can we modify the tests to not rely on a consistent
output here. Perhaps just search/match the expected nvm subsystems
in the log page?
Chaitanya Kulkarni Jan. 12, 2022, 5:55 p.m. UTC | #2
Sagi,

On 1/12/22 12:38 AM, Sagi Grimberg wrote:
> External email: Use caution opening links or attachments
> 
> 
> What is preventing this to break again?
> 
> Can we modify the tests to not rely on a consistent
> output here. Perhaps just search/match the expected nvm subsystems
> in the log page?

Do we expect to change the output of the log page again ?

It is important to match the disc subsysnqn i.e.
"nqn.2014-08.org.nvmexpress.discovery" and gencounter,
only matching the nvm subsystems not going to get us good
coverage.

-ck
Sagi Grimberg Jan. 12, 2022, 10:06 p.m. UTC | #3
> Sagi,
> 
> On 1/12/22 12:38 AM, Sagi Grimberg wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> What is preventing this to break again?
>>
>> Can we modify the tests to not rely on a consistent
>> output here. Perhaps just search/match the expected nvm subsystems
>> in the log page?
> 
> Do we expect to change the output of the log page again ?

Yes, I don't expect that we will lock down the discovery output
in both the target and nvme-cli.

> It is important to match the disc subsysnqn i.e.
> "nqn.2014-08.org.nvmexpress.discovery" and gencounter,
> only matching the nvm subsystems not going to get us good
> coverage.

I'm just saying that it is not sustainable. Nothing prevents
anyone from changing the log page again.