From: Wido den Hollander Date: Thu, 8 May 2014 11:39:42 +0000 (+0200) Subject: Write correct 'mon_host' with IPv6 addresses X-Git-Tag: v1.5.3~12^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d1750f93fa994d240f22217b8dcc4484aed450f4;p=ceph-deploy.git Write correct 'mon_host' with IPv6 addresses When the IP-address from a monitor is a IPv6 address, encapsulate it with [ and ] Fixes: #8309 --- 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)