-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
6.17.z
-
8
-
False
-
sat-rocket
-
Bug Fix
-
-
Proposed
-
Manual
A known issue very similar to this was reported in https://issues.redhat.com/browse/SAT-36542 but for external capsule servers.
When testing for the satellite itself, it seems foreman-discovery-image-x86_64-5.0.1-22.el9sat.iso does not work at all, even when an external capsule is not involved.
When discovery server url is set to https://<satellite-fqdn> and the type is set to foreman , then Discovery always fails in the fact upload stage.
Steps to reproduce:
- Install and configure a satellite 6.17.5 for foreman discovery
- Make sure to have /usr/share/foreman-discovery-image/foreman-discovery-image-x86_64-5.0.1-22.el9sat.iso present
- Boot a blank system with that ISO
- Interrupt the auto-discovery and then select "Discover with DHCP".
- Follow the prompts to discover that system with DHCP and then when asked for credentials, Mention "https://<satellite-fqdn>" as the Server URL and select "Foreman" as the Server type
- Hit next and observe what happens
Actual Issue:
Fact Upload failed
The page you are looking for doesn't exist (404)
And in satellite logs:
2025-11-01T06:23:59 [I|app|8699c556] Started POST "/discovery/create" for 192.168.x.x at 2025-11-01 06:23:59 +0530
2025-11-01T06:23:59 [I|app|8699c556] Katello event daemon started process=2913
2025-11-01T06:23:59 [F|app|8699c556]
8699c556 | ActionController::RoutingError (No route matches [POST] "/discovery/create"):
8699c556 |
8699c556 | lib/foreman/middleware/logging_context_request.rb:11:in `call'
8699c556 | katello (4.16.0.9) lib/katello/prevent_json_parsing.rb:12:in `call'
The exact same issue was reported in https://community.theforeman.org/t/foreman-discovery-image-5-0/42142 as well
Few things:
- If i redo the exact same process via PXE based discovery ( PXE files extracted from the same image ), then also the exact same problem happens
- If i use "https://<satellite-fqdn>:9090" as the Server URL and "Foreman Proxy" pr Proxy as the Server Type, the host is successfully discovered.
- I am attaching a gif recording to show the behavior as well. When it's successful, It always uses the following endpoint.
- POST "/api/v2/discovered_hosts/facts"
- But during failure ( Type Foreman ), it uses
- Started POST "/discovery/create"
- But during failure ( Type Foreman ), it uses
- POST "/api/v2/discovered_hosts/facts"
- It's important to note that, When discovery starts, If we don't interrupt the process for anything, then the discovery happens fine ( no matter what the URL and type is ). I am adding another gif to show this behavior as well.
Expected Outcome:
No such issues when using a valid server URL and type combination, especially for Foreman URL and Foreman type.