Bug 1626934 - Failed to unset host/host group's openscap_proxy_id with "undefined method `destroy' for nil:NilClass" error
Summary: Failed to unset host/host group's openscap_proxy_id with "undefined method `d...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: SCAP Plugin
Version: 6.3.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: 6.6.0
Assignee: Ondřej Pražák
QA Contact: Jameer Pathan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-09-10 06:50 UTC by Hao Chang Yu
Modified: 2021-12-10 17:24 UTC (History)
5 users (show)

Fixed In Version: tfm-rubygem-foreman_openscap-0.11.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-22 19:51:48 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 24883 0 None None None 2018-09-11 08:29:44 UTC

Description Hao Chang Yu 2018-09-10 06:50:30 UTC
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

Comment 2 Ondřej Pražák 2018-09-11 08:29:43 UTC
Created redmine issue http://projects.theforeman.org/issues/24883 from this bug

Comment 3 Satellite Program 2018-09-11 10:08:43 UTC
Upstream bug assigned to oprazak

Comment 4 Satellite Program 2018-09-11 10:08:46 UTC
Upstream bug assigned to oprazak

Comment 5 Satellite Program 2018-10-11 16:09:09 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/24883 has been resolved.

Comment 8 Jameer Pathan 2019-07-04 13:36:28 UTC
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.

Comment 9 Bryan Kearney 2019-10-22 19:51:48 UTC
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


Note You need to log in before you can comment on or make changes to this bug.