-
Notifications
You must be signed in to change notification settings - Fork 81
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
Can't get output from an ansible-runner traceback when ran as Kubernetes work #736
Comments
I'm adding 2 screenshots here to clarify just how bad this bug is, as presented in AWX. The pod fails with a traceback, and we outright don't get that traceback. This is the domain of receptor, as it gets passed the In AWX |
I have been looking at this issue for the past few weeks, and finally have a PR to address it here: #776 Root cause: sometimes receptor will call the k8 api too fast resulting in "Pending" being returned instead of "Failed". And to top it off, the failed case in receptor exits without the log stream being attached, resulting in no trace. This PR fixes both issues. |
I believe this has been fixed for a while by now. |
I have created an image that you should be able to pull at
ghcr.io/alancoding/bad-ee:traceback
, for building steps you can see:https://github.com/AlanCoding/bad-execution-environments
You can verify its behavior easily:
The key expectation of this issue is that I should be able to run this over receptor and somehow obtain the critical debugging information of "surprise3".
In AWX, I go create an execution environment from this image and associate it with a job template that runs as a container group job. This will call
receptor_ctl.submit_work(payload=sockout.makefile('rb'), **work_submit_kw)
with "params" inwork_submit_kw
with "secret_kube_pod" as an entry in that with the pod spec, which includes that image. After submitting, of course, it fails. The details look like:And the results:
This is missing the output. I can confirm that
/tmp/receptor/awx_1/R7CLSe7b/
is missing a stdout file as well.Ultimately, AWX needs to collect that output and pass it onto the user, but receptor needs to provide it before that can happen.
The text was updated successfully, but these errors were encountered: