]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: raise `Error()` when unable to bind to an ip
authorMichael Fritch <mfritch@suse.com>
Fri, 11 Jun 2021 03:15:14 +0000 (21:15 -0600)
committerSebastian Wagner <sewagner@redhat.com>
Thu, 17 Jun 2021 08:47:02 +0000 (10:47 +0200)
Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit db8d2a25c30dd25c468de598678dd15c81f3d19e)

src/cephadm/cephadm
src/cephadm/tests/test_cephadm.py

index f2ee97700b82c9a8e01b91767d046b26f6bdcc8c..1dfbd39cf9b0d3321bc5bf8299a78c9997901078 100755 (executable)
@@ -1007,13 +1007,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()
 
index 2f9543688583191c3211ac77bc18961453181d9c..c3ba3bed246e3b168e46afcb10602c5fed29867c 100644 (file)
@@ -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()