Add Python bootstrap task — auto-installs python3 on Alpine/Debian before gather_facts

This commit is contained in:
Semaphore
2026-03-11 10:39:34 -07:00
parent b1f59b3b5a
commit 4e7a78810a
3 changed files with 30 additions and 0 deletions

View File

@@ -1,4 +1,10 @@
---
- name: Bootstrap — ensure Python is available
hosts: linux_hosts
gather_facts: false
tasks:
- ansible.builtin.import_tasks: ../roles/preflight/tasks/bootstrap.yml
- name: Linux patching
hosts: linux_hosts
gather_facts: true

View File

@@ -1,4 +1,10 @@
---
- name: Bootstrap — ensure Python is available
hosts: all
gather_facts: false
tasks:
- ansible.builtin.import_tasks: ../roles/preflight/tasks/bootstrap.yml
- name: Pre-flight safety checks
hosts: all
gather_facts: true

View File

@@ -0,0 +1,18 @@
---
# Runs before gather_facts using raw commands — no Python required
- name: Check if python3 is installed
ansible.builtin.raw: which python3 || echo "missing"
register: python_check
changed_when: false
- name: Install python3 on Alpine (raw — no Python needed)
ansible.builtin.raw: apk add --no-cache python3
when: "'missing' in python_check.stdout"
changed_when: true
- name: Install python3 on Debian/Ubuntu (raw — no Python needed)
ansible.builtin.raw: apt-get install -y python3
when:
- "'missing' in python_check.stdout"
- ansible_os_family is not defined or ansible_os_family == 'Debian'
changed_when: true