You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[fix] Share /var/lib/awx/projects between awx-task and awx-receptor
Moves the needle from “inventory jobs fail because they can't find anything,” to “inventory jobs fail with a Python stack trace” (for want of an `oc` binary in `$PATH`).
In hindsight, it's pretty clear that if `awx-task` expects to be able to fiddle with `/etc/receptor/receptor.conf`, the two processes are supposed to run from the same container. Oh well...
Here is what I could figure out from the relics left behind under `awx_verbose = true` and the previous commit:
- For inventory jobs (unlike SCM jobs), `receptor` creates pods and feeds them some bizarre mix of JSON and base64-encoded ZIP files onto their stdin. Said pods are supposed to unpack and run same, and report back using a similar format.
- Manual inspection of the input ZIP file for a failed inventory job, showed that said ZIP file contained a `project/` subdirectory that was empty.
- From the fact that this here commit actually works, we deduce that `awx-task` cherry-picks stuff from `/var/lib/awx/projects` to fill the ZIP, sends same through `receptorctl`, `receptor` on the other side runs a Kubernetes pod as per above, and the `stdout` thereof flows the opposite way. Although I would be quite incapable of providing chapter and verse for these, either in the source code or the documentation...
0 commit comments