diff --git a/internal/controller/inferenceservice_deployment_test.go b/internal/controller/inferenceservice_deployment_test.go index c2c35aea..57b87110 100644 --- a/internal/controller/inferenceservice_deployment_test.go +++ b/internal/controller/inferenceservice_deployment_test.go @@ -3662,11 +3662,12 @@ var _ = Describe("RuntimeBackend interface", func() { Expect(args).NotTo(ContainElement("--model")) Expect(args).To(ContainElements("--host", "::")) Expect(args).To(ContainElements("--port", "8000")) - // --enable-metrics is always set so vLLM pods expose /metrics for - // PodMonitor scraping (#409). - Expect(args).To(ContainElement("--enable-metrics")) - // Six elements: --host :: --port 8000 --enable-metrics. - Expect(args).To(HaveLen(6)) + // vLLM has no --enable-metrics flag; it always exposes /metrics. + // Emitting the flag makes vLLM reject the command and the pod never + // starts (#1030), so it must never appear. + Expect(args).NotTo(ContainElement("--enable-metrics")) + // Five elements: --host :: --port 8000. + Expect(args).To(HaveLen(5)) }) It("should append extraArgs after typed flags", func() { diff --git a/internal/controller/runtime_vllm.go b/internal/controller/runtime_vllm.go index 618cb81c..0b6b0ac5 100644 --- a/internal/controller/runtime_vllm.go +++ b/internal/controller/runtime_vllm.go @@ -73,8 +73,11 @@ func (b *VLLMBackend) BuildArgs(isvc *inferencev1alpha1.InferenceService, model // which are appended last so the user flag wins. "--host", "::", "--port", fmt.Sprintf("%d", port), - "--enable-metrics", } + // NOTE: vLLM has no --enable-metrics flag. Its OpenAI server always exposes + // Prometheus metrics at /metrics, so there is nothing to enable; passing the + // flag makes vLLM's argument parser reject the whole command and the pod + // never starts (#1030). The PodMonitor scrapes /metrics unconditionally. var err error