Project

General

Profile

ERF50-9294 » History » Version 3

« Previous - Version 3/9 (diff) - Next » - Current version
Daniel Moessner, 09/22/2016 07:59 AM


ERF50-9294 Failed to save: failed to detect boot server

ERF50-9294 [Foreman::WrappedException]: Unable to find IP address for 'foreman.home.lan' ([Resolv::ResolvError]: DNS result has no information for foreman.home.lan)
failed to detect boot server: ERF50-9294 [Foreman::WrappedException]: Unable to find IP address for 'capsule-server.satellite.example.com' ([SocketError]: getaddrinfo: Name or service not known)
  • This happens when hostname set in the tftp_servername option (TFTP Smart Proxy by default) has no valid DNS record via DNS servers set in SOA/NS record of the domain. Foreman resolves the hostname set in tftp_servername to an IP address in order to ensure clients boots without any DNS requests.
  • By default, Foreman explicitly contacts DNS servers configured in the SOA therefore it ignores system-wide DNS setting (like resolv.conf, /etc/hosts, etc). This can lead to issues and this may be unexpected behaviour for some administrators.
  • Luckily, there is a global setting "Query local nameservers" (see Administer -> Settings) available to change that behaviour. Foreman will then query the locally configured resolver instead of the SOA/NS authorities when the setting is set.

As an alternative, set the tftp_servername configuration value to the server's IP address instead of the DNS name, directly in /etc/foreman-proxy/settings.d/tftp.yml, so Foreman won't need to resolve the hostname.

The relevant setting can be found on the Smart Proxy in Administer -> Settings -> Provisoning -> Query local nameservers (make sure to restart foreman-proxy process after changing by issuing # service foreman-proxy restart):

[root@myproxy ~]# cat /etc/foreman-proxy/settings.d/tftp.yml 
---
:enabled: true
:tftproot: /var/lib/tftpboot/
:tftp_servername: 192.168.99.1

Foreman installer can set this automatically via --foreman-proxy-tftp-servername option.