]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge PR #32712 into master
authorSage Weil <sage@redhat.com>
Sat, 18 Jan 2020 18:53:40 +0000 (12:53 -0600)
committerSage Weil <sage@redhat.com>
Sat, 18 Jan 2020 18:53:40 +0000 (12:53 -0600)
* refs/pull/32712/head:
cephadm: SO_REUSEADDR when doing bind check

Reviewed-by: Michael Fritch <mfritch@suse.com>
1  2 
src/cephadm/cephadm

index a6d803f1aa777956360ccde250b2ff487c85b96a,aeb9bf9e34b34a0351a7171d3d339402260a2d32..2f90b028eacf7540bc86adc708db01713c107d70
@@@ -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()