litellm/helm/litellm/tests
Yassin Kortam b1fd20f4cd
fix(helm): give gateway and backend probes an explicit timeoutSeconds (#35497)
The gateway and backend probes omitted timeoutSeconds, so kubelet applied its
1s default. Both containers run a single uvicorn worker (the gateway defaults
NUM_WORKERS to 1; the backend passes no --workers at all), so each pod is one
asyncio event loop and its per-request latency under closed-loop saturation
rises by queueing (~57-62ms serial vs ~6s at 100 concurrent users against one
replica). Both /health/readiness and /health/liveliness then time out on the
stage cluster while the pod is serving traffic correctly, which exposes the
deployment to losing a healthy pod from its load balancer during a burst and
to restarting a merely busy one.

Readiness now gets timeoutSeconds 10, equal to periodSeconds and above the
measured saturated latency, and keeps failureThreshold 3. kubelet drives each
probe from a time.Ticker of periodSeconds rather than sleeping between
attempts, and coalesces ticks that arrive mid-probe, so the interval between
probe starts is max(periodSeconds, probeDuration) and not their sum. Keeping
timeoutSeconds <= periodSeconds is what holds that interval at 10s, so three
consecutive failures still evict a genuinely wedged pod in ~30s.

Liveness gets the same timeout plus failureThreshold 6: /health/liveliness is
an in-memory flag check, so a timeout there only ever means event-loop
starvation, which a restart makes worse, and it now needs ~90s of sustained
unresponsiveness to fire.

The ui container keeps the default. It is nginx serving a Next.js static
export, so / is a file off disk with no application runtime that could queue
behind saturated work, and nothing measured suggests it needs more than 1s.
2026-08-01 21:13:17 +00:00
..
values feat(helm): support user-defined volumes and volumeMounts in microservices chart (#32233) 2026-07-06 09:53:47 -07:00
billing_metrics_tests.yaml feat(proxy): push-based OTLP billable-request metering for enterprise deployments (#31592) 2026-07-15 12:12:52 -07:00
deployment_volumes_tests.yaml feat(helm): support user-defined volumes and volumeMounts in microservices chart (#32233) 2026-07-06 09:53:47 -07:00
migration_job_tests.yaml feat(helm): add pod-hardening and migration-Job knobs to the componentized chart (#35489) 2026-08-01 14:10:55 -07:00
pdb_topology_spread_tests.yaml feat(helm): add per-component PodDisruptionBudget and topologySpreadConstraints to componentized chart (#33430) 2026-07-16 10:41:59 -07:00
pod_hardening_tests.yaml feat(helm): add pod-hardening and migration-Job knobs to the componentized chart (#35489) 2026-08-01 14:10:55 -07:00
probe_tests.yaml fix(helm): give gateway and backend probes an explicit timeoutSeconds (#35497) 2026-08-01 21:13:17 +00:00
redis_env_tests.yaml feat(deploy): make coordination redis a first-class chart and terraform surface (#32662) 2026-07-10 16:16:09 -07:00