Facts appear correctly in the discovered hosts lists. My search rule is based on some custom facts (fdi.pxfactname/fdi.pxfactvalue) injected when calling the FDI image kernel.
It turns out it eventually gets triggered and I just didn’t wait long enough, I expected it to trigger in a few seconds. It takes 15m to trigger, apparently when facts get reloaded.
I’m getting:
2020-05-22T19:29:32 [D|app|93e0b94a] Finding auto discovery rule for host XXXX (151)
2020-05-22T19:29:32 [D|app|93e0b94a] Body: {"id":151,"name":"XXXX","last_compile":null,"last_report":"2020-05-22T16:29:31.054Z","updated_at":"2020-05-22T16:29:31.951Z","created_at":"2020-05-22T16:29:31.013Z",
"root_pass":null,"architecture_id":null,"operatingsystem_id":null,"environment_id":null,"ptable_id":null,"medium_id":null,"build":false,"comment":null,"disk":null,"installed_at":null,"model_id":2,"hostgroup_id":
null,"owner_id":1,"owner_type":"User","enabled":true,"puppet_ca_proxy_id":null,"managed":false,"use_image":null,"image_file":null,"uuid":null,"compute_resource_id":null,"puppet_proxy_id":null,"certname":null,"im
age_id":null,"organization_id":3,"location_id":30,"otp":null,"realm_id":null,"compute_profile_id":null,"provision_method":null,"grub_pass":"","global_status":0,"lookup_value_matcher":null,"pxe_loader":null,"init
iated_at":null,"build_errors":null,"discovery_rule_id":null,"monitoring_proxy_id":null,"openscap_proxy_id":null}
2020-05-22T19:29:32 [I|app|93e0b94a] Completed 201 Created in 1060ms (Views: 1.2ms | ActiveRecord: 332.3ms)
Then further down:
2020-05-22T19:35:07 [I|app|00a95aa9] Started GET "/discovered_hosts/XXXX" for XXXXXXXXX at 2020-05-22 19:35:07 +0300
2020-05-22T19:35:07 [I|app|00a95aa9] Processing by DiscoveredHostsController#show as HTML
2020-05-22T19:35:07 [I|app|00a95aa9] Parameters: {"id"=>"XXXX"}
2020-05-22T19:35:07 [D|tax|00a95aa9] Current location set to none
2020-05-22T19:35:07 [D|tax|00a95aa9] Current organization set to none
2020-05-22T19:35:07 [I|app|00a95aa9] Rendering /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/show.html.erb within layouts/application
2020-05-22T19:35:08 [I|app|00a95aa9] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/_discovered_host_modal.html.erb (8.0ms)
2020-05-22T19:35:08 [I|app|00a95aa9] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/show.html.erb within layouts/application (18.5ms)
2020-05-22T19:35:08 [W|app|00a95aa9] unable to detect breadcrumb title name in for discovered_hosts, defaulting to name
2020-05-22T19:35:08 [D|app|00a95aa9] <NameError> Could not find resource class for resource discovered_host
/usr/share/foreman/app/controllers/concerns/find_common.rb:31:in `resource_class'
/usr/share/foreman/app/services/breadcrumbs_options.rb:23:in `resource_class'
/usr/share/foreman/app/services/breadcrumbs_options.rb:68:in `model_name_field'
/usr/share/foreman/app/services/breadcrumbs_options.rb:81:in `resource'
/usr/share/foreman/app/services/breadcrumbs_options.rb:16:in `bar_props'
/usr/share/foreman/app/helpers/layout_helper.rb:83:in `mount_breadcrumbs'
/usr/share/foreman/app/views/layouts/_application_content.html.erb:15:in `_81b16ab1ca83e548f24e04619beb72a8'
.
.
.
/usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
/usr/share/passenger/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'
/opt/theforeman/tfm/root/usr/share/gems/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
2020-05-22T19:35:08 [I|app|00a95aa9] Rendered layouts/_application_content.html.erb (2.3ms)
2020-05-22T19:35:08 [I|app|00a95aa9] Rendering layouts/base.html.erb
2020-05-22T19:35:08 [I|app|00a95aa9] Rendered layouts/base.html.erb (32.5ms)
2020-05-22T19:35:08 [I|app|00a95aa9] Completed 200 OK in 147ms (Views: 55.0ms | ActiveRecord: 6.7ms)
Then finally:
2020-05-22T19:44:37 [I|app|fb6ba3fa] Started POST "/api/v2/discovered_hosts/facts" for XXXXXXX at 2020-05-22 19:44:37 +0300
2020-05-22T19:44:37 [I|app|fb6ba3fa] Processing by Api::V2::DiscoveredHostsController#facts as JSON
2020-05-22T19:44:37 [I|app|fb6ba3fa] Parameters: {"facts"=>"[FILTERED]", "apiv"=>"v2", "discovered_host"=>{"facts"=>"[FILTERED]"}}
2020-05-22T19:44:37 [I|app|fb6ba3fa] Import facts for 'XXXX' completed. Added: 10, Updated: 2, Deleted 0 facts
2020-05-22T19:44:37 [D|tax|fb6ba3fa] Current location set to XXXXXXXXX
2020-05-22T19:44:37 [D|tax|fb6ba3fa] Current organization set to XXXXX
.
.
.
2020-05-22T19:44:37 [I|app|fb6ba3fa] Detected IPv4 subnet: XXXXXX with taxonomy ["XXXXXX"]/["XXXXXXXXXX"]
2020-05-22T19:44:37 [I|app|fb6ba3fa] Assigned location: XXXXXXXXX
2020-05-22T19:44:37 [I|app|fb6ba3fa] Assigned organization: XXXXXXX
2020-05-22T19:44:37 [D|not|fb6ba3fa] Notification event: UINotifications::NewHost - checking for notifications
2020-05-22T19:44:37 [D|app|fb6ba3fa] Finding auto discovery rule for host XXXX (151)
2020-05-22T19:44:37 [D|app|fb6ba3fa] Found rule XXXXXXXXXX (7) [6/0]
2020-05-22T19:44:37 [I|app|fb6ba3fa] Match found for host XXXX (151) rule XXXXXXXX (7)
2020-05-22T19:44:37 [D|app|fb6ba3fa] Auto-provisioning via rule XXXXXXXXXX hostgroup XXXXXXXXXXXXX subnet
2020-05-22T19:44:37 [W|app|fb6ba3fa] Could not find a provider for XXXX. Providers returned {"Katello::ManagedContentMediumProvider"=>["Kickstart repository was not set for host 'XXXX'", "Content source was not set for host 'XXXX'"], "MediumProviders::Default"=>["Operating system was not set for host 'XXXX'", " medium was not set for host 'XXXX'", "Invalid medium '' for ''", "Invalid architecture '' for
''"]}
I’m curious about this message:
Could not find a provider for XXXX. Providers returned {“Katello::ManagedContentMediumProvider”=>[“Kickstart repository was not set for host ‘XXXX’”, “Content source was not set for host ‘XXXX’”], “MediumProviders::Default”=>[“Operating system was not set for host ‘XXXX’”, " medium was not set for host ‘XXXX’", “Invalid medium ‘’ for ‘’”, “Invalid architecture ‘’ for
‘’”]}
Because all of those parameters are configured in the hostgroup either by inheritance or directly.