Description of problem: Unset host/host group's openscap_proxy_id with missing lookup key parameter will cause the following error. NoMethodError: undefined method `destroy' for nil:NilClass from /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_openscap-0.5.3.23/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb:43:in `map' from /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_openscap-0.5.3.23/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb:43:in `destroy_scap_client_lookup_values' from /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_openscap-0.5.3.23/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb:25:in `update_scap_client_params' from /opt/theforeman/tfm/root/usr/share/gems/gems/foreman_openscap-0.5.3.23/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb:12:in `update_scap_client' How reproducible: 1) Choose a host group with openscap_proxy_id set. Lets say host_group_A 2) Web UI -> Configure -> Smart Class Parameters -> search for "server" parameter. 3) In server parameter -> Under "Specify matchers" -> remove host_group_A 4) Web UI -> Configure -> Edit host_group_A -> Unset openscap_proxy_id -> Click submit Oops, we're sorry but something went wrong undefined method `destroy' for nil:NilClass Suggest solution is to add "compact" to the following method in "foreman_openscap-0.7.13/app/models/concerns/foreman_openscap/openscap_proxy_core_extensions.rb" def destroy_scap_client_lookup_values(pairs) pairs.values.compact.map(&:destroy) end
Created redmine issue http://projects.theforeman.org/issues/24883 from this bug
Upstream bug assigned to oprazak
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/24883 has been resolved.
Verified Reproduced with satellite-6.3.5.2-1.el7sat.noarch Verified with: - Satellite 6.6.0 snap 9 - tfm-rubygem-foreman_openscap-1.0.3-1.el7sat.noarch Test steps: 1) Choose a host/host group with OpenSCAP Capsule set. 2) Web UI -> Configure -> Smart Class Parameters -> search for "server" parameter. 3) In server parameter -> Under "Specify matchers" -> remove host/host group which was created earlier. 4) Web UI -> Configure -> Edit host/host group -> Unset OpenSCAP Capsule -> Click submit Observation: - no errors - host/host group updated successfully.
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, 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-2019:3172