]> git.apps.os.sepia.ceph.com Git - ceph-ci.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)
committerMichael Fritch <mfritch@suse.com>
Fri, 11 Jun 2021 04:16:04 +0000 (22:16 -0600)
Signed-off-by: Michael Fritch <mfritch@suse.com>
src/cephadm/cephadm
src/cephadm/tests/test_cephadm.py

index ffbcbb567de0569b63ef92c3c3289cfb82bd6913..26fd130dce25441f8a0c57b91c0dd328d3e8e746 100755 (executable)
@@ -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()
 
index e83c7589b02349e7517e02d38138a675ad5aa7f3..0dc33aa7b992fccea7e363c465b928b4591ffea0 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()