Project

General

Profile

« Previous | Next » 

Revision e75700fd

Added by Lukáš Zapletal almost 5 years ago

Fixes #27160 - do not use Ruby Timeout for DNS (#6861)

View differences:

lib/foreman/renderer/scope/macros/base.rb
def dns_lookup(name_or_ip)
resolver = Resolv::DNS.new
Timeout.timeout(Setting[:dns_conflict_timeout]) do
begin
resolver.getname(name_or_ip)
rescue Resolv::ResolvError
resolver.getaddress(name_or_ip)
end
resolver.timeouts = Setting[:dns_timeout]
begin
resolver.getname(name_or_ip)
rescue Resolv::ResolvError
resolver.getaddress(name_or_ip)
end
rescue StandardError => e
log_warn "Template helper dns_lookup failed: #{e}"
log_warn "Template helper dns_lookup failed: #{e} (timeout set to #{Setting[:dns_timeout]})"
raise e
end

Also available in: Unified diff