Skip to content

mgr/nvmeof: Adding missing CLICommand field to nvmeof mgr module#67782

Merged
rkachach merged 1 commit intoceph:mainfrom
rkachach:fix_issue_75492
Mar 14, 2026
Merged

mgr/nvmeof: Adding missing CLICommand field to nvmeof mgr module#67782
rkachach merged 1 commit intoceph:mainfrom
rkachach:fix_issue_75492

Conversation

@rkachach
Copy link
Contributor

Fixes: https://tracker.ceph.com/issues/75492

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

@rkachach rkachach mentioned this pull request Mar 13, 2026
14 tasks
@rkachach rkachach changed the title mgr/nvmeof: Adding missing CLICommand file to nvmeof mgr module mgr/nvmeof: Adding missing CLICommand field to nvmeof mgr module Mar 13, 2026
Copy link
Contributor

@adk3798 adk3798 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested this on an orch/cephadm job that had previously failed waiting for the cluster to become healthy due to the nvmeof module crashing with

the module that crashed was the nvmeof module
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:28.862+0000 7f161d164fc0 -1 mgr[py] Exception calling _register_commands on nvmeof
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:28.862+0000 7f161d164fc0 -1 mgr[py] Traceback (most recent call last):
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   File "/usr/share/ceph/mgr/mgr_module.py", line 1107, in _register_commands
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:     cls.COMMANDS.extend(cls.CLICommand.dump_cmd_list())
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: AttributeError: type object 'NVMeoF' has no attribute 'CLICommand'
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 
Mar 13 14:33:29 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: /lib64/python3.9/site-packages/scipy/__init__.py:73: UserWarning: NumPy was imported from a Python sub-interpre>
Mar 13 14:33:29 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Improvements in the case of bugs are welcome, but is not on the NumPy roadmap, and full support may require sig>
Mar 13 14:33:29 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   from numpy import show_config as show_numpy_config
Mar 13 14:33:32 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Client ('10.20.193.121', 60378) lost — peer dropped the TLS connection suddenly, during handshake: (6, 'TLS/SSL>
Mar 13 14:33:37 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Client ('10.20.193.121', 50558) lost — peer dropped the TLS connection suddenly, during handshake: (6, 'TLS/SSL>
Mar 13 14:33:54 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: ignoring --setuser ceph since I am not root
Mar 13 14:33:54 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: ignoring --setgroup ceph since I am not root
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:55.053+0000 7fef6b411fc0 -1 mgr[py] Exception calling _register_commands on nvmeof
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:55.053+0000 7fef6b411fc0 -1 mgr[py] Traceback (most recent call last):
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   File "/usr/share/ceph/mgr/mgr_module.py", line 1107, in _register_commands
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:     cls.COMMANDS.extend(cls.CLICommand.dump_cmd_list())
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: AttributeError: type object 'NVMeoF' has no attribute 'CLICommand'
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: /lib64/python3.9/site-packages/scipy/__init__.py:73: UserWarning: NumPy was imported from a Python sub-interpre>
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Improvements in the case of bugs are welcome, but is not on the NumPy roadmap, and full support may require sig>
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   from numpy import show_config as show_numpy_config

and this patch got that test to work

@batrick
Copy link
Member

batrick commented Mar 13, 2026

@Hezko @VallariAg why wasn't this caught in the QA?

#67641 (comment)

@phlogistonjohn
Copy link
Contributor

make check failure is not a flake:

flake8: commands[0] /ceph/src/pybind/mgr> flake8 --config=tox.ini alerts balancer cephadm cli_api crash devicehealth diskprediction_local hello nvmeof iostat localpool mgr_module.py mgr_util.py cherrypy_mgr.py nfs object_format.py orchestrator prometheus rbd_support rgw selftest smb
nvmeof/module.py:15:5: E301 expected 1 blank line, found 0
1     E301 expected 1 blank line, found 0

@rkachach rkachach marked this pull request as ready for review March 13, 2026 19:29
@rkachach
Copy link
Contributor Author

Tested this on an orch/cephadm job that had previously failed waiting for the cluster to become healthy due to the nvmeof module crashing with

the module that crashed was the nvmeof module
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:28.862+0000 7f161d164fc0 -1 mgr[py] Exception calling _register_commands on nvmeof
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:28.862+0000 7f161d164fc0 -1 mgr[py] Traceback (most recent call last):
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   File "/usr/share/ceph/mgr/mgr_module.py", line 1107, in _register_commands
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:     cls.COMMANDS.extend(cls.CLICommand.dump_cmd_list())
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: AttributeError: type object 'NVMeoF' has no attribute 'CLICommand'
Mar 13 14:33:28 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 
Mar 13 14:33:29 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: /lib64/python3.9/site-packages/scipy/__init__.py:73: UserWarning: NumPy was imported from a Python sub-interpre>
Mar 13 14:33:29 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Improvements in the case of bugs are welcome, but is not on the NumPy roadmap, and full support may require sig>
Mar 13 14:33:29 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   from numpy import show_config as show_numpy_config
Mar 13 14:33:32 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Client ('10.20.193.121', 60378) lost — peer dropped the TLS connection suddenly, during handshake: (6, 'TLS/SSL>
Mar 13 14:33:37 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Client ('10.20.193.121', 50558) lost — peer dropped the TLS connection suddenly, during handshake: (6, 'TLS/SSL>
Mar 13 14:33:54 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: ignoring --setuser ceph since I am not root
Mar 13 14:33:54 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: ignoring --setgroup ceph since I am not root
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:55.053+0000 7fef6b411fc0 -1 mgr[py] Exception calling _register_commands on nvmeof
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 2026-03-13T14:33:55.053+0000 7fef6b411fc0 -1 mgr[py] Traceback (most recent call last):
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   File "/usr/share/ceph/mgr/mgr_module.py", line 1107, in _register_commands
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:     cls.COMMANDS.extend(cls.CLICommand.dump_cmd_list())
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: AttributeError: type object 'NVMeoF' has no attribute 'CLICommand'
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: 
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: /lib64/python3.9/site-packages/scipy/__init__.py:73: UserWarning: NumPy was imported from a Python sub-interpre>
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]: Improvements in the case of bugs are welcome, but is not on the NumPy roadmap, and full support may require sig>
Mar 13 14:33:55 trial121 ceph-80c7f0da-1ee9-11f1-a2b8-d404e6e7d460-mgr-trial121-fejwjs[37284]:   from numpy import show_config as show_numpy_config

and this patch got that test to work

Thanks for testing the fix @adk3798. I'll merge it as soon as the CI passes correctly.

@Hezko
Copy link
Contributor

Hezko commented Mar 13, 2026

@Hezko @VallariAg why wasn't this caught in the QA?

#67641 (comment)

@batrick Oh this is starnge, @rkachach 's fix includes a part from a commit which is included in my original PR, and was included in the version we tested in QA. but when I now look at the cherry picked commit that was merged it is missing. I guess I somehow omitted it by mistake when rebasing. sorry for that.
the original fix commit(by @avanthakkar) cherry picked by me: #67607
the commit cherry picked by me in my PR: 587d35b

sorry for that guys, and thanks for the quick resolve @rkachach ! 🙏

@rkachach
Copy link
Contributor Author

jenkins test windows

@rkachach rkachach merged commit b82ec57 into ceph:main Mar 14, 2026
11 checks passed
@github-actions
Copy link

This is an automated message by src/script/redmine-upkeep.py.

I have resolved the following tracker ticket due to the merge of this PR:

No backports are pending for the ticket. If this is incorrect, please update the tracker
ticket and reset to Pending Backport state.

Update Log: https://github.com/ceph/ceph/actions/runs/23085490038

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants