diff --git a/playbooks/site_maintenance.yml b/playbooks/site_maintenance.yml index 4626029..0d81d20 100644 --- a/playbooks/site_maintenance.yml +++ b/playbooks/site_maintenance.yml @@ -1,6 +1,10 @@ --- -# Master wrapper — runs full maintenance sequence -# This is the single template to schedule in Semaphore per client +- name: Bootstrap — ensure Python is available + hosts: all + gather_facts: false + tasks: + - ansible.builtin.import_tasks: ../roles/preflight/tasks/bootstrap.yml + - import_playbook: snapshot_pre.yml - import_playbook: site_preflight.yml - import_playbook: linux_patch.yml diff --git a/playbooks/snapshot_pre.yml b/playbooks/snapshot_pre.yml index d3ace0f..1e2e08a 100644 --- a/playbooks/snapshot_pre.yml +++ b/playbooks/snapshot_pre.yml @@ -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-patch snapshot hosts: all gather_facts: true diff --git a/playbooks/windows_patch.yml b/playbooks/windows_patch.yml index fb633b8..4c390da 100644 --- a/playbooks/windows_patch.yml +++ b/playbooks/windows_patch.yml @@ -1,4 +1,5 @@ --- +# Windows hosts don't need Python bootstrap — WinRM handles this natively - name: Windows patching hosts: windows_hosts gather_facts: true