Bug 1770777

Summary: Changing concurrency level while executing Ansible jobs fail with NoMethodError: undefined method `[]' for nil:NilClass
Product: Red Hat Satellite Reporter: Subhash Mane <smane>
Component: Remote ExecutionAssignee: Adam Ruzicka <aruzicka>
Status: CLOSED ERRATA QA Contact: Peter Ondrejka <pondrejk>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.6.0CC: aruzicka, devasagayamsanthosh.sampath, egolov, fgarciad, hakon.gislason, inecas, janarula, jonathan.liedy, kkinge, mkalyat, msunil, patalber, pierre-yves.goubet, smeyer
Target Milestone: 6.8.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-foreman-tasks-1.1.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-27 12:59:24 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 Subhash Mane 2019-11-11 10:29:48 UTC
Description of problem: 

- Changing concurrency level while executing Ansible jobs fail with NoMethodError: undefined method `[]' for nil:NilClass
- The action on the servers themselves finishes correctly, the only issue is Satellite reporting the job as failed

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

- satellite-6.6.0-7.el7sat.noarch

How reproducible: 100%


Steps to Reproduce:
1. Monitor > Jobs > Run job > (default) Ansible commands | Run command > fill search query to 'name ~ test-rhel*' > hit 'Refresh' button to ensure it matches the right hosts > complete Command field to 'uname -a'  -> set concurrency level field to 1 -> hit Submit
2. If we run a job on a list of 55 hosts with default concurrency level (unset, all jobs launched simultaneously), job finish detection works fine and all are maked as OK.
3. If we run a job on the same 55 hosts with concurrency level = 5 (or 10 or whatever); the first batch of servers works ok, but any other server after that, their job is executed on the target machine but marked as Failed on Satellite.

Actual results:

- Ansible jobs fail with "Error:NoMethodError undefined method `[]' for nil:NilClass"

Expected results:

- Ansible REX jobs should succeed.

Comment 4 Bryan Kearney 2020-01-02 15:02:30 UTC
Upstream bug assigned to aruzicka

Comment 5 Bryan Kearney 2020-01-02 15:02:31 UTC
Upstream bug assigned to aruzicka

Comment 6 Bryan Kearney 2020-01-27 15:02:35 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/28095 has been resolved.

Comment 8 Jonathan Liedy 2020-03-10 16:35:42 UTC
Any status updates for this issue?

Comment 9 Jaskaran Singh Narula 2020-03-11 13:19:18 UTC
Hello all, 

Do we have any workaround for the issue? 

Thanks, 
Jaskaran Narula

Comment 11 Peter Ondrejka 2020-06-02 10:37:43 UTC
Verified on Satellite 6.8 snap 2

Comment 14 errata-xmlrpc 2020-10-27 12:59:24 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.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