]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
mgr/cephadm: handle HostConnectionError when checking for valid addr
authorAdam King <adking@redhat.com>
Wed, 15 Mar 2023 17:18:02 +0000 (13:18 -0400)
committerAdam King <adking@redhat.com>
Wed, 15 Mar 2023 17:18:02 +0000 (13:18 -0400)
commitefc6c585562ceda55a37ae591bf3c15ab35cdda8
tree37f026fe2d5baf31913f4adb981ae463844dbc6f
parent4ca01902bb61a6367f0c2439772a4a9975195857
mgr/cephadm: handle HostConnectionError when checking for valid addr

Otherwise, the error is not properly passed back up the chain
and the user can get an error message like

TypeError: __init__() missing 2 required positional arguments: 'hostname' and 'addr'

when trying to add a host, despite the actual problem being

cephadm.ssh.HostConnectionError: Failed to connect to vm-01 (192.168.122.248). Permission denied

The tracker shows a bit more, but generally trying to add a host
that doesn't have the proper pub-key set as an authorized key
will get a misleasing error message. With this patch, the error message looks like

[ceph: root@vm-00 /]# ceph orch host add vm-01 192.168.122.29
Error EINVAL: Failed to connect to vm-01 (192.168.122.29). Permission denied
Log: Opening SSH connection to 192.168.122.29, port 22
[conn=1] Connected to SSH server at 192.168.122.29, port 22
[conn=1]   Local address: 192.168.122.156, port 49552
[conn=1]   Peer address: 192.168.122.29, port 22
[conn=1] Beginning auth for user root
[conn=1] Auth failed for user root
[conn=1] Connection failure: Permission denied
[conn=1] Aborting connection

which is much more useful

Fixes: https://tracker.ceph.com/issues/59081
Signed-off-by: Adam King <adking@redhat.com>
src/pybind/mgr/cephadm/module.py