Project

General

Profile

ERF50-9294 » History » Revision 3

Revision 2 (Lukas Zapletal, 09/22/2016 03:31 AM) → Revision 3/9 (Daniel Moessner, 09/22/2016 07:59 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 hostname set in the @tftp_servername@ 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@ 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@, (resolv.conf, /etc/hosts etc). This can lead to issues and this may be unexpected behaviour behavior for some administrators. 

 * Luckily, there is a global setting "Query local nameservers" (see Administer -> Settings) available to change that behaviour. behavior. 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@ 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 therefore 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@ foreman-proxy process after changing by issuing @# service foreman-proxy restart@): when changing): 

 <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.