fixed get_ipv6_addr issue
This commit is contained in:
parent
b48b0ab81c
commit
7540d6bac8
@ -16,6 +16,12 @@ import struct
|
||||
from charmhelpers.fetch import apt_install
|
||||
from charmhelpers.contrib.network import ip as utils
|
||||
|
||||
try:
|
||||
import netifaces
|
||||
except ImportError:
|
||||
apt_install('python-netifaces')
|
||||
import netifaces
|
||||
|
||||
try:
|
||||
from netaddr import IPNetwork
|
||||
except ImportError:
|
||||
@ -83,25 +89,17 @@ def get_network_address(iface):
|
||||
return None
|
||||
|
||||
|
||||
def get_ipv6_addr(iface="eth0"):
|
||||
def get_ipv6_network_address(iface):
|
||||
try:
|
||||
try:
|
||||
import netifaces
|
||||
except ImportError:
|
||||
apt_install('python-netifaces')
|
||||
import netifaces
|
||||
ipv6_addr = utils.get_ipv6_addr(iface=iface)[0]
|
||||
all_addrs = netifaces.ifaddresses(iface)
|
||||
|
||||
ipv6_address = utils.get_ipv6_addr(iface)[0]
|
||||
ifa_addrs = netifaces.ifaddresses(iface)
|
||||
|
||||
for ifaddr in ifa_addrs[netifaces.AF_INET6]:
|
||||
if ipv6_address == ifaddr['addr']:
|
||||
network = "{}/{}".format(ifaddr['addr'],
|
||||
ifaddr['netmask'])
|
||||
ip = IPNetwork(network)
|
||||
return str(ip.network)
|
||||
for addr in all_addrs[netifaces.AF_INET6]:
|
||||
if ipv6_addr == addr['addr']:
|
||||
network = "{}/{}".format(addr['addr'], addr['netmask'])
|
||||
return str(IPNetwork(network).network)
|
||||
|
||||
except ValueError:
|
||||
raise Exception("Invalid interface '%s'" % iface)
|
||||
|
||||
raise Exception("No valid network found in interface '%s'" % iface)
|
||||
raise Exception("No valid network found for interface '%s'" % iface)
|
||||
|
@ -68,7 +68,7 @@ def get_corosync_conf():
|
||||
conf = {}
|
||||
if config('prefer-ipv6'):
|
||||
ip_version = 'ipv6'
|
||||
bindnetaddr = hacluster.get_ipv6_addr
|
||||
bindnetaddr = hacluster.get_ipv6_network_address
|
||||
else:
|
||||
ip_version = 'ipv4'
|
||||
bindnetaddr = hacluster.get_network_address
|
||||
@ -299,7 +299,7 @@ def configure_cluster():
|
||||
# Put the services in HA, if not already done so
|
||||
# if not pcmk.is_resource_present(res_name):
|
||||
if not pcmk.crm_opt_exists(res_name):
|
||||
if not res_name in resource_params:
|
||||
if res_name not in resource_params:
|
||||
cmd = 'crm -w -F configure primitive %s %s' % (res_name,
|
||||
res_type)
|
||||
else:
|
||||
|
@ -1,4 +1,3 @@
|
||||
#import lib.utils as utils
|
||||
import commands
|
||||
import subprocess
|
||||
import socket
|
||||
|
Loading…
x
Reference in New Issue
Block a user