]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/pybind/mgr/mgr_util.py
import 14.2.4 nautilus point release
[ceph.git] / ceph / src / pybind / mgr / mgr_util.py
index 3a48e9330267f87d0226146f203aef02efa4baa5..331f19d389f31e699c87b9c9ac2a59faa943f2c5 100644 (file)
@@ -1,3 +1,5 @@
+import contextlib
+import socket
 
 (
     BLACK,
@@ -85,3 +87,22 @@ def merge_dicts(*args):
     for arg in args:
         ret.update(arg)
     return ret
+
+
+def get_default_addr():
+    def is_ipv6_enabled():
+        try:
+            sock = socket.socket(socket.AF_INET6)
+            with contextlib.closing(sock):
+                sock.bind(("::1", 0))
+                return True
+        except (AttributeError, socket.error) as e:
+           return False
+
+    try:
+        return get_default_addr.result
+    except AttributeError:
+        result = '::' if is_ipv6_enabled() else '0.0.0.0'
+        get_default_addr.result = result
+        return result
+