Project

General

Profile

Actions

Bug #61789

open

Ceph will not install new host with bootstrap generated ssh key

Added by Ron Gage 11 months ago. Updated 10 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
ceph cli
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

When following the instructions on https://docs.ceph.com/en/quincy/cephadm/install/#cephadm-deploying-new-cluster..

The following command fails and the new host is not added:

ceph orch host add ceph2 192.168.0.142

Output:Error EINVAL: Traceback (most recent call last):
File "/usr/share/ceph/mgr/mgr_module.py", line 1756, in _handle_command
return self.handle_command(inbuf, cmd)
File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 171, in handle_command
return dispatch[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/orchestrator/_interface.py", line 107, in <lambda>
wrapper_copy = lambda *l_args, **l_kwargs: wrapper(*l_args, **l_kwargs) # noqa: E731
File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 96, in wrapper
return func(*args, **kwargs)
File "/usr/share/ceph/mgr/orchestrator/module.py", line 356, in _add_host
return self._apply_misc([s], False, Format.plain)
File "/usr/share/ceph/mgr/orchestrator/module.py", line 1092, in _apply_misc
raise_if_exception(completion)
File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 225, in raise_if_exception
e = pickle.loads(c.serialized_exception)
TypeError: init() missing 2 required positional arguments: 'hostname' and 'addr'

Actions #1

Updated by Ron Gage 11 months ago

This occurs on recent builds of Centos Stream 8 and Centos Stream 9. 100% repeatable.

ssh itself is not broken as I can create a key using ssh-keygen/ssh-copy-id and that works just fine.

Actions #2

Updated by Ron Gage 10 months ago

I just tried the following:

Created ssh keyset using ssh-keygen and ssh-copy-id from host ceph1 (192.168.0.141) to ceph2 (192.168.0.142)
Verified that the generated keyset is working as expected (passwordless logon works)
Tried to bootstrap using the following: cephadm bootstrap --mon-ip 192.168.0.141 --ssh-private-key .ssh/id_rsa --ssh-public-key .ssh/id_rsa.pub
Bootstrap worked fine and initial setup completed and works fine
Tried adding host ceph2 using: ceph orch host add ceph2 192.168.0.142
Failed with the following error message:
Error EINVAL: Traceback (most recent call last):
File "/usr/share/ceph/mgr/mgr_module.py", line 1756, in _handle_command
return self.handle_command(inbuf, cmd)
File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 171, in handle_command
return dispatch[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/orchestrator/_interface.py", line 107, in <lambda>
wrapper_copy = lambda *l_args, **l_kwargs: wrapper(*l_args, **l_kwargs) # noqa: E731
File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 96, in wrapper
return func(*args, **kwargs)
File "/usr/share/ceph/mgr/orchestrator/module.py", line 356, in _add_host
return self._apply_misc([s], False, Format.plain)
File "/usr/share/ceph/mgr/orchestrator/module.py", line 1092, in _apply_misc
raise_if_exception(completion)
File "/usr/share/ceph/mgr/orchestrator/_interface.py", line 225, in raise_if_exception
e = pickle.loads(c.serialized_exception)
TypeError: init() missing 2 required positional arguments: 'hostname' and 'addr'

Actions

Also available in: Atom PDF