Bug 1788591

Summary: Internal registry service DNS name not resolvable from IPv6 hosts
Product: OpenShift Container Platform Reporter: Dan Mace <dmace>
Component: DNSAssignee: Dan Mace <dmace>
Status: CLOSED ERRATA QA Contact: Hongan Li <hongli>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.3.0CC: aos-bugs, hongli, jschluet
Target Milestone: ---   
Target Release: 4.3.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: ipv6
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1788583 Environment:
Last Closed: 2020-02-12 09:42:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1788583    
Bug Blocks:    

Description Dan Mace 2020-01-07 15:02:33 UTC
+++ This bug was initially created as a clone of Bug #1788583 +++

Description of problem:

Node Resolver is not able to pull correct DNS record for ipv6



Actual results:

Unable to specify the ipv6 IP for the service IP

Expected results:

able to specify ipv6 IP for the service IP

Additional info:

Patch cherry-pick to release-4.3 upstream
https://github.com/openshift/cluster-dns-operator/pull/152

Comment 2 Hongan Li 2020-01-08 02:19:44 UTC
verified with 4.3.0-0.nightly-2019-12-18-145749-ipv6.1 and issue has been fixed.

$ oc get svc -n openshift-image-registry
NAME                      TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)     AGE
image-registry            ClusterIP   fd02::662e   <none>        5000/TCP    44h
image-registry-operator   ClusterIP   None         <none>        60000/TCP   44h

$ oc debug node/ip-10-0-131-120.us-east-2.compute.internal
Starting pod/ip-10-0-131-120us-east-2computeinternal-debug ...
To use host binaries, run `chroot /host`
Pod IP: 2600:1f16:416:e100:2111:4d76:5e29:5ae5
If you don't see a command prompt, try pressing enter.
sh-4.2# chroot /host
sh-4.4# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
fd02::662e image-registry.openshift-image-registry.svc image-registry.openshift-image-registry.svc.cluster.local # openshift-generated-node-resolver


$ oc get ds -n openshift-dns -o yaml
<---snip--->
              for svc in "${services[@]}"; do
                # Fetch service IP from cluster dns if present
                ips=($(dig -t A @"${NAMESERVER}" +short "${svc}.${CLUSTER_DOMAIN}"))

                if [[ "$?" -eq 0 && "${#ips[@]}" -ne 0 ]]; then
                  svc_ips["${svc}"]="${ips[@]}"
                else
                  # Try IPv6
                  ips=($(dig -t AAAA @"${NAMESERVER}" +short "${svc}.${CLUSTER_DOMAIN}"))
                  if [[ "$?" -eq 0 && "${#ips[@]}" -ne 0 ]]; then
                    svc_ips["${svc}"]="${ips[@]}"
                  fi
                fi
              done

Comment 6 errata-xmlrpc 2020-02-12 09:42:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:0391