debian: better resolv.conf in builder containers

Add option ndots:1 to /etc/resolv.conf

This fixes a few issues with DNS queries within docker containers.

Normally when looking up a host name such as "debian.org", libc appends
the search domains from /etc/resolv.conf to the host name, then makes a
separate query for each "long" name. For example, if "search" in
/etc/resolv.conf contains "domain1.org domain2.org", we make 3 queries
when looking for debian.org's IP addr:

- debian.org.domain1.org (fail)
- debian.org.domain2.org (fail)
- debian.org (success)

Setting "ndots:1" makes it send the last unqualified query before the
other queries with appended search domains -- for any names that
contain >= 1 dot.

This patch solves 2 problems:

(1) In Alpine Linux (used by the "docker" pod), libc has a limitation:
    the domain search list can't have more than 5 entries. If it does it
    stops sending any more DNS queries and the last (unqualified) query
    never happens, so many hostname lookups fail.

(2) These extra queries are not necessary a lot of the time, so this
    patch makes host name lookups faster

TESTS
===============================

- Rebuild all containers
- Rebuild packages and the ISO
- Make sure DNS queries work in all containers

Story: 2009897
Task: 45156

Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
Change-Id: I7dd72b8fcc776821138c362c3aec9f4e5962a319
This commit is contained in:
Davlet Panech 2022-04-22 11:01:48 -04:00
parent 953b2538af
commit ec39ac4d95
12 changed files with 48 additions and 0 deletions

View File

@ -41,6 +41,9 @@ spec:
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: {{ .Values.volumes.name }}
hostPath:

View File

@ -26,6 +26,11 @@ volumes:
podAnnotations: {}
dnsConfig:
options:
- name: ndots
value: "1"
podSecurityContext: {}
# fsGroup: 2000

View File

@ -50,6 +50,9 @@ spec:
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: shared-workspace
hostPath:

View File

@ -24,6 +24,11 @@ services:
type: ClusterIP
port: 2375
dnsConfig:
options:
- name: ndots
value: "1"
insecureRegistries:
# - "registry.address:port"

View File

@ -43,6 +43,9 @@ spec:
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: {{ .Values.volumes.name }}
hostPath:

View File

@ -31,6 +31,11 @@ fullnameOverride: ""
podAnnotations: {}
dnsConfig:
options:
- name: ndots
value: "1"
podSecurityContext: {}
# fsGroup: 2000

View File

@ -45,6 +45,9 @@ spec:
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: {{ .Values.volumes.workspace.name }}
hostPath:

View File

@ -41,6 +41,11 @@ fullnameOverride: ""
podAnnotations: {}
dnsConfig:
options:
- name: ndots
value: "1"
podSecurityContext: {}
# fsGroup: 2000

View File

@ -47,6 +47,9 @@ spec:
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: {{ .Values.volumes.name }}
configMap:

View File

@ -40,6 +40,11 @@ fullnameOverride: ""
podAnnotations: {}
dnsConfig:
options:
- name: ndots
value: "1"
podSecurityContext: {}
# fsGroup: 2000

View File

@ -48,6 +48,9 @@ spec:
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: {{ .Values.volumes.workspace.name }}
hostPath:

View File

@ -50,6 +50,11 @@ fullnameOverride: ""
podAnnotations: {}
dnsConfig:
options:
- name: ndots
value: "1"
podSecurityContext: {}
# fsGroup: 2000