The issue might be in the resolve_address function in charm-helpers:
def resolve_address(endpoint_type=PUBLIC):
"""Return unit address depending on net config.
If unit is clustered with vip(s) and has net splits defined, return vip on
correct network. If clustered with no nets defined, return primary vip.
If not clustered, return unit address ensuring address is on configured net
split if one is configured.
:param endpoint_type: Network endpoing type
"""
resolved_address = None
vips = config('vip')
if vips:
vips = vips.split()
net_type = ADDRESS_MAP[endpoint_type]['config']
net_addr = config(net_type)
net_fallback = ADDRESS_MAP[endpoint_type]['fallback']
clustered = is_clustered()
if clustered:
if not net_addr:
# If no net-splits defined, we expect a single vip resolved_address = vips[0]
However I would still expect that to return a single VIP, not all of them.
The issue might be in the resolve_address function in charm-helpers:
def resolve_ address( endpoint_ type=PUBLIC) :
"""Return unit address depending on net config.
If unit is clustered with vip(s) and has net splits defined, return vip on
correct network. If clustered with no nets defined, return primary vip.
If not clustered, return unit address ensuring address is on configured net
split if one is configured.
:param endpoint_type: Network endpoing type address = None
"""
resolved_
vips = config('vip')
if vips:
vips = vips.split()
net_type = ADDRESS_ MAP[endpoint_ type][' config' ] MAP[endpoint_ type][' fallback' ]
resolved_ address = vips[0]
net_addr = config(net_type)
net_fallback = ADDRESS_
clustered = is_clustered()
if clustered:
if not net_addr:
# If no net-splits defined, we expect a single vip
However I would still expect that to return a single VIP, not all of them.