Project

General

Profile

ERF50-9294 » History » Version 5

Version 4 (Daniel Moessner, 09/22/2016 08:00 AM) → Version 5/9 (Daniel Moessner, 09/22/2016 08:01 AM)

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

<pre>
ERF50-9294 [Foreman::WrappedException]: Unable to find IP address for 'foreman.home.lan' ([Resolv::ResolvError]: DNS result has no information for foreman.home.lan)
</pre>

<pre>
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)
</pre>

* This happens when the hostname, 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@):

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

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