--- # ------------------------------------------------------------------------------ # FILE: playbooks/day1_deploy_llm_inference_multimodel.yml # DESCRIPTION: Day 1 playbook for the dual-model (aux + tool-calling) rollout # on astro-orbiter. Builds on roles/llm-inference (CUDA/driver # already done) — does not replace it. # # Usage: # cd ~/git/homelab/ansible # ansible-playbook -i inventory.yml playbooks/day1_deploy_llm_inference_multimodel.yml # # or scope to specific phases: # ansible-playbook -i inventory.yml playbooks/day1_deploy_llm_inference_multimodel.yml --tags discover # # KNOWN GAP (2026-08-05): Semaphore is currently broken; this is being run # via direct ansible-playbook as an accepted interim stopgap. Retarget # through Semaphore once it's repaired. # # Phases (see roles/llm-inference-multimodel/README.md for detail): # 0. discover — read-only; confirm existing Gemma service management # 1. models — idempotent GGUF downloads (Phi-4-14B, Mistral-Small-24B) # 2. systemd — deploy both unit files, do NOT auto-start # 3. firewall — scope ports 8000/8001, non-0.0.0.0 bind # 4. verify — start both services, smoke test, VRAM check # ------------------------------------------------------------------------------ - name: Deploy dual-model LLM inference stack on astro-orbiter hosts: astro_orbiter gather_facts: true roles: - role: llm-inference-multimodel