Bug 2054441

Summary: NVMe/TCP: mark client fully supported and target unmaintained.
Product: Red Hat Enterprise Linux 9 Reporter: Chris Leech <cleech>
Component: kernelAssignee: Chris Leech <cleech>
kernel sub component: Storage Drivers QA Contact: Marco Patalano <mpatalan>
Status: CLOSED ERRATA Docs Contact: Apurva Bhide <abhide>
Severity: unspecified    
Priority: unspecified CC: abhide, crose, emilne, hkrzesin, jmeneghi, kazen, mpatalan, pvlasin, revers, yizhan
Version: 9.0Keywords: OtherQA, Triaged
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 9.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-5.14.0-70.2.1.el9_0 Doc Type: Enhancement
Doc Text:
.NVMe/TCP host with `nvme_tcp.ko` is now fully supported Nonvolatile Memory Express (NVMe) storage over TCP/IP networks (NVMe/TCP) with the `nvme_tcp.ko` kernel module is now fully supported. The NVMe/TCP target with the `nvmet_tcp.ko` module is available with an Unmaintained status in RHEL 9.0.
Story Points: ---
Clone Of:
: 2054443 (view as bug list) Environment:
Last Closed: 2022-05-17 15:46:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1875977, 1875980    

Description Chris Leech 2022-02-15 00:21:52 UTC
Description of problem:

We would like to consider moving the nvme-tcp driver out of tech preview and into full support.

Additional info:

Testing confidence of base nvme-tcp functionality within Red Hat has increased greatly over the past few month.  We now have partner storage targets being tested against, and have fixed the known issues found with our current level of testing that would prevent moving to full support.

We would like to postpone this decision to after dev freeze as an exception based on partner testing and feedback.  That way partners can test with the first rc build after we finish integrating final bug fixes, and provide feedback based on that.  If no blocker issues are found with partner testing, and we have a storage partner ready to move this technology into full support with us, then we will remove the tech preview status from the nvme-tcp driver.

This is for the current NVMe/TCP host basic feature set.  Additional functionality is being targeted for later releases.  If no storage partners are willing to fully support this technology as is, then we can remain in a tech preview state until such a time as both functionality and stability meet the requirements for production use.

Comment 9 Marco Patalano 2022-03-08 23:49:07 UTC
Verifed with the test kernel from comment #7:

# uname -r
5.14.0-70.mr133_220303_1454.el9.x86_64

#modprobe nvmet_tcp

Observed the following message:

Mar  8 18:13:53 storageqe-27 kernel: Warning: Unmaintained driver is detected:  NVMe/TCP Target

Sanity check completed:

# git diff linux-5.14.0-70.el9/drivers/nvme/target/tcp.c linux-5.14.0-70.mr133_220303_1454.el9/drivers/nvme/target/tcp.c
diff --git a/linux-5.14.0-70.el9/drivers/nvme/target/tcp.c b/linux-5.14.0-70.mr133_220303_1454.el9/drivers/nvme/target/tcp.c
index cb6a473..eef0c13 100644
--- a/linux-5.14.0-70.el9/drivers/nvme/target/tcp.c
+++ b/linux-5.14.0-70.mr133_220303_1454.el9/drivers/nvme/target/tcp.c
@@ -1857,6 +1857,7 @@ static int __init nvmet_tcp_init(void)
        if (ret)
                goto err;
 
+       mark_driver_unmaintained("NVMe/TCP Target");
        return 0;
 err:
        destroy_workqueue(nvmet_tcp_wq);

Comment 10 John Meneghini 2022-03-09 14:20:30 UTC
(In reply to Chris Leech from comment #0)
> Description of problem:
> 
> We would like to consider moving the nvme-tcp driver out of tech preview and
> into full support.

More accurately this BZ adds the unmaintained flag to nvme-tcp target (nvmet_tcp).

> We would like to postpone this decision to after dev freeze as an exception
> based on partner testing and feedback.  That way partners can test with the
> first rc build after we finish integrating final bug fixes, and provide
> feedback based on that.  If no blocker issues are found with partner
> testing, and we have a storage partner ready to move this technology into
> full support with us, then we will remove the tech preview status from the
> nvme-tcp driver.

More accurately: the nvme-tcp host (nvme_tcp) currently has no Tech Preview flag. 

If we decide to change this decision, based upon partner and QE testing, we will open
a separate BZ to ADD the Tech Preview flag to nvme-tcp host.

Comment 11 John Meneghini 2022-03-09 14:24:13 UTC
Marco, please go a head and verify this BZ as we want it to merge as soon as possible.

Comment 13 Marco Patalano 2022-03-17 14:17:12 UTC
Verifed with kernel-5.14.0-70.2.1.el9_0:

# uname -r
5.14.0-70.2.1.el9_0.x86_64

#modprobe nvmet_tcp

Observed the following message:

Mar 17 10:11:07 storageqe-27 kernel: Warning: Unmaintained driver is detected:  NVMe/TCP Target


Sanity check completed:

$ git log --oneline --grep=2054441
93cf6091da34 Merge: nvmet-tcp: fix missing tech preview messages
a9fdfe2cd56f nvmet-tcp: fix missing unmainted messages


$ git show 93cf6091da34
commit 93cf6091da3489d3d34126c13ee099abbd3859ba
Merge: 2a270e8d9001 a9fdfe2cd56f
Author: Herton R. Krzesinski <herton>
Date:   Wed Mar 16 14:10:45 2022 +0000

    Merge: nvmet-tcp: fix missing tech preview messages
    
    MR: https://gitlab.com/redhat/rhel/src/kernel/rhel-9/-/merge_requests/133
    
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2054441
    Upstream Status: RHEL only
    
    The NVMe/TCP target should have been marked as tech preview, like it is
    in RHEL 8.
    
    The nvme-tcp host driver is now supported, so this doesn't change
    anything there.
    
    Signed-off-by: Chris Leech <cleech>
    
    Approved-by: Ewan D. Milne <emilne>
    Approved-by: John Meneghini <jmeneghi>
    
    Signed-off-by: Herton R. Krzesinski <herton>

$ git show a9fdfe2cd56f
commit a9fdfe2cd56f4e01bfab3a6d5808fa8db449c8a2
Author: Chris Leech <cleech>
Date:   Tue Mar 1 15:14:57 2022 -0800

    nvmet-tcp: fix missing unmainted messages
    
    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2054441
    Upstream Status: RHEL only
    
    The NVMe/TCP target was previously marked as tech preview in RHEL 8, we
    don't have a use case or plans to move it into production soon so mark
    it as unmainted.
    
    The nvme-tcp host driver is now supported, so this doesn't change
    anything there.
    
    Signed-off-by: Chris Leech <cleech>

diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c
index cb6a473c3eaf..eef0c1390ce1 100644
--- a/drivers/nvme/target/tcp.c
+++ b/drivers/nvme/target/tcp.c
@@ -1857,6 +1857,7 @@ static int __init nvmet_tcp_init(void)
        if (ret)
                goto err;
 
+       mark_driver_unmaintained("NVMe/TCP Target");
        return 0;
 err:
        destroy_workqueue(nvmet_tcp_wq);

Comment 21 errata-xmlrpc 2022-05-17 15:46:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (new packages: kernel), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:3907

Comment 22 Karl Hastings 2022-08-02 17:44:33 UTC
Fixing the Summary to match the comments and the doc text.

Comment 23 Karl Hastings 2022-08-02 17:50:08 UTC
*** Bug 1982291 has been marked as a duplicate of this bug. ***