From f0bef8e4c1306f30d8b38445d8a268e712d48333 Mon Sep 17 00:00:00 2001 From: Nik Afiq Date: Tue, 21 Apr 2026 22:53:25 +0900 Subject: [PATCH] feat: add model checking and conditional pulling for Ollama models --- ansible/roles/ollama/defaults/main.yaml | 3 ++- ansible/roles/ollama/tasks/main.yaml | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ansible/roles/ollama/defaults/main.yaml b/ansible/roles/ollama/defaults/main.yaml index a54a58c..72dc10a 100644 --- a/ansible/roles/ollama/defaults/main.yaml +++ b/ansible/roles/ollama/defaults/main.yaml @@ -6,4 +6,5 @@ ollama_host: "0.0.0.0" ollama_port: 11434 ollama_models: - - qwen3:4b \ No newline at end of file + - qwen3:4b + - llama3 \ No newline at end of file diff --git a/ansible/roles/ollama/tasks/main.yaml b/ansible/roles/ollama/tasks/main.yaml index c036839..b85e065 100644 --- a/ansible/roles/ollama/tasks/main.yaml +++ b/ansible/roles/ollama/tasks/main.yaml @@ -34,8 +34,15 @@ retries: 10 delay: 3 +- name: Check installed ollama models + uri: + url: "http://localhost:{{ ollama_port }}/api/tags" + return_content: true + register: ollama_tags + - name: Pull ollama models command: /opt/homebrew/bin/ollama pull {{ item }} loop: "{{ ollama_models }}" + when: item not in (ollama_tags.json.models | map(attribute='name') | list) environment: OLLAMA_HOST: "http://localhost:{{ ollama_port }}" \ No newline at end of file