Skip to content

lab failing to start llamastack-deployment - fix run-config configmap #289

Description

@jwerak

New deployed lab was failing due to following llamastack-deployment pod error:

Traceback (most recent call last):

File "<frozen runpy>", line 198, in _run_module_as_main

File "<frozen runpy>", line 88, in _run_code

File "/usr/local/lib/python3.11/site-packages/llama_stack/distribution/server/server.py", line 542, in <module>

main()

File "/usr/local/lib/python3.11/site-packages/llama_stack/distribution/server/server.py", line 437, in main

impls = asyncio.run(construct_stack(config))

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/lib64/python3.11/asyncio/runners.py", line 190, in run

return runner.run(main)

^^^^^^^^^^^^^^^^

File "/usr/lib64/python3.11/asyncio/runners.py", line 118, in run

return self._loop.run_until_complete(task)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/lib64/python3.11/asyncio/base_events.py", line 654, in run_until_complete

return future.result()

^^^^^^^^^^^^^^^

File "/usr/local/lib/python3.11/site-packages/llama_stack/distribution/stack.py", line 231, in construct_stack

await register_resources(run_config, impls)

File "/usr/local/lib/python3.11/site-packages/llama_stack/distribution/stack.py", line 104, in register_resources

await method(**{k: getattr(obj, k) for k in obj.model_dump().keys()})

File "/usr/local/lib/python3.11/site-packages/llama_stack/providers/utils/telemetry/trace_protocol.py", line 103, in async_wrapper

result = await method(self, *args, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/usr/local/lib/python3.11/site-packages/llama_stack/distribution/routers/routing_tables.py", line 609, in register_tool_group

raise ValueError(

ValueError: Object resources_create_or_update already exists in registry. Please use a different identifier.

E20251106 10:23:27.372347 25 server.cpp:47] [SERVER][BlockLock][milvus] Process exit

I've got it working by:

  • updating run-config configmap
  • deleting llama-persist pvc (recreating with argocd later)
  • oc delete pvc llama-persist -n llama-serve
  • deleting llamastack-deployment pod

run-config:

version: '2'
image_name: remote-vllm
apis:
- agents
- datasetio
- eval
- inference
- safety
- scoring
- telemetry
- tool_runtime
- vector_io
providers:
  inference:
  - provider_id: llama-3b
    provider_type: remote::vllm
    config:
      url: ${env.LLAMA3B_URL}
      max_tokens: 128000
      api_token: ${env.LLAMA_TOKEN}
      tls_verify: false
  - provider_id: sentence-transformers
    provider_type: inline::sentence-transformers
    config: {}
  vector_io: []
  agents:
  - provider_id: meta-reference
    provider_type: inline::meta-reference
    config:
      persistence_store:
        type: sqlite
        namespace: null
        db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/agents_store.db
  eval:
  - provider_id: meta-reference
    provider_type: inline::meta-reference
    config:
      kvstore:
        type: sqlite
        namespace: null
        db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/meta_reference_eval.db
  datasetio:
  - provider_id: huggingface
    provider_type: remote::huggingface
    config:
      kvstore:
        type: sqlite
        namespace: null
        db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/huggingface_datasetio.db
  - provider_id: localfs
    provider_type: inline::localfs
    config:
      kvstore:
        type: sqlite
        namespace: null
        db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/localfs_datasetio.db
  scoring:
  - provider_id: basic
    provider_type: inline::basic
    config: {}
  - provider_id: llm-as-judge
    provider_type: inline::llm-as-judge
    config: {}
  - provider_id: braintrust
    provider_type: inline::braintrust
    config:
      openai_api_key: ${env.OPENAI_API_KEY:}
  telemetry:
  - provider_id: meta-reference
    provider_type: inline::meta-reference
    config:
      service_name: ${env.OTEL_SERVICE_NAME:llama-stack}
      sinks: ${env.TELEMETRY_SINKS:console, sqlite}
      otel_trace_endpoint: ${env.OTEL_TRACE_ENDPOINT:}
      sqlite_db_path: ${env.SQLITE_DB_PATH:~/.llama/distributions/remote-vllm/trace_store.db}
  tool_runtime:
  - provider_id: brave-search
    provider_type: remote::brave-search
    config:
      api_key: ${env.BRAVE_SEARCH_API_KEY:}
      max_results: 3
  - provider_id: tavily-search
    provider_type: remote::tavily-search
    config:
      api_key: ${env.TAVILY_SEARCH_API_KEY:}
      max_results: 3
  - provider_id: rag-runtime
    provider_type: inline::rag-runtime
    config: 
      db_path: ${env.MILVUS_DB_PATH}
  - provider_id: model-context-protocol
    provider_type: remote::model-context-protocol
    config: {}
metadata_store:
  type: sqlite
  db_path: ${env.SQLITE_STORE_DIR:~/.llama/distributions/remote-vllm}/registry.db
models:
- metadata: {}
  model_id: ${env.LLAMA3B_MODEL}
  provider_id: llama-3b
  model_type: llm
- metadata:
    embedding_dimension: 384
  model_id: all-MiniLM-L6-v2
  provider_id: sentence-transformers
  model_type: embedding
vector_dbs: []
datasets: []
scoring_fns: []
benchmarks: []
tool_groups:
- toolgroup_id: builtin::websearch
  provider_id: tavily-search
- toolgroup_id: builtin::rag
  provider_id: rag-runtime
- toolgroup_id: mcp::openshift
  provider_id: model-context-protocol
  mcp_endpoint:
    uri: "http://ocp-mcp-server:8000/sse"
- toolgroup_id: mcp::slack
  provider_id: model-context-protocol
  mcp_endpoint:
    uri: "http://slack-mcp-server:80/sse"

Is that fix correct? Can it be merged if yes?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions