Fix router resilience to get_config failures and async mock handling

This commit is contained in:
shiva-manu 2026-04-17 01:03:04 +05:30
parent c0fc4c4234
commit c36d441026
2 changed files with 22 additions and 17 deletions

View file

@ -4058,7 +4058,7 @@ class ProxyConfig:
config_data: dict = {}
search_tools = None
try:
config_data = await proxy_config.get_config()
config_data = await self.get_config()
search_tools = self.parse_search_tools(config_data)
except Exception as e:
verbose_proxy_logger.warning(
@ -4096,7 +4096,9 @@ class ProxyConfig:
await self._delete_deployment(db_models=models_list)
## ADD MODEL LOGIC
self._add_deployment(db_models=models_list)
result=self._add_deployment(db_models=models_list)
if asyncio.iscoroutine(result):
await result
except Exception as e:
verbose_proxy_logger.exception(
@ -4107,19 +4109,22 @@ class ProxyConfig:
llm_model_list = llm_router.get_model_list()
# check if user set any callbacks in Config Table
self._add_callbacks_from_db_config(config_data)
if config_data:
self._add_callbacks_from_db_config(config_data)
# router settings
await self._add_router_settings_from_db_config(
config_data=config_data, llm_router=llm_router, prisma_client=prisma_client
)
#router settings
await self._add_router_settings_from_db_config(
config_data=config_data,
llm_router=llm_router,
prisma_client=prisma_client
)
# general settings
self._add_general_settings_from_db_config(
config_data=config_data,
general_settings=general_settings,
proxy_logging_obj=proxy_logging_obj,
)
#general settings
self._add_general_settings_from_db_config(
config_data=config_data,
general_settings=general_settings,
proxy_logging_obj=proxy_logging_obj,
)
def _add_callback_from_db_to_in_memory_litellm_callbacks(
self,

View file

@ -42,7 +42,7 @@ class TestUpdateLlmRouterResilience:
mock_router.get_model_list.return_value = []
mock_router.get_model_ids.return_value = []
mock_proxy_logging = MagicMock()
mock_proxy_logging = AsyncMock()
with (
patch.object(
@ -51,7 +51,7 @@ class TestUpdateLlmRouterResilience:
new_callable=AsyncMock,
side_effect=Exception("httpcore.ReadTimeout"),
),
patch.object(proxy_config, "_add_deployment", return_value=1) as mock_add,
patch.object(proxy_config, "_add_deployment",new_callable=AsyncMock, return_value=1) as mock_add,
patch.object(
proxy_config,
"_delete_deployment",
@ -82,7 +82,7 @@ class TestUpdateLlmRouterResilience:
mock_router.get_model_list.return_value = []
mock_router.get_model_ids.return_value = []
mock_proxy_logging = MagicMock()
mock_proxy_logging = AsyncMock()
with (
patch.object(
@ -91,7 +91,7 @@ class TestUpdateLlmRouterResilience:
new_callable=AsyncMock,
return_value={"model_list": []},
),
patch.object(proxy_config, "_add_deployment", return_value=1) as mock_add,
patch.object(proxy_config, "_add_deployment",new_callable=AsyncMock, return_value=1) as mock_add,
patch.object(
proxy_config,
"_delete_deployment",