Project

General

Profile

Actions

Bug #64229

closed

cephadm: traceback when running `cephadm ls` with nvmeof daemon present

Added by Adam King 3 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
backport_processed
Backport:
reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Specifically something like

Traceback (most recent call last):
  File "/usr/lib64/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/sbin/cephadm/__main__.py", line 10648, in <module>
  File "/usr/sbin/cephadm/__main__.py", line 10636, in main
  File "/usr/sbin/cephadm/__main__.py", line 7044, in command_ls
  File "/usr/sbin/cephadm/__main__.py", line 7196, in list_daemons
  File "/usr/sbin/cephadm/__main__.py", line 1040, in get_version
  File "/usr/sbin/cephadm/__main__.py", line 2017, in call
  File "/usr/lib64/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib64/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/usr/sbin/cephadm/__main__.py", line 1985, in run_with_timeout
  File "/usr/lib64/python3.9/asyncio/subprocess.py", line 236, in create_subprocess_exec
    transport, protocol = await loop.subprocess_exec(
  File "/usr/lib64/python3.9/asyncio/base_events.py", line 1676, in subprocess_exec
    transport = await self._make_subprocess_transport(
  File "/usr/lib64/python3.9/asyncio/unix_events.py", line 197, in _make_subprocess_transport
    transp = _UnixSubprocessTransport(self, protocol, args, shell,
  File "/usr/lib64/python3.9/asyncio/base_subprocess.py", line 36, in __init__
    self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
  File "/usr/lib64/python3.9/asyncio/unix_events.py", line 789, in _start
    self._proc = subprocess.Popen(
  File "/usr/lib64/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib64/python3.9/subprocess.py", line 1770, in _execute_child
    self.pid = _posixsubprocess.fork_exec(
TypeError: expected str, bytes or os.PathLike object, not NoneType

that is caused by the version function for nvmeof passing ctx.image as the image to inspect

out, err, ret = call(
            ctx,
            [
                ctx.container_engine.path,
                'inspect',
                '--format',
                '{{index .Config.Labels "io.ceph.version"}}',
                ctx.image,
            ],
        )

when it should be passing the `container_id` passed to the func


Related issues 1 (0 open1 closed)

Copied to Orchestrator - Backport #64414: reef: cephadm: traceback when running `cephadm ls` with nvmeof daemon presentResolvedAdam KingActions
Actions #1

Updated by Adam King 3 months ago

  • Pull request ID set to 55355
Actions #2

Updated by Adam King 3 months ago

  • Status changed from In Progress to Pending Backport
Actions #3

Updated by Backport Bot 3 months ago

  • Copied to Backport #64414: reef: cephadm: traceback when running `cephadm ls` with nvmeof daemon present added
Actions #4

Updated by Backport Bot 3 months ago

  • Tags set to backport_processed
Actions #5

Updated by Adam King about 2 months ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF