Bug 2249904

Summary: Bulk Actions not handling kwargs correctly
Product: Red Hat Satellite Reporter: Partha Aji <paji>
Component: Tasks PluginAssignee: Adam Ruzicka <aruzicka>
Status: CLOSED ERRATA QA Contact: Peter Ondrejka <pondrejk>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.15.0CC: aruzicka, pcreech, rlavi
Target Milestone: 6.15.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-foreman-tasks-8.3.3 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-04-23 17:15:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Partha Aji 2023-11-15 21:33:17 UTC
Description of problem:
Consider the following call

async_task(::Actions::BulkAction, ::Actions::Katello::Repository::Sync, [::Katello::Repository.librar.first], skip_metadata_check: true)

What ends up happening is that keyword arguments like 'skip_metadata_check' gets converted from symbols to string when BulkAction passes to the Sync. 

Actions like sync expect expect them to be symbols like {:skip_metadata_check => true}  but what gets passed to it from BulkActions is {'skip_metadata_check' => true} making all kwargs passed to it useless.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.In the console run the following line (assuming you have at least one repo)

ForemanTasks.sync_task(::Actions::BulkAction, ::Actions::Katello::Repository::Sync, [::Katello::Repository.library.first], skip_metadata_check: true)

2. Go to https://<sat-fqdn>/foreman_tasks/dynflow  
3. Check the stopped and uncheck the pending and filter the search
4. You should see tasks Actions::Katello::Repository::Sync followed by 	Actions::BulkAction
5. Click show on the sync task
6. Check the params sent to the Actions::Katello::Repository::Sync
7. See the value set for skip_metadata_check
Actual results:
skip_metadata_check: false

Expected results:
skip_metadata_check: true

Additional info:

Any bulk action that accepts key word arguments are affected by this.

Comment 1 Adam Ruzicka 2023-11-20 09:49:01 UTC
Ftr, we might eventually run into more keyword argument related bugs when we move to ruby 3.

Comment 2 Peter Ondrejka 2024-01-02 12:49:20 UTC
Verified on Satellite 6.15 sn 4

Comment 5 errata-xmlrpc 2024-04-23 17:15:43 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 (Important: Satellite 6.15.0 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-2024:2010