Bug 1659900

Summary: ipfailover pod cannot handle IPv6 addresses
Product: OpenShift Container Platform Reporter: Ravi Trivedi <travi>
Component: NetworkingAssignee: Dan Mace <dmace>
Networking sub component: router QA Contact: Hongan Li <hongli>
Status: CLOSED WONTFIX Docs Contact:
Severity: low    
Priority: unspecified CC: aos-bugs, bbennett, jokerman, mmccomas, tobias.brunner, wzheng
Version: 3.7.0   
Target Milestone: ---   
Target Release: 3.11.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-11 00:17:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ravi Trivedi 2018-12-17 07:28:02 UTC
Description of problem:

As per customer's request, the config generator [1] in the ipfailover pod should be able to handle IPv6 addresses as well. Currently, the weight calculation fails. 

While the cluster can use IPv6 and as long as no failover happens, everything will work fine. As soon as the failover event happens though, because of said bug the two pods will be in a split brain situation where both believe to be the master.

[1] - https://github.com/openshift/origin/blob/release-3.7/images/ipfailover/keepalived/lib/config-generators.sh#L238

Version-Release number of selected component (if applicable):

registry.access.redhat.com/openshift3/ose-keepalived-ipfailover:v3.7

How reproducible:

Always

Steps to Reproduce:
1. Use image on IPv6 network.
2. Cause failover of pods which does not work due to missing IPv6 weight calculation logic.

Additional info:

As of now, Kubernetes does not support IPv6 networks but keepalived supports it as per http://www.keepalived.org/changelog.html.