From d1750f93fa994d240f22217b8dcc4484aed450f4 Mon Sep 17 00:00:00 2001 From: Wido den Hollander Date: Thu, 8 May 2014 13:39:42 +0200 Subject: [PATCH] Write correct 'mon_host' with IPv6 addresses When the IP-address from a monitor is a IPv6 address, encapsulate it with [ and ] Fixes: #8309 --- ceph_deploy/new.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ceph_deploy/new.py b/ceph_deploy/new.py index 3680821..8e7b3b2 100644 --- a/ceph_deploy/new.py +++ b/ceph_deploy/new.py @@ -5,6 +5,7 @@ import uuid import struct import time import base64 +import socket from ceph_deploy.cliutil import priority from ceph_deploy import conf, hosts, exc @@ -90,7 +91,14 @@ def new(args): ip = net.get_nonlocal_ip(host) LOG.debug('Monitor %s at %s', name, ip) mon_initial_members.append(name) - mon_host.append(ip) + try: + socket.inet_pton(socket.AF_INET6, ip) + mon_host.append("[" + ip + "]") + LOG.info('Monitors are IPv6, binding Messenger traffic on IPv6') + cfg.set('global', 'ms bind ipv6', 'true') + except socket.error: + mon_host.append(ip) + if args.ssh_copykey: ssh_copy_keys(host, args.username) -- 2.47.3