You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2026/10/08 13:41:00 UTC
[jira] [Resolved] (CAMEL-24821) camel infra ollama: keep pulled models in a volume, add --model, and wait for the pull
[ https://issues.apache.org/jira/browse/CAMEL-24821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-24821.
---------------------------------
Resolution: Fixed
> camel infra ollama: keep pulled models in a volume, add --model, and wait for the pull
> --------------------------------------------------------------------------------------
>
> Key: CAMEL-24821
> URL: https://issues.apache.org/jira/browse/CAMEL-24821
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang, camel-test-infra-ollama
> Reporter: Claus Ibsen
> Assignee: Karol Krawczyk
> Priority: Major
> Fix For: 4.23.0
>
>
> Found while writing the langchain4j-chat example for camel-jbang-examples (CAMEL-24808).
> *camel infra run ollama* starts the Ollama container and pulls its default model (granite4:3b, 2.1 GB). Three things make it hard to use:
> # The container mounts no volume, so the model is pulled again on every start, and every Citrus test run that starts the service with the camel infra action downloads 2.1 GB. The compose file the example used before kept a named volume for exactly this reason.
> # The model is fixed to the ollama.model property of the service; neither *camel infra run ollama* nor the Citrus infra action can choose a smaller one. A tiny model (qwen2.5:0.5b at 400 MB, smollm2:135m under 300 MB) is enough for most tests and CI.
> # The pull is asynchronous: the service logs "Pulling the model granite4:3b" and prints its JSON about one second later, so a *camel run* that follows the README gets "model 'granite4:3b' not found" until the pull is done, with nothing telling the user why.
> Proposal: mount a named volume for /root/.ollama so a pull happens once per machine; add *--model* (and the embedding model) as an option of *camel infra run ollama* and as a service property the Citrus action can pass; wait for the pull before reporting the service as running, or at least print the pull progress and say it is still running.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)