Dualstack IPv4/IPv6 support

Allow for two VIPs on a single interface as in IPv4/IPv6 dual
stack scenarios.

Add missing group membership for VIPs.

Change-Id: Ieba9fd453efcd3d407baaeb8d0d6f3f71750060e
This commit is contained in:
David Ames 2017-08-17 15:44:53 -07:00
parent e4743dd143
commit 77c2b25407
2 changed files with 11 additions and 0 deletions

View File

@ -573,6 +573,9 @@ class VirtualIP(ResourceDescriptor):
else:
res_type = 'ocf:heartbeat:IPv6addr'
res_params = 'ipv6addr="{}"'.format(self.vip)
vip_params = 'ipv6addr'
vip_key = 'res_{}_{}_{}_vip'.format(self.service_name, self.nic,
vip_params)
if self.nic:
res_params = '{} nic="{}"'.format(res_params, self.nic)

View File

@ -103,6 +103,14 @@ class HAClusterRequires(RelationBase):
vip,
nic=iface,
cidr=netmask,))
# Vip Group
group = 'grp_{}_vips'.format(name)
if resource_dict:
vip_resources = resource_dict.get('resources')
if vip_resources:
resources.group(group, *vip_resources.keys())
self.set_local(resources=resources)
def add_init_service(self, name, service, clone=True):