Bug #61789
openCeph will not install new host with bootstrap generated ssh key
0%
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'
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'