Yes, indeed. I have been able to reproduce this in my lab with Foreman 3.2/Katello 4.3.
So when the Foreman server itself (it’s named deploy.lbhr.htm.lan
in this log) is present in the hosts list, no systems can boot either FDI or the installer. When I look in /var/log/foreman/production.log
I see the following entries:
2022-06-27T10:32:11 [I|app|7942b995] Started GET "/unattended/iPXE?bootstrap=1&url=http%3A%2F%2Fdeploy.lbhr.htm.lan%3A8000" for 192.168.255.15 at 2022-06-27 10:32:11 +0200
2022-06-27T10:32:11 [I|app|7942b995] Processing by UnattendedController#host_template as TEXT
2022-06-27T10:32:11 [I|app|7942b995] Parameters: {"bootstrap"=>"1", "url"=>"http://deploy.lbhr.htm.lan:8000", "kind"=>"iPXE", "unattended"=>{}}
2022-06-27T10:32:11 [W|app|7942b995] Could not find a provider for deploy.lbhr.htm.lan. Providers returned {"Katello::ManagedContentMediumProvider"=>["Kickstart repository was not set for host 'deploy.lbhr.htm.lan'", "Content source was not set for host 'deploy.lbhr.htm.lan'"], "MediumProviders::Default"=>["Rocky 8.5 medium was not set for host 'deploy.lbhr.htm.lan'", "Invalid medium '' for 'Rocky 8.5'"]}
2022-06-27T10:32:11 [I|app|7942b995] Rendering text template
2022-06-27T10:32:11 [I|app|7942b995] Rendered text template (Duration: 0.0ms | Allocations: 2)
2022-06-27T10:32:11 [I|app|7942b995] Completed 200 OK in 63ms (Views: 1.0ms | ActiveRecord: 10.0ms | Allocations: 1617
Which will then result in rendering the template below:
[root@deploy ~]# curl http://deploy.lbhr.htm.lan:8000/unattended/iPXE?bootstrap=1
#!ipxe
# Skips booting from network and continues booting from next device
exit 1
Some background about the components it names in the logs:
- The operating system
Rocky 8.5
is not one I create, it is autocreated by foreman-installer
(I think when it ‘registers’ the server itself)
- It is therefore completely empty, I only configure a
Rocky 8
OS, which I do with Ansible and that holds all the settings it needs.
- When I ‘adopt’ the Foreman server and change the OS, the errors in the log go away, but the issue is not resolved. Unknown hosts still receive the ‘boot your local drive’ template.
2022-06-27T10:40:38 [I|app|23f87faa] Started GET "/unattended/iPXE?bootstrap=1&url=http%3A%2F%2Fdeploy.lbhr.htm.lan%3A8000" for 192.168.255.15 at 2022-06-27 10:40:38 +0200
2022-06-27T10:40:38 [I|app|23f87faa] Processing by UnattendedController#host_template as TEXT
2022-06-27T10:40:38 [I|app|23f87faa] Parameters: {"bootstrap"=>"1", "url"=>"http://deploy.lbhr.htm.lan:8000", "kind"=>"iPXE", "unattended"=>{}}
2022-06-27T10:40:38 [I|app|23f87faa] Rendering text template
2022-06-27T10:40:38 [I|app|23f87faa] Rendered text template (Duration: 0.0ms | Allocations: 1)
2022-06-27T10:40:38 [I|app|23f87faa] Completed 200 OK in 41ms (Views: 0.5ms | ActiveRecord: 8.5ms | Allocations: 20667)
Only when I delete the host, PXE discovery and installations resume.
What is odd, is that it seems that unknown hosts seem to use the IP address of the foreman server. In both these logs I booted a secondary VM, which has 192.168.255.173
as it’s IP, while the Foreman server has 192.168.255.15
.