ceph / ceph/ceph-nvmeof

NVMe `connect-all` command fails to connect to a specific subsystem.

Open
#552 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
132
Forks
69
Avg merge
1d 7h
Merged PRs (30d)
47

Description

NVMe connect-all command fails when provided specifc `nqn` subsystem command option to connect.
Currently, If user has to connect to all listeners for a subsystem, the `nvme connect` is the only option and which has to be executed one by one for every listener.
```
[root@ceph-sunilkumar-00-w2h431-node8 cephuser]# nvme connect-all --nqn nqn.2016-06.io.spdk:cnode2 -t tcp -a 10.0.209.24 -s 8009 -l 3600
Failed to write to /dev/nvme-fabrics: Invalid argument
failed to add controller, error invalid arguments/configuration

dmesg log
----------
[587096.953415] nvme nvme0: Subsystem nqn.2016-06.io.spdk:cnode2 is not a discovery controller

[root@ceph-sunilkumar-00-w2h431-node8 cephuser]# nvme connect-all -t tcp -a 10.0.209.24 -s 8009 -l 3600
[root@ceph-sunilkumar-00-w2h431-node8 cephuser]# echo $?
0

dmesg log
------------
[587271.003842] nvme nvme0: new ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery", addr 10.0.209.24:8009
[587271.027795] nvme nvme1: creating 7 I/O queues.
[587271.095729] nvme nvme1: mapped 7/0/0 default/read/poll queues.
[587271.099494] nvme nvme1: new ctrl: NQN "nqn.2016-06.io.spdk:cnode1", addr 10.0.209.24:5001
[587271.115125] nvme nvme2: creating 7 I/O queues.
[587271.183748] nvme nvme2: mapped 7/0/0 default/read/poll queues.
[587271.186883] nvme nvme2: new ctrl: NQN "nqn.2016-06.io.spdk:cnode1", addr 10.0.210.119:5001
[587271.196593] nvme nvme3: creating 7 I/O queues.
[587271.265173] nvme nvme3: mapped 7/0/0 default/read/poll queues.
[587271.268088] nvme nvme3: new ctrl: NQN "nqn.2016-06.io.spdk:cnode2", addr 10.0.209.24:5001
[587271.275324] nvme nvme4: creating 7 I/O queues.
[587271.343465] nvme nvme4: mapped 7/0/0 default/read/poll queues.
[587271.347535] nvme nvme4: new ctrl: NQN "nqn.2016-06.io.spdk:cnode2", addr 10.0.210.119:5001
[587271.348133] nvme nvme0: Removing ctrl: NQN "nqn.2014-08.org.nvmexpress.discovery"
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the `nvme connect-all --nqn` command against the reported listeners and compare it with the successful command without `--nqn`. Trace the `connect-all` command entry point and its discovery response filtering. Done means specifying a subsystem NQN connects to all of that subsystem's listeners without the invalid-argument error.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, python
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.