-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression in error handling when ansible-runner install fails in traceback #13494
Comments
If I just remove the line Of course, this would not be a valid solution in practice. However, we could use python signals to set an alarm or something along those lines. |
The approach with def last_ditch():
logger.warning(f'Failed to read results from receptor for unit_id={self.unit_id}')
signal.signal(signal.SIGALRM, last_ditch)
signal.alarm(1)
lines = resultfile.readlines()
signal.alarm(0)
receptor_output = b"".join(lines).decode() But for one, I can't yet figure out a way to test this. Secondly, this doesn't have proper error handling to reset the prior state of signals. |
From further testing, I've got some new info on this: The error seems to not happen when gathering error information from container_group jobs. So it is not expected that AWX installs would face this. Separately, I tested for both local work (like project updates) and work on execution nodes. In both cases, we hit this traceback. So that appears to be the critical difference - we get a different kind of socket in the VM case versus kubernetes case. We still need to fix this. |
Ping @jay-steurer this is the original issue report, but we have it in Jira so I will close this as I merge the fix. |
ISSUE TYPE
COMPONENT NAME
SUMMARY
The setup for this is the case that running any
ansible-runner
command results in a traceback. This is known to have happened in the past due to some pip issues. When this happens, we expect to get the traceback in theresult_traceback
from API details. We are not getting that now due to an unrelated (novel) error masking it.STEPS TO REPRODUCE
I make this change to the ansible-runner install to simulate it.
EXPECTED RESULTS
I expect the same thing that
receptorctl work results unit_id
givesto be shown in
/api/v2/project_updates/N/
underresult_traceback
in my case.ACTUAL RESULTS
Job details look like this:
ADDITIONAL INFORMATION
This seems to be a new regression with #12961
If I revert that partially...
it gives the desired data
The text was updated successfully, but these errors were encountered: