From db8d2a25c30dd25c468de598678dd15c81f3d19e Mon Sep 17 00:00:00 2001 From: Michael Fritch Date: Thu, 10 Jun 2021 21:15:14 -0600 Subject: [PATCH] cephadm: raise `Error()` when unable to bind to an ip Signed-off-by: Michael Fritch --- src/cephadm/cephadm | 6 ++++-- src/cephadm/tests/test_cephadm.py | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/cephadm/cephadm b/src/cephadm/cephadm index ffbcbb567de..26fd130dce2 100755 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@ -1008,13 +1008,15 @@ def attempt_bind(ctx, s, address, port): try: s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((address, port)) - except (socket.error, OSError) as e: # py2 and py3 + except OSError as e: if e.errno == errno.EADDRINUSE: msg = 'Cannot bind to IP %s port %d: %s' % (address, port, e) logger.warning(msg) raise PortOccupiedError(msg) else: - raise e + raise Error(e) + except Exception as e: + raise Error(e) finally: s.close() diff --git a/src/cephadm/tests/test_cephadm.py b/src/cephadm/tests/test_cephadm.py index e83c7589b02..0dc33aa7b99 100644 --- a/src/cephadm/tests/test_cephadm.py +++ b/src/cephadm/tests/test_cephadm.py @@ -54,8 +54,8 @@ class TestCephAdm(object): for side_effect, expected_exception in ( (os_error(errno.EADDRINUSE), cd.PortOccupiedError), - (os_error(errno.EAFNOSUPPORT), OSError), - (os_error(errno.EADDRNOTAVAIL), OSError), + (os_error(errno.EAFNOSUPPORT), cd.Error), + (os_error(errno.EADDRNOTAVAIL), cd.Error), (None, None), ): _socket = mock.Mock() @@ -122,8 +122,8 @@ class TestCephAdm(object): ): for side_effect, expected_exception in ( (os_error(errno.EADDRINUSE), cd.PortOccupiedError), - (os_error(errno.EADDRNOTAVAIL), OSError), - (os_error(errno.EAFNOSUPPORT), OSError), + (os_error(errno.EADDRNOTAVAIL), cd.Error), + (os_error(errno.EAFNOSUPPORT), cd.Error), (None, None), ): mock_socket_obj = mock.Mock() -- 2.39.5