Skip to content

Remote vLLM provider crashes as cannot find TLS Certificate file even though tls_verify is false #2283

@noelo

Description

@noelo

System Info

NA

Information

  • The official example scripts
  • My own modified scripts

🐛 Describe the bug

I think this was a bug introduced by #2266.

The code https://github.com/meta-llama/llama-stack/blob/39b33a3b013337e0209fb5dd96894cdc3880633c/llama_stack/providers/remote/inference/vllm/config.py

in the function validate_tls_verify assumes that the tls_verify field is true and then tries to verify the path to the certs. This check will always fail even if the tls_verify is set to false.

Error logs

llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack            - config:                                                                                                    
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack                api_token: '********'                                                                                    
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack                max_tokens: '6000'                                                                                       
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack                tls_verify: 'false'                                                                                      
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack                url: https://.......
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack              provider_id: vllm                                                                                          
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack              provider_type: remote::vllm  




llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack Traceback (most recent call last):
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "<frozen runpy>", line 198, in _run_module_as_main
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "<frozen runpy>", line 88, in _run_code
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/app/llama-stack-source/llama_stack/distribution/server/server.py", line 588, in <module>
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     main()
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/app/llama-stack-source/llama_stack/distribution/server/server.py", line 483, in main
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     impls = asyncio.run(construct_stack(config))
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/usr/lib64/python3.11/asyncio/runners.py", line 190, in run
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     return runner.run(main)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack            ^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/usr/lib64/python3.11/asyncio/runners.py", line 118, in run
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     return self._loop.run_until_complete(task)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/usr/lib64/python3.11/asyncio/base_events.py", line 654, in run_until_complete
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     return future.result()
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack            ^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/app/llama-stack-source/llama_stack/distribution/stack.py", line 226, in construct_stack
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     impls = await resolve_impls(run_config, provider_registry or get_provider_registry(run_config), dist_registry)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/app/llama-stack-source/llama_stack/distribution/resolver.py", line 143, in resolve_impls
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     return await instantiate_providers(sorted_providers, router_apis, dist_registry, run_config)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/app/llama-stack-source/llama_stack/distribution/resolver.py", line 264, in instantiate_providers
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     impl = await instantiate_provider(provider, deps, inner_impls, dist_registry, run_config)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/app/llama-stack-source/llama_stack/distribution/resolver.py", line 325, in instantiate_provider
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     config = config_type(**provider.config)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   File "/usr/local/lib/python3.11/site-packages/pydantic/main.py", line 253, in __init__
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack pydantic_core._pydantic_core.ValidationError: 1 validation error for VLLMInferenceAdapterConfig
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack tls_verify
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack   Value error, TLS certificate file does not exist: false [type=value_error, input_value='false', input_type=str]
llamastackdistribution-sample-5d4bff47fb-kdsqz llama-stack     For further information visit https://errors.pydantic.dev/2.11/v/value_error

Expected behavior

validate_tls_verify call should skip the cert check if the tls_verify attribute is false

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions