fix: do not inject default port into vllm if it is set in the prefill or decode - #190
fix: do not inject default port into vllm if it is set in the prefill or decode #190zdtsw wants to merge 2 commits into
Conversation
| command: ["vllm", "serve"] | ||
| args: | ||
| {{- (include "llm-d-modelservice.argsByProtocol" .) }} | ||
| {{- if not (has "--port" .container.args) }} |
There was a problem hiding this comment.
I think this change LGTM. I'm wondering if it's necessary to expose this port in ports.containerPort? Or should that be left to the user to declare if necessary?
There was a problem hiding this comment.
I thought about this before, the reason did not go that way:
if user want to use a different port in prefill, they need set it explictliy in the prefill.containers with both args and ports. surely this can be done on the fly by chart, but then the logic will be more complicated. e.g if it is not vllmServer.
if we add a new spec like prefill.port that normally wont be useful without prefill.containers.args set accordingly.
|
port can be set using |
If i understand this correctly:
the current case/example is: prefill on 8300, sidecar on 8000, decode on 8200 |
Your understanding of how the variables are used is correct. However, I don't understand the configuration that allows the prefill pod to have a port different from the sidecar (ie, the external port of the decode pod). Can you explain the configuration of the components that enables this? |
The idea is the change in the PR, is mainly to use the value if |
|
There must be configuration changes on the sidecar and endpointpicker as well, no? It is this configuration that makes me think the ports can't be different. |
|
@kalantar @zdtsw is that the I also found an example here:
Or is |
Sorry, I must have missed your comments. as for the llm-d-modelservice/charts/llm-d-modelservice/templates/_helpers.tpl yes this is the Probably two options:
|
decode - before this PR, it always inject 8000 for prefill and 8000 for sidecar 8200 for decode main, even we set it in the container.args with "--port" Signed-off-by: Wen Zhou <wenzhou@redhat.com>
Signed-off-by: Wen Zhou <wenzhou@redhat.com>
i made a change for the option 2 #200 maybe this is more reasonable than this option 1 ? |
|
In that case I would prefer if |
you are right, have |
|
close this as the current implementation of "scheduler" does not support that prefill port is different from decode routing port(in P/D) case. |
Description
8000for prefill and8000for sidecar8200for decode main, even we set it in the container.args with "--port"vllmServeorimageDefaultRef
it was from a converstaion from llm-d/llm-d#605 (comment)
it should only get
--port 8300not both in the resultTest
values.yaml
result