Description of problem: Filter by os_minor includes unexpected values. Version-Release number of selected component (if applicable): How reproducible: To reproduce: 1. navigate to Hosts => All Hosts 2. enter the following filter: "os_major = 6 and os_minor < 4" and click Search If version 6.10 is included in the search results, even though 10 is not < than 4. Notice in the other attached that 6.2 and 6.3 servers are also mentioned, and no 6.4 through 6.9 servers are in the results. However, 6.10 should also not show Expected: only 6.0, 6.1, 6.2 and 6.3 servers should show
The reason is that minor version of OS is treated as a stirng, because it can contain non numerical characters, e.g. 2.1511 in case of CentOS. Therefore we can only compare these value lexically. And 10 is lexically lower than 6, since 1 is earlier in alphabet than 6. For search purposes we could break all numbers apart and store them in DB as integers. I know it's not ideal, but an easy workaround is to query it like "os_major = 6 and os_minor ^ (1,2,3,4)".
Created redmine issue https://projects.theforeman.org/issues/26816 from this bug
*** Bug 1757550 has been marked as a duplicate of this bug. ***
Upstream bug assigned to ymakias
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/26816 has been resolved.
verification on sat 6.8 snap 2.1 FailedQA. TLDR: you have no catch if os version doesn't exists. In UI -> Hosts -> All hosts when I search for some none existing minor, major release for example os_minor = 9 same problem with os_major I hit error - in UI is shown page Something went wrong. (traceback at the end) For production log also scroll down a bit :) I noticed one more thing: when I searched for os_minor, which exists as operating system but it was not associated to any host, then search result in host menu was empty When I did this with os_minor which doesn't exist at all I get error mentioned above. to explain this on example hammer os list ---|-------------------|--------------|------- ID | TITLE | RELEASE NAME | FAMILY ---|-------------------|--------------|------- 4 | I7bnH5 6.6 | | 1 | RedHat 7.8 | | Redhat 8 | XqXEyi 0.5 | | 12 | zi6VhU 1.4 | | other os's without minor version are ommited Only RedHat 7.8 is connected to host. When search in Hosts->All hosts is done with os_minor = 4,5,6 there is empty result When os_minor is 8 -> correct host is shown os_minor = x , where x is different number than 4,5,6,8 then error is hit Production log 2020-06-01T11:36:04 [I|app|102d09d7] Started GET "/hosts?search=os_minor+%3D+9&page=1" for 127.0.0.1 at 2020-06-01 11:36:04 -0400 2020-06-01T11:36:04 [I|app|102d09d7] Processing by HostsController#index as HTML 2020-06-01T11:36:04 [I|app|102d09d7] Parameters: {"search"=>"os_minor = 9", "page"=>"1"} 2020-06-01T11:36:04 [W|app|102d09d7] Scoped order is ignored, it's forced to be batch order. 2020-06-01T11:36:04 [W|app|102d09d7] Action failed 2020-06-01T11:36:04 [I|app|102d09d7] Rendering common/500.html.erb within layouts/application 2020-06-01T11:36:04 [I|app|102d09d7] Rendered common/500.html.erb within layouts/application (Duration: 12.7ms | Allocations: 9693) 2020-06-01T11:36:04 [I|app|102d09d7] Rendered layouts/_application_content.html.erb (Duration: 4.8ms | Allocations: 6681) 2020-06-01T11:36:04 [I|app|102d09d7] Rendering layouts/base.html.erb 2020-06-01T11:36:04 [I|app|102d09d7] Rendered /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_theme_satellite-5.0.1.12/app/views/foreman_theme_satellite/_theme_client_side_branding.js.erb (Duration: 4.5ms | Allocations: 7053) 2020-06-01T11:36:04 [I|app|102d09d7] Rendered layouts/base.html.erb (Duration: 11.7ms | Allocations: 15480) 2020-06-01T11:36:04 [I|app|102d09d7] Completed 500 Internal Server Error in 53ms (Views: 36.9ms | ActiveRecord: 2.9ms | Allocations: 43155) traceback from UI Something went wrong page: ActiveRecord::StatementInvalid PG::SyntaxError: ERROR: syntax error at or near ")" LINE 1: ...s"."type" = $1 AND ((hosts.operatingsystem_id IN ())) ORDER ... ^ /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:672:in `async_exec_params' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:672:in `block (2 levels) in exec_no_cache' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:671:in `block in exec_no_cache' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block (2 levels) in log' /opt/rh/rh-ruby25/root/usr/share/ruby/monitor.rb:226:in `mon_synchronize' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:670:in `exec_no_cache' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:653:in `execute_and_clear' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:98:in `exec_query' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:487:in `select' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:105:in `block in select_all' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:123:in `block in cache_sql' /opt/rh/rh-ruby25/root/usr/share/ruby/monitor.rb:226:in `mon_synchronize' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:114:in `cache_sql' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:105:in `select_all' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/querying.rb:46:in `find_by_sql' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/relation.rb:810:in `block in exec_queries' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/relation.rb:828:in `skip_query_cache_if_necessary' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/relation.rb:797:in `exec_queries' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/relation.rb:615:in `load' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/relation.rb:250:in `records' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/relation/delegation.rb:85:in `each' /usr/share/foreman/app/controllers/hosts_controller.rb:50:in `map' /usr/share/foreman/app/controllers/hosts_controller.rb:50:in `block (2 levels) in index' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/mime_responds.rb:214:in `respond_to' /usr/share/foreman/app/controllers/hosts_controller.rb:46:in `index' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/abstract_controller/base.rb:196:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/rendering.rb:30:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/abstract_controller/callbacks.rb:42:in `block in process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:112:in `block in run_callbacks' /usr/share/foreman/app/controllers/concerns/foreman/controller/timezone.rb:10:in `set_timezone' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:121:in `block in run_callbacks' /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:121: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/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:121: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/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:121: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/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:121:in `block in run_callbacks' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:139:in `run_callbacks' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/abstract_controller/callbacks.rb:41:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/rescue.rb:22:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/instrumentation.rb:33:in `block in process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/notifications.rb:180:in `block in instrument' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/notifications.rb:180:in `instrument' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/instrumentation.rb:32:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal/params_wrapper.rb:245:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.2.2/lib/active_record/railties/controller_runtime.rb:27:in `process_action' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/abstract_controller/base.rb:136:in `process' /opt/theforeman/tfm/root/usr/share/gems/gems/actionview-6.0.2.2/lib/action_view/rendering.rb:39:in `process' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal.rb:191:in `dispatch' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_controller/metal.rb:252:in `dispatch' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/routing/route_set.rb:51:in `dispatch' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/routing/route_set.rb:33:in `serve' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/journey/router.rb:49:in `block in serve' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/journey/router.rb:32:in `each' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/journey/router.rb:32:in `serve' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/routing/route_set.rb:837:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.16.0.rc1.1/lib/katello/middleware/event_daemon.rb:10:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-dsl-2.2.2/lib/apipie_dsl/static_dispatcher.rb:67:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/static_dispatcher.rb:66:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/apipie-rails-0.5.17/lib/apipie/extractor/recorder.rb:137:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126: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.17/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/root/usr/share/gems/gems/rack-2.2.2/lib/rack/tempfile_reaper.rb:15:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/etag.rb:27:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/conditional_get.rb:27:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/head.rb:12:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/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/root/usr/share/gems/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:266:in `context' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/session/abstract/id.rb:260:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/cookies.rb:648:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/callbacks.rb:101:in `run_callbacks' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/callbacks.rb:26:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/railties-6.0.2.2/lib/rails/rack/logger.rb:38:in `call_app' /opt/theforeman/tfm/root/usr/share/gems/gems/railties-6.0.2.2/lib/rails/rack/logger.rb:28:in `call' /opt/theforeman/tfm/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/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/remote_ip.rb:81:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/request_id.rb:27:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.16.0.rc1.1/lib/katello/prevent_json_parsing.rb:12:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/method_override.rb:24:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/runtime.rb:22:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.2.2/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/executor.rb:14:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/static.rb:126:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/sendfile.rb:110:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/actionpack-6.0.2.2/lib/action_dispatch/middleware/host_authorization.rb:77: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/root/usr/share/gems/gems/railties-6.0.2.2/lib/rails/engine.rb:526:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/railties-6.0.2.2/lib/rails/railtie.rb:190:in `public_send' /opt/theforeman/tfm/root/usr/share/gems/gems/railties-6.0.2.2/lib/rails/railtie.rb:190:in `method_missing' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/urlmap.rb:74:in `block in call' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/urlmap.rb:58:in `each' /opt/theforeman/tfm/root/usr/share/gems/gems/rack-2.2.2/lib/rack/urlmap.rb:58:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/puma-4.3.3/lib/puma/configuration.rb:228:in `call' /opt/theforeman/tfm/root/usr/share/gems/gems/puma-4.3.3/lib/puma/server.rb:682:in `handle_request' /opt/theforeman/tfm/root/usr/share/gems/gems/puma-4.3.3/lib/puma/server.rb:472:in `process_client' /opt/theforeman/tfm/root/usr/share/gems/gems/puma-4.3.3/lib/puma/server.rb:328:in `block in run' /opt/theforeman/tfm/root/usr/share/gems/gems/puma-4.3.3/lib/puma/thread_pool.rb:134:in `block in spawn_thread' /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'
tested with foreman-2.1.0-0.21
Upstream bug assigned to mshira
Hi Shira, as you in last fix changed minor versions to -1, now when we search for os_minor < 0, all hosts with empty minor versions are shown. Do we expect this behaviour ? IMO when I do search for os_minor < 0, None of them should be shown. (as os_minor doesn't exist and if it exists it can be only greater than 0.) Please let me know what you think.
Sagar! good catch, I created a new Redmine issue for it: https://projects.theforeman.org/issues/30375, you can fail this one or open a new BZ, just let me know to which BZ I should attach the Redmine issue.
I think we should keep it in this BZ as problem with filtering by os_minor was not yet fully resolved. So failedQA.
Connecting redmine issue https://projects.theforeman.org/issues/30375 from this bug
Finally works as expected. Yupiiii. All my comments were incorporated. Done with Sat 6.8 snap 14. Package version - foreman-2.1.2.7-1. Verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: Satellite 6.8 release), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:4366