Bug 2118459

Summary: Run Ansible roles returning success even if the playbook execution failed
Product: Red Hat Satellite Reporter: Joniel Pasqualetto <jpasqual>
Component: Ansible - Configuration ManagementAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED DUPLICATE QA Contact: Sam Bible <sbible>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.11.1CC: aruzicka, oezr
Target Milestone: Unspecified   
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-08-17 15:09:57 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 Joniel Pasqualetto 2022-08-15 21:09:28 UTC
Description of problem:
Going to a host and running ansible roles returns success on the tasks even if the task ansible execution finished with errors.

Example of failed task that returned and "exit status" of 0:

~~~
(...)
    }
 143:
}
 144:

 145:
TASK [Apply roles] *************************************************************
 146:
ERROR! the role 'RedHatInsights.insights-client' was not found in /tmp/d20220815-1121-f1vuvr/project/roles:/etc/ansible/roles:/usr/share/ansible/roles:/tmp/d20220815-1121-f1vuvr/project
 147:
PLAY RECAP *********************************************************************
 148:
rhel7-test             : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
 149:
Exit status: 0
~~~

Running the same job manually, returns same error and exit code is 2:

~~~
/usr/bin/ansible-runner run /tmp/d20220815-1121-4sokh0 -p playbook.yml

(...)

TASK [Apply roles] *************************************************************
ERROR! the role 'RedHatInsights.insights-client' was not found in /tmp/d20220815-1121-4sokh0/project/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/tmp/d20220815-1121-4sokh0/project

PLAY RECAP *********************************************************************
rhel7-03123217             : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

# echo $?
2
~~~


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


How reproducible: Always


Steps to Reproduce:
1. Associate any role to a host
2. Delete the role from the filesystem to force it to break (in my example I associated role RedHatInsights.insights-client and the removed it from /usr/share/ansible/roles/
3. Try running the job to "Run Ansible Roles" on the host.

Actual results:
Return success

Expected results:
Return the actual exit code from ansible

Additional info:

Comment 3 Joniel Pasqualetto 2022-08-17 15:09:57 UTC

*** This bug has been marked as a duplicate of bug 2107577 ***