From: merch-redmine@... Date: 2019-08-12T17:55:29+00:00 Subject: [ruby-core:94309] [Ruby master Bug#11152] Resolv::DNS should use Search Domains provided in /etc/resolv.conf by default Issue #11152 has been updated by jeremyevans0 (Jeremy Evans). It looks like the problem is a kubernetes-specific issue. With your `resolv.conf` file, I get the following for `Resolv::DNS::Config.default_config_hash`: ``` {:nameserver=>["10.7.240.10"], :search=>["staging.svc.cluster.local", "svc.cluster.local", "cluster.local", "c.foo-project.internal.", "google.internal."], :ndots=>5} ``` Based on the results of your`Resolv::DNS::Config.default_config_hash` output, I think the only explanation is that it is the `/etc/resolv.conf` is different from what is displayed. What is `File.read('/etc/resolv.conf')` if run directly after `require 'resolv'`? Alternatively, you can provide a self-contained reproducible example showing the problem? ---------------------------------------- Bug #11152: Resolv::DNS should use Search Domains provided in /etc/resolv.conf by default https://bugs.ruby-lang.org/issues/11152#change-80660 * Author: IronYuppie (David Aronchick) * Status: Feedback * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- For some reason Resolv::DNS does not use search domains. Many downstream projects rely on Resolv, and this appears broken. I'm showing this below in Kubernetes, but it's based on the search domain(s), rather than a cluster issue. ~~~ [1] pry(main)> require 'resolv' => true [2] pry(main)> Resolv::DNS.new.getaddresses('client') => [] [3] pry(main)> nameservers = ["10.0.0.10", "169.254.169.254", "10.240.0.1"] [4] pry(main)> search_domains = ["default.kubernetes.local", "kubernetes.local", "c.bar-foobar-91020.internal.", "55618245300.google.internal.", "google.internal."] [5] pry(main)> a = Resolv::DNS.new(:nameserver => nameservers, :search => search_domains) [...output...] [6] pry(main)> a.getaddresses('client') => [#] ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: