Discovered hosts have no provisioning token on initial build

I am back from holidays. Put Rails.logger.warn "XYZ" in the method. I am interested if it’s getting called, what method it schedules (set_token or expire_token).

1 Like

Hello,
We are experiencing the exact issue running on foreman 1.24

We run a multiple server environment with multiple smart proxies and our smart proxies are controlled through a DNS record

both our foreman server and our smart proxies are on version 1.24.3

Under:
setting > provisioning

We set token duration to 360

Remote address include all smart proxies IPs and local host ip.

Our foreman/settings.yaml includes:
:unattended: true

Our issue is that we don’t see the token string on a new build (provisioned ) host.

If we cancel the build and run a re-build it will work just fine, but for provisioned hosts from discovery list, our Kickstart PXELinux will omit the token string.

We made a test to see if the foreman_url just don’t have the token or that the token is coming as an empty string and figure out that it’s coming as an empty string.
We added the following to the code:

DEFAULT menu

MENU TITLE Booting into OS installer (ESC to stop)

TIMEOUT <%= timeout %>

ONTIMEOUT installer

# token value is --> <%= @host.token %> <--

LABEL installer

MENU LABEL <%= template_name %>

KERNEL <%= kernel %>

and on the smart proxy we saw the line:
# token value is --> <-- I.e empty string for the token.
After we hit a re-build for that host we got a token between the —> <—

As much as I would like to help, I am unable to reproduce in my environment. If anyone can help debugging this, let me know.

  1. Go to /usr/share/foreman
  2. Find app/models/concerns/hostext/token.rb
  3. Make the following change (see below)
  4. Enable debug mode for logging in /etc/foreman/settings.yml
  5. Restart the app: systemctl restart foreman httpd
diff --git a/app/models/concerns/hostext/token.rb b/app/models/concerns/hostext/token.rb
index 699dab96f..d3aa522ee 100644
--- a/app/models/concerns/hostext/token.rb
+++ b/app/models/concerns/hostext/token.rb
@@ -15,6 +15,10 @@ module Hostext
     # this has to happen post validation and before the orchesration queue is starting to
     # process, as the token value is required within the tftp config file manipulations
     def refresh_token_on_build
+      Rails.logger.warn "XXX settings-unattended >>> #{SETTINGS[:unattended]}"
+      Rails.logger.warn "XXX new_record? >>> #{new_record?}"
+      Rails.logger.warn "XXX build? >>> #{build?}"
+      Rails.logger.warn("XXX errors >>> #{errors&.inspect}") if respond_to?(errors)
       return unless SETTINGS[:unattended]
       # new server in build mode
       set_token if new_record? && build?

Then reproduce the problem and grep the whole transaction using request id from /var/log/foreman/production.log.

1 Like

We face this problem as well in our company.

I did as @lzap recommended and I got an error when clicking on “provision” the host:

In the production.log I can see:

2020-10-20T12:57:38 [W|app|6d14f6f4] XXX settings-unattended >>> true
2020-10-20T12:57:38 [W|app|6d14f6f4] XXX new_record? >>> false
2020-10-20T12:57:38 [W|app|6d14f6f4] XXX build? >>> true

We are seeing the same exact error as marc mentioned:
**Oops, we're sorry but something went wrong** #<ActiveModel::Errors:0x00007f13f17a4480 @base=#<Host::Managed id: 7457, name: "HOSTNAME", last_compile: nil, last_report: "2020-10-20 11:46:44", updated_at: "2020-10-20 11:46:48", created_at: "2020-10-20 11:46:44", root_pass: nil, architecture_id: 1, operatingsystem_id: 12, environment_id: nil, ptable_id: 120, medium_id: 33, build: true, comment: "", disk: "", installed_at: nil, model_id: 2, hostgroup_id: 13, owner_id: 4, owner_type: "User", enabled: true, puppet_ca_proxy_id: nil, managed: true, use_image: nil, image_file: nil, uuid: nil, compute_resource_id: nil, puppet_proxy_id: nil, certname: nil, image_id: nil, organization_id: 3, location_id: 2, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: nil, provision_method: nil, grub_pass: "", discovery_rule_id: nil, global_status: 0, lookup_value_matcher: nil, pxe_loader: "Grub2 UEFI", initiated_at: nil, build_errors: nil>, @messages={}, @details={}> is not a symbol nor a string

I replaced the actual hostname with the strin HOSTNAME.
I did check before the change that we can provision a the host (Which result in en error missing the token)

Thanks that helps, can you add one more line and try again please?

Rails.logger.warn "XXX build? >>> #{old.build?}"

That should give the definite answer. For some reason, discovered host do have build flag set.

Also, can you specify how the host is being provisioned? Normal or auto provisioning? UI or CLI or API? If this is CLI or API send me the full command or request.

After adding that line, this is the output that we are getting:

**Oops, we're sorry but something went wrong** #<ActiveModel::Errors:0x000000000de59428 @base=#<Host::Managed id: 7457, name: "HOSTNAME, last_compile: nil, last_report: "2020-10-20 11:46:44", updated_at: "2020-10-20 11:46:48", created_at: "2020-10-20 11:46:44", root_pass: nil, architecture_id: 1, operatingsystem_id: 12, environment_id: nil, ptable_id: 120, medium_id: 33, build: true, comment: "", disk: "", installed_at: nil, model_id: 2, hostgroup_id: 13, owner_id: 4, owner_type: "User", enabled: true, puppet_ca_proxy_id: nil, managed: true, use_image: nil, image_file: nil, uuid: nil, compute_resource_id: nil, puppet_proxy_id: nil, certname: nil, image_id: nil, organization_id: 3, location_id: 2, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: nil, provision_method: nil, grub_pass: "", discovery_rule_id: nil, global_status: 0, lookup_value_matcher: nil, pxe_loader: "Grub2 UEFI", initiated_at: nil, build_errors: nil>, @messages={}, @details={}> is not a symbol nor a string

We get that output after trying to provision a host using the UI
Thanks

Can you share the line XXX from production.log please?

/var/log/foreman # cat production.log |grep 19603
2020-10-27T07:16:22 [W|app|730b9906] 19603 settings-unattended >>> true
2020-10-27T07:16:22 [W|app|730b9906] 19603 new_record? >>> false
2020-10-27T07:16:22 [W|app|730b9906] 19603 build? >>> true

Apply this patch, just the single line you can ignore the helper dev script:

Restart, try again. Report back. I am having hard time to reproduce this.

Reply to this as well.

Hi, after applying the patch we got the following error message:
**Oops, we're sorry but something went wrong** #<ActiveModel::Errors:0x00007f92f1500268 @base=#<Host::Managed id: 7457, name: "HOSTNAME", last_compile: nil, last_report: "2020-10-20 11:46:44", updated_at: "2020-10-20 11:46:48", created_at: "2020-10-20 11:46:44", root_pass: nil, architecture_id: 1, operatingsystem_id: 12, environment_id: nil, ptable_id: 120, medium_id: 33, build: true, comment: "", disk: "", installed_at: nil, model_id: 2, hostgroup_id: 13, owner_id: 4, owner_type: "User", enabled: true, puppet_ca_proxy_id: nil, managed: true, use_image: nil, image_file: nil, uuid: nil, compute_resource_id: nil, puppet_proxy_id: nil, certname: nil, image_id: nil, organization_id: 3, location_id: 2, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: nil, provision_method: nil, grub_pass: "", discovery_rule_id: nil, global_status: 0, lookup_value_matcher: nil, pxe_loader: "Grub2 UEFI", initiated_at: nil, build_errors: nil>, @messages={}, @details={}> is not a symbol nor a string

We are provioning our hosts at the moment using UI.
Choosing the host group and costume the host name.

Wanted to mention that while changing the lines I notised that our code is different from yours (on the PR), wanted to post the code I removed as well

from discover-host file:
76 interfaces << [“eth0”, “122”] if interfaces.empty?
77 primary ||= interfaces.first.first
78 bootif ||= interfaces.first.first
79 json = JSON.parse(File.read(base))
80 json[“foreman_organization”] = organization if organization
81 json[“foreman_location”] = location if location
82 json[“discovery_version”] = version
83 unless preserve_interfaces
84 json[“interfaces”] = interfaces.map{|i| i.first}.join(’,’)
85 interfaces.each do |iface|
86 name, subnet, ipo, mac = iface
87 mac ||= ([“52”] + 5.times.map { ‘%02x’ % rand(0…255) }).join(’:’)
88 ipo ||= rand(1…253)
89 ip = “192.168.#{subnet}.#{ipo}”
90 json[“macaddress_#{name}”] = mac
91 json[“ipaddress_#{name}”] = ip
92 if name == primary
93 json[“macaddress”] = mac
94 json[“ipaddress”] = ip
95 end
96 json[“discovery_bootif”] = mac if name == bootif
97 end
98 end
99 puts JSON.pretty_generate(json)

Also wanted to add production.log output:

2020-10-28T12:24:13 [D|app|93d397d8] Cache read: settings/host_name_validation_regex
2020-10-28T12:24:13 [D|app|93d397d8] Cache generate: settings/host_name_validation_regex
2020-10-28T12:24:13 [D|app|93d397d8] Cache write: settings/host_name_validation_regex
2020-10-28T12:24:13 [D|app|93d397d8] Cache read: settings/host_name_validation_regex
2020-10-28T12:24:13 [D|app|93d397d8] Cache fetch_hit: settings/host_name_validation_regex
2020-10-28T12:24:13 [W|app|93d397d8] 19603 settings-unattended >>> true
2020-10-28T12:24:13 [W|app|93d397d8] 19603 new_record? >>> false
2020-10-28T12:24:13 [W|app|93d397d8] 19603 build? >>> true
2020-10-28T12:24:13 [D|tax|93d397d8] Current location set to Default Location
2020-10-28T12:24:13 [D|tax|93d397d8] Current organization set to none
2020-10-28T12:24:13 [W|app|93d397d8] Action failed
2020-10-28T12:24:13 [D|app|93d397d8] Backtrace for 'Action failed' error (TypeError): #<ActiveModel::Errors:0x00007f92f1500268 @base=#<Host::Managed id: 7457, name: "HOSTNAME", last_compile: nil, last_report: "2020-10-20 11:46:44", updated_at: "2020-10-20 11:46:48", created_at: "2020-10-20 11:46:44", root_pass: nil, architecture_id: 1, operatingsystem_id: 12, environment_id: nil, ptable_id: 120, medium_id: 33, build: true, comment: "", disk: "", installed_at: nil, model_id: 2, hostgroup_id: 13, owner_id: 4, owner_type: "User", enabled: true, puppet_ca_proxy_id: nil, managed: true, use_image: nil, image_file: nil, uuid: nil, compute_resource_id: nil, puppet_proxy_id: nil, certname: nil, image_id: nil, organization_id: 3, location_id: 2, type: "Host::Managed", otp: nil, realm_id: nil, compute_profile_id: nil, provision_method: nil, grub_pass: "", discovery_rule_id: nil, global_status: 0, lookup_value_matcher: nil, pxe_loader: "Grub2 UEFI", initiated_at: nil, build_errors: nil>, @messages={}, @details={}> is not a symbol nor a string
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activemodel-5.2.1/lib/active_model/attribute_methods.rb:447:in `respond_to?'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activemodel-5.2.1/lib/active_model/attribute_methods.rb:447:in `respond_to?'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/attribute_methods.rb:271:in `respond_to?'
/usr/share/foreman/app/models/concerns/hostext/token.rb:21:in `refresh_token_on_build'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:426:in `block in make_lambda'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:247:in `block in halting'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:517:in `block in invoke_after'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:517:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:517:in `invoke_after'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:133:in `run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:816:in `_run_validation_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activemodel-5.2.1/lib/active_model/validations/callbacks.rb:118:in `run_validations!'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activemodel-5.2.1/lib/active_model/validations.rb:339:in `valid?'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/validations.rb:67:in `valid?'
/usr/share/foreman/app/models/concerns/orchestration.rb:86:in `valid?'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/validations.rb:84:in `perform_validations'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/validations.rb:46:in `save'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:310:in `block (2 levels) in save'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:387:in `block in with_transaction_returning_status'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in `block in transaction'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:239:in `block in within_new_transaction'
/opt/rh/rh-ruby25/root/usr/share/ruby/monitor.rb:226:in `mon_synchronize'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:236:in `within_new_transaction'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in `transaction'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:212:in `transaction'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:385:in `with_transaction_returning_status'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:310:in `block in save'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:325:in `rollback_active_record_state!'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/transactions.rb:309:in `save'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/suppressor.rb:44:in `save'
/usr/share/foreman/app/models/concerns/foreman/sti.rb:26:in `save'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/controllers/discovered_hosts_controller.rb:82:in `block in perform_update'
/usr/share/foreman/app/models/taxonomy.rb:61:in `block in no_taxonomy_scope'
/usr/share/foreman/app/models/taxonomy.rb:68:in `block (2 levels) in as_taxonomy'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:195:in `as_location'
/usr/share/foreman/app/models/taxonomy.rb:67:in `block in as_taxonomy'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:154:in `as_org'
/usr/share/foreman/app/models/taxonomy.rb:66:in `as_taxonomy'
/usr/share/foreman/app/models/taxonomy.rb:60:in `no_taxonomy_scope'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/controllers/discovered_hosts_controller.rb:79:in `perform_update'
/opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/controllers/discovered_hosts_controller.rb:75:in `update'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/base.rb:194:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:109:in `block in run_callbacks'
/usr/share/foreman/app/controllers/concerns/foreman/controller/timezone.rb:10:in `set_timezone'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/usr/share/foreman/app/controllers/concerns/foreman/controller/topbar_sweeper.rb:12:in `set_topbar_sweeper_controller'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.9.0/lib/audited/sweeper.rb:14:in `around'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/theforeman/tfm/root/usr/share/gems/gems/audited-4.9.0/lib/audited/sweeper.rb:14:in `around'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:136:in `run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/notifications.rb:168:in `block in instrument'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/notifications.rb:168:in `instrument'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activerecord-5.2.1/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/abstract_controller/base.rb:134:in `process'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionview-5.2.1/lib/action_view/rendering.rb:32:in `process'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal.rb:191:in `dispatch'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_controller/metal.rb:252:in `dispatch'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:35:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.14/lib/apipie/static_dispatcher.rb:65:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.14/lib/apipie/extractor/recorder.rb:137:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/usr/share/foreman/lib/foreman/middleware/telemetry.rb:10:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.14/lib/apipie/middleware/checksum_in_headers.rb:27:in `call'
/usr/share/foreman/lib/foreman/middleware/catch_json_parse_errors.rb:9:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/tempfile_reaper.rb:15:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/etag.rb:25:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/conditional_get.rb:38:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/usr/share/foreman/lib/foreman/middleware/logging_context_session.rb:22:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:232:in `context'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:226:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/rack/logger.rb:38:in `call_app'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/rack/logger.rb:28:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
/usr/share/foreman/lib/foreman/middleware/logging_context_request.rb:11:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/runtime.rb:22:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/activesupport-5.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/actionpack-5.2.1/lib/action_dispatch/middleware/static.rb:127:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/sendfile.rb:111:in `call'
/opt/theforeman/tfm/root/usr/share/gems/gems/secure_headers-6.3.0/lib/secure_headers/middleware.rb:11:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/engine.rb:524:in `call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `public_send'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/railties-5.2.1/lib/rails/railtie.rb:190:in `method_missing'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/urlmap.rb:68:in `block in call'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `each'
/opt/theforeman/tfm-ror52/root/usr/share/gems/gems/rack-2.0.6/lib/rack/urlmap.rb:53:in `call'
/usr/share/passenger/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
/usr/share/passenger/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
/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-10-28T12:24:13 [I|app|93d397d8]   Rendering common/500.html.erb
2020-10-28T12:24:13 [I|app|93d397d8]   Rendered common/500.html.erb (3.3ms)

After removing the Rails.logger.warn from the token.rb file (and using the new Enforce new token during discovery code), we are provisioning our host using UI and see the following on the UI:
rollbacked - Deploy TFTP PXELinux config for hostname
rollbacked - Deploy TFTP PXEGrub2 config for hostname
rollbacked - Deploy TFTP PXEGrub config for hostname
rollbacked - Deploy TFTP iPXE config for hostname
failed - Fetch TFTP boot files for hostname
pending - Rebooting hostname

Box is not getting rebooted and staying in discovery mode, UI screen is going back to Provisioning screen to try and re submit

The error from production log:
2020-10-29T04:37:18 [W|app|686018f3] Rolling back due to a problem: [#<Orchestration::Task:0x00007f42ca7a8ac8 @name="Fetch TFTP boot files for lxtst-ob-074.bloomberg.com", @id="Fetch TFTP boot files for hostname", @status="failed", @priority=25, @action=[#<Nic::Managed id: 8238, mac: "MAC", ip: "IP", type: "Nic::Managed", name: "hostname", host_id: 7458, subnet_id: 3491, domain_id: 2, attrs: {"network"=>"ip", "netmask"=>"netmask", "mtu"=>1500, "lldp_neighbor_chassisid"=>"mac", "lldp_neighbor_portid"=>"Eth1/26", "lldp_neighbor_sysname"=>"drnyod1-cs2a", "lldp_neighbor_mngaddr_ipv4"=>"ip", "lldp_neighbor_pvid"=>1116, "speed"=>"10000", "duplex"=>"full", "port"=>"Direct Attach Copper", "auto_negotiation"=>"false", "wol"=>true}, created_at: "2020-10-28 19:17:24", updated_at: "2020-10-28 19:17:28", provider: nil, username: nil, password: nil, virtual: false, link: true, identifier: "eno49", tag: "", attached_to: "", managed: true, mode: "balance-rr", attached_devices: "", bond_options: "", primary: true, provision: true, compute_attributes: {}, ip6: "", subnet6_id: nil>, :setTFTPBootFiles], @created=1603960637.1111636, @timestamp=2020-10-29 08:37:17 UTC>]

*I replaced the hostname, ips and macs from that output

Please drop all the changes before and only apply the mentioned PR. Restart and try again.

If you encounter an issue, please pastebin both stacktrace and the file from your codebase, it now vastly differs from what I have. The problem you see was in this line (you can now remove all of the logging lines):

Rails.logger.warn("XXX errors >>> #{errors&.inspect}") if respond_to?(errors)

I made a mistake when I wrote it.

So, we removed all Rails logger we added to the code.
Next following replays will include how out discover-host and host_converter.rb files looks like, old and new

Old discover-host:

#!/usr/bin/env ruby
require 'optparse'
require 'json'
require 'rest-client'

def find_base name = "default"
  return name if File.exist?(name)

  file = File.absolute_path(File.dirname(__FILE__) + "../../test/facts/#{name}.json")
  raise "Unable to find file #{file}" unless File.exist?(file)

  file
end

base = find_base
version = "3.4.0"
interfaces = []
preserve_interfaces = false
use_facts_endpoint = false
primary = nil
bootif = nil
url = "http://admin:changeme@localhost:3000"
organization = nil
location = nil
OptionParser.new do |opts|
  opts.banner = "Usage: discover-host [options]"

  opts.on("-jFILE", "--json=FILE", "Base JSON filename") do |v|
    base = find_base(v)
  end

  opts.on("-vVERSION", "--version=VERSION", "Version of the discovery image (defaults to #{version})") do |v|
    version = v
  end

  opts.on("-iARRAY", "--interface=ARRAY", Array, "Comma separated array: name,subnet,ip,mac (can be used multiple times, default: eth0,122,7,AA:BB:CC:DD:EE:FF") do |v|
    interfaces << v
  end

  opts.on("-x", "--[no-]preserve-interfaces", "Preserve interfaces from JSON") do |v|
    preserve_interfaces = true
  end

  opts.on("-a", "--facts", "Use host facts endpoint") do |v|
    use_facts_endpoint = true
  end

  opts.on("-pNAME", "--primary=NAME", "Interface to use as primary (defaults to the first one)") do |v|
    primary = v
  end

  opts.on("-bNAME", "--boot=NAME", "Interface it was booted from (defaults to the first one)") do |v|
    bootif = v
  end

  opts.on("-uURL", "--url=URL", "URL to foreman (#{url} by default)") do |v|
    url = v
  end

  opts.on("-oORGANIZATION", "--organization=ORGANIZATION", "Organization override to discover in (defaults to subnet)") do |v|
    organization = v
  end

  opts.on("-lLOCATION", "--location=LOCATION", "Location override to discover in (defaults to subnet)") do |v|
    location = v
  end
end.parse!

interfaces << ["eth0", "122"] if interfaces.empty?
primary ||= interfaces.first.first
bootif ||= interfaces.first.first
json = JSON.parse(File.read(base))
json["foreman_organization"] = organization if organization
json["foreman_location"] = location if location
json["discovery_version"] = version
unless preserve_interfaces
  json["interfaces"] = interfaces.map{|i| i.first}.join(',')
  interfaces.each do |iface|
    name, subnet, ipo, mac = iface
    mac ||= (["52"] + 5.times.map { '%02x' % rand(0..255) }).join(':')
    ipo ||= rand(1..253)
    ip = "192.168.#{subnet}.#{ipo}"
    json["macaddress_#{name}"] = mac
    json["ipaddress_#{name}"] = ip
    if name == primary
      json["macaddress"] = mac
      json["ipaddress"] = ip
    end
    json["discovery_bootif"] = mac if name == bootif
  end
end
puts JSON.pretty_generate(json)
if use_facts_endpoint
  endpoint = url + "/api/v2/hosts/facts"
  payload = {"facts" => json, "name" => json["hostname"] || json["networking"]["fqdn"]}
else
  endpoint = url + "/api/v2/discovered_hosts/facts"
  payload = {"facts" => json}
end
resource = RestClient::Resource.new(endpoint, verify_ssl: OpenSSL::SSL::VERIFY_NONE)
response = resource.post(payload.to_json, {content_type: :json, accept: :json})
puts response.code
puts response.body

new discover-host:

#!/usr/bin/env ruby
require 'optparse'
require 'json'
require 'rest-client'

def find_base name = "default"
  return name if File.exist?(name)

  file = File.absolute_path(File.dirname(__FILE__) + "../../test/facts/#{name}.json")
  raise "Unable to find file #{file}" unless File.exist?(file)

  file
end

executable = nil
base = find_base
version = "3.4.0"
interfaces = []
preserve_interfaces = false
use_facts_endpoint = false
primary = nil
bootif = nil
url = "http://admin:changeme@localhost:3000"
organization = nil
location = nil
OptionParser.new do |opts|
  opts.banner = "Usage: discover-host [options]"

  # example:
  # discover-host -e "facter --json --custom-dir=../foreman-discovery-image/root/usr/share/fdi/facts"
  opts.on("-eFILE", "--exec=FILE", "Execute external facter program") do |v|
    executable = v
  end

  opts.on("-jFILE", "--json=FILE", "Base JSON filename") do |v|
    base = find_base(v)
  end

  opts.on("-vVERSION", "--version=VERSION", "Version of the discovery image (defaults to #{version})") do |v|
    version = v
  end

  opts.on("-iARRAY", "--interface=ARRAY", Array, "Comma separated array: name,subnet,ip,mac (can be used multiple times, default: eth0,122,7,AA:BB:CC:DD:EE:FF") do |v|
    interfaces << v
  end

  opts.on("-x", "--[no-]preserve-interfaces", "Preserve interfaces from JSON") do |v|
    preserve_interfaces = true
  end

  opts.on("-a", "--facts", "Use host facts endpoint") do |v|
    use_facts_endpoint = true
  end

  opts.on("-pNAME", "--primary=NAME", "Interface to use as primary (defaults to the first one)") do |v|
    primary = v
  end

  opts.on("-bNAME", "--boot=NAME", "Interface it was booted from (defaults to the first one)") do |v|
    bootif = v
  end

  opts.on("-uURL", "--url=URL", "URL to foreman (#{url} by default)") do |v|
    url = v
  end

  opts.on("-oORGANIZATION", "--organization=ORGANIZATION", "Organization override to discover in (defaults to subnet)") do |v|
    organization = v
  end

  opts.on("-lLOCATION", "--location=LOCATION", "Location override to discover in (defaults to subnet)") do |v|
    location = v
  end
end.parse!

if executable
  json = JSON.parse(`#{executable}`)
else
  interfaces << ["eth0", "192.168.122.0/24"] if interfaces.empty?
  primary ||= interfaces.first.first
  bootif ||= interfaces.first.first
  json = JSON.parse(File.read(base))
  json["foreman_organization"] = organization if organization
  json["foreman_location"] = location if location
  json["discovery_version"] = version
  unless preserve_interfaces
    json["interfaces"] = interfaces.map{|i| i.first}.join(',')
    interfaces.each do |iface|
      name, subnet, mac, explicit_ip = iface
      mac ||= (["52"] + 5.times.map { '%02x' % rand(0..255) }).join(':')
      json["macaddress_#{name}"] = mac
      _, prefix = subnet.split('/')
      if subnet.include?('.')
        random_ip = IPAddr.new(subnet, Socket::AF_INET) | IPAddr.new(rand(2**(32 - prefix.to_i)), Socket::AF_INET)
        fact_name = "ipaddress"
      else
        random_ip = IPAddr.new(subnet, Socket::AF_INET6) | IPAddr.new(rand(2**(32 - prefix.to_i)), Socket::AF_INET6)
        fact_name = "ipaddress6"
      end
      json["#{fact_name}_#{name}"] = explicit_ip ? explicit_ip : random_ip
      if name == primary
        json["macaddress"] = json["macaddress_#{name}"]
        json[fact_name] = json["#{fact_name}_#{name}"]
      end
      json["discovery_bootif"] = mac if name == bootif
    end
  end
end
puts JSON.pretty_generate(json)
if use_facts_endpoint
  endpoint = url + "/api/v2/hosts/facts"
  payload = {"facts" => json, "name" => json["hostname"] || json["networking"]["fqdn"]}
else
  endpoint = url + "/api/v2/discovered_hosts/facts"
  payload = {"facts" => json}
end
resource = RestClient::Resource.new(endpoint, verify_ssl: OpenSSL::SSL::VERIFY_NONE)
response = resource.post(payload.to_json, {content_type: :json, accept: :json})
puts response.code
puts response.body

old host_converter.rb:

class ForemanDiscovery::HostConverter
  # Converts discovered host to managed host without uptading the database.
  # Record must be saved explicitly (using save! or update_attributes! or similar).
  # Creates shallow copy.
  def self.to_managed(original_host, set_managed = true, set_build = true, added_attributes = {})
    host = original_host.becomes(::Host::Managed)
    host.type = 'Host::Managed'
    host.attributes = host.apply_inherited_attributes(added_attributes)
    host.set_hostgroup_defaults if host.hostgroup_id.present?

    # the following flags can be skipped when parameters are set to false
    if set_managed
      host.managed = set_managed
      host.primary_interface.managed = set_managed
    end
    # set build only and only on final save (facts are deleted)
    set_build_clean_facts(host) if set_build
    host
  end

  def self.set_build_clean_facts(host)
    # fact cleaning
    if Setting['discovery_clean_facts']
      # clean all facts except those starting with "discovery_"
      host.define_singleton_method(:clear_facts) do
          keep_ids = FactValue.where("host_id = #{host.id}").joins(:fact_name).where("fact_names.name like 'discovery_%'").pluck("fact_values.id")
          FactValue.where("host_id = #{host.id} and id not in (?)", keep_ids).delete_all
      end
    else
      # clean no facts (default behavior)
      host.define_singleton_method(:clear_facts) {}
    end
    # set build flag
    host.build = true
  end

  def self.unused_ip_for_subnet(subnet, mac, existing_ip)
    ipam = subnet.unused_ip(mac)
    raise(::Foreman::Exception.new(N_("IPAM must be configured for subnet '%s'"), subnet)) unless ipam.present?

    # None IPAM returns nil - in that case keep the current address
    suggested_ip = ipam.suggest_ip
    suggested_ip.nil? ? existing_ip : suggested_ip
  end

  def self.unused_ip_for_host(host, new_subnet = nil, new_subnet6 = nil)
    host.interfaces.each do |interface|
      next unless interface.managed?

      interface.subnet = new_subnet if new_subnet
      interface.subnet6 = new_subnet6 if new_subnet6
      interface.ip = unused_ip_for_subnet(interface.subnet, interface.mac, interface.ip) if interface.subnet
      interface.ip6 = unused_ip_for_subnet(interface.subnet6, interface.mac, interface.ip6) if interface.subnet6
      interface.save!
    end
  end

  def self.change_subnet_and_unused_ip(host, hostgroup)
    if host.subnet != hostgroup.subnet || host.subnet6 != hostgroup.subnet6
      Rails.logger.debug "Discovered host subnets #{[host.subnet, host.subnet6]} do not match hostgroup subnets #{[hostgroup.subnet, hostgroup.subnet6]}"
      unused_ip_for_host(host, host.hostgroup.subnet, host.hostgroup.subnet6)
    else
      Rails.logger.debug "Discovered host subnets #{[host.subnet, host.subnet6]} match hostgroup subnets"
    end
  end
end

new host_converter.rb:

class ForemanDiscovery::HostConverter
  # Converts discovered host to managed host without uptading the database.
  # Record must be saved explicitly (using save! or update_attributes! or similar).
  # Creates shallow copy.
  def self.to_managed(original_host, set_managed = true, set_build = true, added_attributes = {})
    host = original_host.becomes(::Host::Managed)
    host.type = 'Host::Managed'
    host.attributes = host.apply_inherited_attributes(added_attributes)
    host.set_hostgroup_defaults if host.hostgroup_id.present?

    # the following flags can be skipped when parameters are set to false
    if set_managed
      host.managed = set_managed
      host.primary_interface.managed = set_managed
    end
    # set build only and only on final save (facts are deleted)
    set_build_clean_facts(host) if set_build
    host
  end

  def self.set_build_clean_facts(host)
    # fact cleaning
    if Setting['discovery_clean_facts']
      # clean all facts except those starting with "discovery_"
      host.define_singleton_method(:clear_facts) do
          keep_ids = FactValue.where("host_id = #{host.id}").joins(:fact_name).where("fact_names.name like 'discovery_%'").pluck("fact_values.id")
          FactValue.where("host_id = #{host.id} and id not in (?)", keep_ids).delete_all
      end
    else
      # clean no facts (default behavior)
      host.define_singleton_method(:clear_facts) {}
    end
    # set build flag  and call set_token explicitly to force new one
    host.build = true
    host.set_token
  end

  def self.unused_ip_for_subnet(subnet, mac, existing_ip)
    ipam = subnet.unused_ip(mac)
    raise(::Foreman::Exception.new(N_("IPAM must be configured for subnet '%s'"), subnet)) unless ipam.present?

    # None IPAM returns nil - in that case keep the current address
    suggested_ip = ipam.suggest_ip
    suggested_ip.nil? ? existing_ip : suggested_ip
  end

  def self.unused_ip_for_host(host, new_subnet = nil, new_subnet6 = nil)
    host.interfaces.each do |interface|
      next unless interface.managed?

      interface.subnet = new_subnet if new_subnet
      interface.subnet6 = new_subnet6 if new_subnet6
      interface.ip = unused_ip_for_subnet(interface.subnet, interface.mac, interface.ip) if interface.subnet
      interface.ip6 = unused_ip_for_subnet(interface.subnet6, interface.mac, interface.ip6) if interface.subnet6
      interface.save!
    end
  end

  def self.change_subnet_and_unused_ip(host, hostgroup)
    if host.subnet != hostgroup.subnet || host.subnet6 != hostgroup.subnet6
      Rails.logger.debug "Discovered host subnets #{[host.subnet, host.subnet6]} do not match hostgroup subnets #{[hostgroup.subnet, hostgroup.subnet6]}"
      unused_ip_for_host(host, host.hostgroup.subnet, host.hostgroup.subnet6)
    else
      Rails.logger.debug "Discovered host subnets #{[host.subnet, host.subnet6]} match hostgroup subnets"
    end
  end
end

We are now able to provision that server but we get the same message that the pre configuration could not be retrived.
That error contain a token but from comparing between the token in the error message and the one I can see in the UI, it’s not the same token.

Would like to add that I used the UI to provision the host.
output from production log from that provision omitted the hostname:

2020-11-02T05:38:07 [D|tax|954fc9bb] Current location set to Default Location
2020-11-02T05:38:07 [D|tax|954fc9bb] Current organization set to none
2020-11-02T05:38:07 [D|app|954fc9bb] Cache read: notification-23
2020-11-02T05:38:07 [D|not|954fc9bb] Cache Hit: notification, reading cache for notification-23
2020-11-02T05:38:07 [D|app|954fc9bb] Body: {"notifications":[]}
2020-11-02T05:38:07 [I|app|954fc9bb] Completed 200 OK in 78ms (Views: 0.3ms | ActiveRecord: 33.6ms)
2020-11-02T05:38:07 [D|app|954fc9bb] Cache write: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3 ({:expires_in=>86400})
2020-11-02T05:39:42 [I|app|452d73e2] Started GET "/notification_recipients" for 10.124.245.64 at 2020-11-02 05:39:42 -0500
2020-11-02T05:39:42 [D|app|452d73e2] Cache read: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3
2020-11-02T05:39:42 [I|app|452d73e2] Processing by NotificationRecipientsController#index as JSON
2020-11-02T05:39:42 [D|app|452d73e2] Cache delete: views/tabs_and_title_records-23
2020-11-02T05:39:42 [D|tax|452d73e2] Current location set to Default Location
2020-11-02T05:39:42 [D|tax|452d73e2] Current organization set to none
2020-11-02T05:39:42 [D|app|452d73e2] Cache read: notification-23
2020-11-02T05:39:42 [D|not|452d73e2] Cache Hit: notification, reading cache for notification-23
2020-11-02T05:39:42 [D|app|452d73e2] Body: {"notifications":[]}
2020-11-02T05:39:42 [I|app|452d73e2] Completed 200 OK in 79ms (Views: 0.2ms | ActiveRecord: 32.4ms)
2020-11-02T05:39:42 [D|app|452d73e2] Cache write: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3 ({:expires_in=>86400})
2020-11-02T05:39:50 [I|app|939e74e4] Started GET "/smart_proxies" for 10.124.245.64 at 2020-11-02 05:39:50 -0500
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3
2020-11-02T05:39:50 [I|app|939e74e4] Processing by SmartProxiesController#index as HTML
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/authorize_login_delegation
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/authorize_login_delegation
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/idle_timeout
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/idle_timeout
2020-11-02T05:39:50 [D|app|939e74e4] Cache delete: views/tabs_and_title_records-23
2020-11-02T05:39:50 [D|tax|939e74e4] Current location set to Default Location
2020-11-02T05:39:50 [D|tax|939e74e4] Current organization set to none
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/entries_per_page
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:39:50 [I|app|939e74e4]   Rendering smart_proxies/index.html.erb within layouts/application
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/entries_per_page
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/entries_per_page
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:39:50 [I|app|939e74e4]   Rendered common/_pagination.html.erb (1.8ms)
2020-11-02T05:39:50 [I|app|939e74e4]   Rendered smart_proxies/index.html.erb within layouts/application (143.8ms)
2020-11-02T05:39:50 [I|app|939e74e4]   Rendered common/_searchbar.html.erb (7.2ms)
2020-11-02T05:39:50 [I|app|939e74e4]   Rendered layouts/_application_content.html.erb (8.9ms)
2020-11-02T05:39:50 [I|app|939e74e4]   Rendering layouts/base.html.erb
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: views/tabs_and_title_records-23 ({:skip_digest=>true})
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/lab_features
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/lab_features
2020-11-02T05:39:50 [D|app|939e74e4] Cache read: settings/entries_per_page
2020-11-02T05:39:50 [D|app|939e74e4] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:39:50 [D|app|939e74e4] Cache write: views/tabs_and_title_records-23 ({:skip_digest=>true})
2020-11-02T05:39:50 [I|app|939e74e4]   Rendered layouts/base.html.erb (80.2ms)
2020-11-02T05:39:50 [I|app|939e74e4] Completed 200 OK in 452ms (Views: 187.5ms | ActiveRecord: 121.9ms)
2020-11-02T05:39:50 [D|app|939e74e4] Cache write: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3 ({:expires_in=>86400})
2020-11-02T05:40:57 [I|app|9a5c884b] Started GET "/notification_recipients" for 10.124.245.64 at 2020-11-02 05:40:57 -0500
2020-11-02T05:40:57 [D|app|9a5c884b] Cache read: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3
2020-11-02T05:40:57 [I|app|9a5c884b] Processing by NotificationRecipientsController#index as JSON
2020-11-02T05:40:57 [D|app|9a5c884b] Cache delete: views/tabs_and_title_records-23
2020-11-02T05:40:57 [D|tax|9a5c884b] Current location set to Default Location
2020-11-02T05:40:57 [D|tax|9a5c884b] Current organization set to none
2020-11-02T05:40:57 [D|app|9a5c884b] Cache read: notification-23
2020-11-02T05:40:57 [D|not|9a5c884b] Cache Hit: notification, reading cache for notification-23
2020-11-02T05:40:57 [D|app|9a5c884b] Body: {"notifications":[]}
2020-11-02T05:40:57 [I|app|9a5c884b] Completed 200 OK in 96ms (Views: 0.5ms | ActiveRecord: 33.5ms)
2020-11-02T05:40:57 [D|app|9a5c884b] Cache write: _session_id:d5b90eb90677cbd3c4a9dc34c5fa1fd3 ({:expires_in=>86400})
2020-11-02T05:41:41 [I|app|901d2d33] Started GET "/discovered_hosts" for 10.124.245.64 at 2020-11-02 05:41:41 -0500
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e
2020-11-02T05:41:41 [I|app|901d2d33] Processing by DiscoveredHostsController#index as HTML
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/authorize_login_delegation
2020-11-02T05:41:41 [D|app|901d2d33] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/authorize_login_delegation
2020-11-02T05:41:41 [D|app|901d2d33] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/idle_timeout
2020-11-02T05:41:41 [D|app|901d2d33] Cache fetch_hit: settings/idle_timeout
2020-11-02T05:41:41 [D|app|901d2d33] Cache delete: views/tabs_and_title_records-4
2020-11-02T05:41:41 [D|tax|901d2d33] Current location set to Default Location
2020-11-02T05:41:41 [D|tax|901d2d33] Current organization set to Default Organization
2020-11-02T05:41:41 [I|app|901d2d33]   Rendering /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/welcome.html.erb within layouts/application
2020-11-02T05:41:41 [I|app|901d2d33]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/welcome.html.erb within layouts/application (36.1ms)
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/entries_per_page
2020-11-02T05:41:41 [D|app|901d2d33] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:41:41 [I|app|901d2d33]   Rendering /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/index.html.erb within layouts/application
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/discovery_fact_column
2020-11-02T05:41:41 [D|app|901d2d33] Cache generate: settings/discovery_fact_column
2020-11-02T05:41:41 [D|app|901d2d33] Cache write: settings/discovery_fact_column
2020-11-02T05:41:41 [I|app|901d2d33]   Rendering text template
2020-11-02T05:41:41 [I|app|901d2d33]   Rendered text template (0.0ms)
2020-11-02T05:41:41 [I|app|901d2d33]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/_discovered_hosts_list.html.erb (16.5ms)
2020-11-02T05:41:41 [I|app|901d2d33]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/index.html.erb within layouts/application (23.4ms)
2020-11-02T05:41:41 [I|app|901d2d33]   Rendered layouts/_application_content.html.erb (1.6ms)
2020-11-02T05:41:41 [I|app|901d2d33]   Rendering layouts/base.html.erb
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: views/tabs_and_title_records-4 ({:skip_digest=>true})
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/lab_features
2020-11-02T05:41:41 [D|app|901d2d33] Cache fetch_hit: settings/lab_features
2020-11-02T05:41:41 [D|app|901d2d33] Cache read: settings/entries_per_page
2020-11-02T05:41:41 [D|app|901d2d33] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:41:41 [D|app|901d2d33] Cache write: views/tabs_and_title_records-4 ({:skip_digest=>true})
2020-11-02T05:41:41 [I|app|901d2d33]   Rendered layouts/base.html.erb (42.4ms)
2020-11-02T05:41:41 [I|app|901d2d33] Completed 200 OK in 215ms (Views: 61.3ms | ActiveRecord: 37.0ms)
2020-11-02T05:41:41 [D|app|901d2d33] Cache write: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e ({:expires_in=>86400})
2020-11-02T05:41:45 [I|app|3bece479] Started GET "/discovered_hosts" for 10.124.245.64 at 2020-11-02 05:41:45 -0500
2020-11-02T05:41:45 [D|app|3bece479] Cache read: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e
2020-11-02T05:41:45 [I|app|3bece479] Processing by DiscoveredHostsController#index as HTML
2020-11-02T05:41:45 [D|app|3bece479] Cache read: settings/authorize_login_delegation
2020-11-02T05:41:45 [D|app|3bece479] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:41:45 [D|app|3bece479] Cache read: settings/authorize_login_delegation
2020-11-02T05:41:45 [D|app|3bece479] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:41:45 [D|app|3bece479] Cache read: settings/idle_timeout
2020-11-02T05:41:45 [D|app|3bece479] Cache fetch_hit: settings/idle_timeout
2020-11-02T05:41:45 [D|app|3bece479] Cache delete: views/tabs_and_title_records-4
2020-11-02T05:41:45 [D|tax|3bece479] Current location set to Default Location
2020-11-02T05:41:45 [D|tax|3bece479] Current organization set to none
2020-11-02T05:41:45 [D|app|3bece479] Cache read: settings/entries_per_page
2020-11-02T05:41:45 [D|app|3bece479] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/discovery_fact_column
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/discovery_fact_column
2020-11-02T05:41:46 [I|app|3bece479]   Rendering /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/index.html.erb within layouts/application
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/discovery_fact_column
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/discovery_fact_column
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/discovery_fact_column
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/discovery_fact_column
2020-11-02T05:41:46 [I|app|3bece479]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/_discovered_host.html.erb (8.4ms)
2020-11-02T05:41:46 [I|app|3bece479]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/_discovered_host_modal.html.erb (87.3ms)
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/entries_per_page
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/entries_per_page
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:41:46 [I|app|3bece479]   Rendered common/_pagination.html.erb (1.6ms)
2020-11-02T05:41:46 [I|app|3bece479]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/_discovered_hosts_list.html.erb (112.9ms)
2020-11-02T05:41:46 [I|app|3bece479]   Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_discovery-16.0.1/app/views/discovered_hosts/index.html.erb within layouts/application (115.1ms)
2020-11-02T05:41:46 [I|app|3bece479]   Rendered common/_searchbar.html.erb (1.2ms)
2020-11-02T05:41:46 [I|app|3bece479]   Rendered layouts/_application_content.html.erb (3.7ms)
2020-11-02T05:41:46 [I|app|3bece479]   Rendering layouts/base.html.erb
2020-11-02T05:41:46 [D|app|3bece479] Cache read: views/tabs_and_title_records-4 ({:skip_digest=>true})
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/lab_features
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/lab_features
2020-11-02T05:41:46 [D|app|3bece479] Cache read: settings/entries_per_page
2020-11-02T05:41:46 [D|app|3bece479] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:41:46 [D|app|3bece479] Cache write: views/tabs_and_title_records-4 ({:skip_digest=>true})
2020-11-02T05:41:46 [I|app|3bece479]   Rendered layouts/base.html.erb (37.1ms)
2020-11-02T05:41:46 [I|app|3bece479] Completed 200 OK in 916ms (Views: 143.9ms | ActiveRecord: 100.5ms)
2020-11-02T05:41:46 [D|app|3bece479] Cache write: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e ({:expires_in=>86400})
2020-11-02T05:42:23 [I|app|cb81d8a4] Started GET "/hosts/HOSTNAME" for 10.124.245.64 at 2020-11-02 05:42:23 -0500
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e
2020-11-02T05:42:23 [I|app|cb81d8a4] Processing by HostsController#show as */*
2020-11-02T05:42:23 [I|app|cb81d8a4]   Parameters: {"id"=>"HOSTNAME"}
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/idle_timeout
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/idle_timeout
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache delete: views/tabs_and_title_records-4
2020-11-02T05:42:23 [D|tax|cb81d8a4] Current location set to Default Location
2020-11-02T05:42:23 [D|tax|cb81d8a4] Current organization set to none
2020-11-02T05:42:23 [I|app|cb81d8a4]   Rendering hosts/show.html.erb within layouts/application
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/bmc_credentials_accessible
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/bmc_credentials_accessible
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/bmc_credentials_accessible
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/bmc_credentials_accessible
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/bmc_credentials_accessible
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/bmc_credentials_accessible
2020-11-02T05:42:23 [I|app|cb81d8a4]   Rendered hosts/show.html.erb within layouts/application (166.6ms)
2020-11-02T05:42:23 [I|app|cb81d8a4]   Rendered layouts/_application_content.html.erb (1.9ms)
2020-11-02T05:42:23 [I|app|cb81d8a4]   Rendering layouts/base.html.erb
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: views/tabs_and_title_records-4 ({:skip_digest=>true})
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/lab_features
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/lab_features
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache read: settings/entries_per_page
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache fetch_hit: settings/entries_per_page
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache write: views/tabs_and_title_records-4 ({:skip_digest=>true})
2020-11-02T05:42:23 [I|app|cb81d8a4]   Rendered layouts/base.html.erb (49.7ms)
2020-11-02T05:42:23 [I|app|cb81d8a4] Completed 200 OK in 361ms (Views: 161.0ms | ActiveRecord: 82.9ms)
2020-11-02T05:42:23 [D|app|cb81d8a4] Cache write: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e ({:expires_in=>86400})
2020-11-02T05:42:23 [I|app|8eb1c1b6] Started GET "/hosts/HOSTNAME/templates" for 10.124.245.64 at 2020-11-02 05:42:23 -0500
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache read: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e
2020-11-02T05:42:23 [I|app|8eb1c1b6] Processing by HostsController#templates as HTML
2020-11-02T05:42:23 [I|app|8eb1c1b6]   Parameters: {"id"=>"HOSTNAME"}
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache read: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache read: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache fetch_hit: settings/authorize_login_delegation
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache read: settings/idle_timeout
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache fetch_hit: settings/idle_timeout
2020-11-02T05:42:23 [D|app|8eb1c1b6] Cache delete: views/tabs_and_title_records-4
2020-11-02T05:42:23 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:23 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:23 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:23 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to MSE
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current location set to Default Location
2020-11-02T05:42:24 [D|tax|8eb1c1b6] Current organization set to none
2020-11-02T05:42:24 [I|app|8eb1c1b6]   Rendered hosts/_templates.html.erb (33.0ms)
2020-11-02T05:42:24 [I|app|8eb1c1b6] Completed 200 OK in 437ms (Views: 30.1ms | ActiveRecord: 127.1ms)
2020-11-02T05:42:24 [D|app|8eb1c1b6] Cache write: _session_id:c4bba29d1e4a4ec7578fd41a2e3bfe5e ({:expires_in=>86400})
2020-11-02T05:46:40 [I|app|b453c3cf] Started GET "/unattended/provision?token=e730cc3f-7e1d-4a49-bb9b-f9ce84d7b21b&url=http%3A%2F%2FFOREMAN_SERVER%3A8440" for FOREMAN_SERVER at 2020-11-02 05:46:40 -0500
2020-11-02T05:46:40 [I|app|b453c3cf] Processing by UnattendedController#host_template as TEXT
2020-11-02T05:46:40 [I|app|b453c3cf]   Parameters: {"token"=>"e730cc3f-7e1d-4a49-bb9b-f9ce84d7b21b", "url"=>"http://FOREMAN_SERVER:8440", "kind"=>"provision", "unattended"=>{}}
2020-11-02T05:46:40 [D|app|b453c3cf] Cache read: settings/unattended_url
2020-11-02T05:46:40 [D|app|b453c3cf] Cache fetch_hit: settings/unattended_url
2020-11-02T05:46:40 [D|app|b453c3cf] Cache read: settings/remote_addr
2020-11-02T05:46:40 [D|app|b453c3cf] Cache generate: settings/remote_addr
2020-11-02T05:46:40 [D|app|b453c3cf] Cache write: settings/remote_addr
2020-11-02T05:46:40 [E|app|b453c3cf] unattended: unable to find a host that matches the request from 10.124.237.172
2020-11-02T05:46:40 [I|app|b453c3cf]   Rendering text template
2020-11-02T05:46:40 [I|app|b453c3cf]   Rendered text template (0.0ms)
2020-11-02T05:46:40 [I|app|b453c3cf] Completed 404 Not Found in 45ms (Views: 2.3ms | ActiveRecord: 13.0ms)
2020-11-02T05:46:40 [D|app|b453c3cf] Cache write: _session_id:0a0ebf0db0af5690116dbc13f7ee49ac ({:expires_in=>86400})
fmsrv1-ob-992 /var/log/foreman