mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 19:56:53 +00:00
group_vars/all/00_general.yml pins ansible_python_interpreter to /usr/local/bin/python3 for every host. Fact gathering is the first module run, so nothing inside the play can create that path, and a managed server that does not already carry it dies at 'Gathering Facts' with rc 127. The published deploy recipe addresses exactly such a server: ghcr.io/kevinveenbirkenbach/base-debian:latest carries /usr/bin/python3 and no /usr/local/bin/python3, so a reader following the documented instructions on a fresh Debian hits the same wall. The web-app-docs instruction replay is what surfaced it, across four jobs of run 39040406916. A pre_task links the discovered python3 into place through ansible.builtin.script, which needs no interpreter on the target, and the play then gathers facts explicitly. Dropping the pin instead would change which interpreter every module runs under on every existing host. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>