Bug 1287312 - rdma rules still missing usnic_verbs rule to launch rdma service
rdma rules still missing usnic_verbs rule to launch rdma service
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: rdma (Show other bugs)
x86_64 Linux
unspecified Severity medium
: rc
: 7.3
Assigned To: Doug Ledford
Infiniband QE
Depends On:
  Show dependency treegraph
Reported: 2015-12-01 18:09 EST by Ajay Kulkarni
Modified: 2015-12-02 11:45 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-12-02 11:45:52 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Ajay Kulkarni 2015-12-01 18:09:43 EST
Description of problem:

The issue mentioned in the bug 1094538 still exists in 7.2. The file usr/lib/udev/rules.d/98-rdma.rules should have the following rule:

SUBSYSTEM=="module", KERNEL=="usnic_verbs", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}="rdma.service"

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

Actual results:

Expected results:
rdma service should be launched if the usnic_verbs kernel module present

Additional info:
refer to bug 1094538
Comment 1 Doug Ledford 2015-12-02 11:45:52 EST
This is the wrong order of execution.  The rdma service loads the usnic_verbs kernel module, not the other way around.  In order to trigger the rdma service, we use the presence of the enic module.  This is because the only thing reliably loaded based upon PCI IDs is the enic module.  If you check the udev rules file for rdma, you see that it includes a line for starting the service in the presence of the enic module.  If you check the rdma start script, you will see this snippet:

if is_module enic -a ! is_module usnic_verbs; then
  load_modules usnic_verbs

As you can see, the rdma service loads the usnic_verbs module, so starting the rdma service on the presence of the usnic_verbs module would create a circular dependency and cause the init sequence to fail.

Note You need to log in before you can comment on or make changes to this bug.