diff --git a/manifests/pacemaker/haproxy_with_vip.pp b/manifests/pacemaker/haproxy_with_vip.pp index df001c1fd..559701176 100644 --- a/manifests/pacemaker/haproxy_with_vip.pp +++ b/manifests/pacemaker/haproxy_with_vip.pp @@ -75,18 +75,20 @@ define tripleo::pacemaker::haproxy_with_vip( if !is_ip_addresses($ip_address) { fail("Haproxy VIP: ${ip_address} is not a proper IP address.") } - if $nic != undef { - $nic_real = $nic - } else { - $nic_real = '' - } if is_ipv6_address($ip_address) { $netmask = '128' + $vip_nic = interface_for_ip($ip_address) $ipv6_addrlabel = '99' } else { $netmask = '32' + $vip_nic = '' $ipv6_addrlabel = '' } + if $nic != undef { + $nic_real = $nic + } else { + $nic_real = $vip_nic + } $haproxy_in_container = hiera('haproxy_docker', false) $constraint_target_name = $haproxy_in_container ? { diff --git a/manifests/profile/pacemaker/ovn_dbs_bundle.pp b/manifests/profile/pacemaker/ovn_dbs_bundle.pp index 35876b040..028c8c7cf 100644 --- a/manifests/profile/pacemaker/ovn_dbs_bundle.pp +++ b/manifests/profile/pacemaker/ovn_dbs_bundle.pp @@ -324,16 +324,24 @@ monitor interval=30s role=Slave timeout=${dbs_timeout}s", if $ovn_separate_vip { if is_ipv6_address($ovn_dbs_vip) { $netmask = '128' + $vip_nic = interface_for_ip($ovn_dbs_vip) $ipv6_addrlabel = '99' } else { $netmask = '32' + $vip_nic = '' $ipv6_addrlabel = '' } + if $ovn_dbs_vip_nic != undef { + $nic_real = $ovn_dbs_vip_nic + } else { + $nic_real = $vip_nic + } + pacemaker::resource::ip { "${ovndb_vip_resource_name}": ip_address => $ovn_dbs_vip, cidr_netmask => $netmask, - nic => $ovn_dbs_vip_nic, + nic => $nic_real, ipv6_addrlabel => $ipv6_addrlabel, location_rule => $ovn_dbs_location_rule, meta_params => "resource-stickiness=INFINITY ${meta_params}",