Bug #57700
mgr/telemetry: ValueError: too many values to unpack (expected 2) in get_mempool
% Done:
0%
Source:
Development
Tags:
Backport:
quincy
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
A ValueError occurs when generating mempool stats in the perf channel:
This is 17.2.4 RC: ceph version 17.2.3-770-g7f52e260 (7f52e260191d7656bf7a362048705c3e36370dad) quincy (stable)
Error EINVAL: Traceback (most recent call last): File "/usr/share/ceph/mgr/mgr_module.py", line 1757, in _handle_command return CLICommand.COMMANDS[cmd['prefix']].call(self, cmd, inbuf) File "/usr/share/ceph/mgr/mgr_module.py", line 462, in call return self.func(mgr, **kwargs) File "/usr/share/ceph/mgr/telemetry/module.py", line 1815, in show report = self.get_report_locked(channels=channels) File "/usr/share/ceph/mgr/telemetry/module.py", line 1965, in get_report_locked return self.get_report(report_type, channels) File "/usr/share/ceph/mgr/telemetry/module.py", line 1971, in get_report return self.compile_report(channels=channels) File "/usr/share/ceph/mgr/telemetry/module.py", line 1272, in compile_report report['mempool'] = self.get_mempool('separated') File "/usr/share/ceph/mgr/telemetry/module.py", line 571, in get_mempool daemon_type, daemon_id = daemon.split('.') ValueError: too many values to unpack (expected 2)
Related issues
History
#1 Updated by Laura Flores 4 months ago
Telemetry expects the daemon to be formatted like "mds.a", where there is 1 value before the '.', and one value after the '.'.
However, this crash has picked up a case where the daemon has a more complex daemon id.
I reproduced this on the LRC:
lflores@reesi003:~$ sudo ceph telemetry show perf
Error EINVAL: Traceback (most recent call last):
File "/usr/share/ceph/mgr/mgr_module.py", line 1757, in _handle_command
return CLICommand.COMMANDS[cmd['prefix']].call(self, cmd, inbuf)
File "/usr/share/ceph/mgr/mgr_module.py", line 462, in call
return self.func(mgr, **kwargs)
File "/usr/share/ceph/mgr/telemetry/module.py", line 1815, in show
report = self.get_report_locked(channels=channels)
File "/usr/share/ceph/mgr/telemetry/module.py", line 1965, in get_report_locked
return self.get_report(report_type, channels)
File "/usr/share/ceph/mgr/telemetry/module.py", line 1971, in get_report
return self.compile_report(channels=channels)
File "/usr/share/ceph/mgr/telemetry/module.py", line 1272, in compile_report
report['mempool'] = self.get_mempool('separated')
File "/usr/share/ceph/mgr/telemetry/module.py", line 571, in get_mempool
daemon_type, daemon_id = daemon.split('.')
ValueError: too many values to unpack (expected 2)
The issue does not reproduce on the gibba cluster, because it has daemons with simple daemon ids, i.e. "mon.a".
#2 Updated by Laura Flores 4 months ago
- Priority changed from Normal to Urgent
#3 Updated by Laura Flores 4 months ago
- Status changed from New to Fix Under Review
- Pull request ID set to 48282
#4 Updated by Laura Flores 4 months ago
- Related to Tasks #57709: Handle complex role names in teuthology tests added
#5 Updated by Laura Flores 4 months ago
- Status changed from Fix Under Review to Resolved