--- # ------------------------------------------------------------------------------ # FILE: roles/llm-inference-multimodel/tasks/main.yml # DESCRIPTION: Entry point — imports one task file per phase. # Phases are additive; re-running the full playbook is always # safe (idempotent). Use --tags to run a specific phase subset: # --tags discover,models,systemd,firewall,verify # # IMPORTANT: Phase 2 (systemd) deploys but does NOT start either service. # Phase 4 (verify) is what starts + smoke-tests them. This lets # Ryan review "systemd units land, nothing running yet" as a # distinct, revertable checkpoint before anything touches the # live GPU/VRAM state. # ------------------------------------------------------------------------------ # Phase 0 — Discover (read-only; confirm how the existing Gemma llama-server # is actually managed today before assuming a systemd unit exists) - import_tasks: discover.yml tags: [discover] # Phase 1 — Models (idempotent GGUF download, size-check guard) - import_tasks: models.yml tags: [models] # Phase 2 — Systemd (template + deploy both unit files, do NOT auto-start) - import_tasks: systemd.yml tags: [systemd] # Phase 3 — Firewall (scope :8001 and reconsider :8000 exposure) - import_tasks: firewall.yml tags: [firewall] # Phase 4 — Verify (start both services, curl smoke test, nvidia-smi VRAM check) - import_tasks: verify.yml tags: [verify]