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.
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
validate_tls_verify call should skip the cert check if the tls_verify attribute is false
System Info
NA
Information
🐛 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
Expected behavior
validate_tls_verify call should skip the cert check if the tls_verify attribute is false