@@ -330,3 +330,67 @@ func TestShouldReportContainerStartupFailure(t *testing.T) {
330330 })
331331 }
332332}
333+
334+ func TestMergeRuntimeArgumentsOverride (t * testing.T ) {
335+ tp , pp , dp := int64 (4 ), int64 (2 ), int64 (8 )
336+ baseFields := & BaseComponentFields {
337+ SupportedModelFormat : & v1beta1.SupportedModelFormat {
338+ AcceleratorConfig : map [string ]* v1beta1.AcceleratorModelConfig {
339+ "nvidia-h100" : {
340+ TensorParallelismOverride : & v1beta1.TensorParallelismConfig {
341+ TensorParallelSize : & tp ,
342+ PipelineParallelSize : & pp ,
343+ DataParallelSize : & dp ,
344+ },
345+ },
346+ },
347+ },
348+ AcceleratorClassName : "nvidia-h100" ,
349+ }
350+
351+ tests := []struct {
352+ name string
353+ container v1.Container
354+ expectedArgs []string
355+ expectedCommand []string
356+ }{
357+ {
358+ name : "vllm long flags" ,
359+ container : v1.Container {Args : []string {
360+ "--tensor-parallel-size=1" , "--pipeline-parallel-size=1" , "--data-parallel-size=1" ,
361+ }},
362+ expectedArgs : []string {"--tensor-parallel-size=4" , "--pipeline-parallel-size=2" , "--data-parallel-size=8" },
363+ },
364+ {
365+ name : "sglang size flags" ,
366+ container : v1.Container {Args : []string {
367+ "--tp-size" , "1" , "--pp-size" , "1" , "--dp-size" , "1" ,
368+ }},
369+ expectedArgs : []string {"--tp-size" , "4" , "--pp-size" , "2" , "--dp-size" , "8" },
370+ },
371+ {
372+ name : "sglang shorthand flags in command" ,
373+ container : v1.Container {Command : []string {
374+ "python3" , "-m" , "sglang.launch_server" , "--tp" , "1" , "--pp" , "1" , "--dp" , "1" ,
375+ }},
376+ expectedCommand : []string {"python3" , "-m" , "sglang.launch_server" , "--tp" , "4" , "--pp" , "2" , "--dp" , "8" },
377+ },
378+ {
379+ name : "single dash flags" ,
380+ container : v1.Container {Args : []string {"-tp" , "1" , "-pp" , "1" , "-dp" , "1" }},
381+ expectedArgs : []string {"-tp" , "4" , "-pp" , "2" , "-dp" , "8" },
382+ },
383+ }
384+
385+ for _ , tt := range tests {
386+ t .Run (tt .name , func (t * testing.T ) {
387+ g := gomega .NewGomegaWithT (t )
388+ container := tt .container
389+
390+ MergeRuntimeArgumentsOverride (baseFields , & container )
391+
392+ g .Expect (container .Args ).To (gomega .Equal (tt .expectedArgs ))
393+ g .Expect (container .Command ).To (gomega .Equal (tt .expectedCommand ))
394+ })
395+ }
396+ }
0 commit comments