From: Sage Weil Date: Sat, 18 Jan 2020 18:53:40 +0000 (-0600) Subject: Merge PR #32712 into master X-Git-Tag: v15.1.0~183 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=714eb188925086bf3cec0e2c50ffe85859122e3c;p=ceph.git Merge PR #32712 into master * refs/pull/32712/head: cephadm: SO_REUSEADDR when doing bind check Reviewed-by: Michael Fritch --- 714eb188925086bf3cec0e2c50ffe85859122e3c diff --cc src/cephadm/cephadm index a6d803f1aa777,aeb9bf9e34b34..2f90b028eacf7 --- a/src/cephadm/cephadm +++ b/src/cephadm/cephadm @@@ -139,14 -119,13 +139,15 @@@ class Monitoring(object) def attempt_bind(s, address, port): # type (str) -> None try: + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((address, port)) except (socket.error, OSError) as e: # py2 and py3 + msg = 'Cannot bind to IP %s port %d: %s' % (address, port, e) + logger.warning(msg) if e.errno == errno.EADDRINUSE: - raise OSError + raise OSError(msg) elif e.errno == errno.EADDRNOTAVAIL: - return + pass finally: s.close()