-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[serve] Remove ability to specify route_prefix
at deployment level
#48223
Conversation
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
route_prefix
at deployment levelroute_prefix
at deployment level
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
@@ -479,7 +419,6 @@ def options( | |||
new_deployment_config, | |||
new_replica_config, | |||
version=version, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we remove version too, or does that require more code changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should, but I'd rather do it in a separate PR at least
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this already got bigger than I wanted 😓
python/ray/serve/scripts.py
Outdated
schema = ServeApplicationSchema( | ||
name=name, | ||
route_prefix=ingress.route_prefix, | ||
route_prefix="/", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
route_prefix="/", | |
route_prefix=f"/{name}", |
I think this will need to be a distinct generated route prefix for each application because the pydantic model will fail to parse if every route prefix is "/".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh you're right. don't we default it to /{name}
somewhere else already?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok I changed it to do /{name}
if there are multiple apps, else just /
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice lgtm
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Kinda feel this is something Alex would have picked up for onboarding XP
|
||
|
||
@PublicAPI(stability="stable") | ||
def run( | ||
target: Application, | ||
blocking: bool = False, | ||
name: str = SERVE_DEFAULT_APP_NAME, | ||
route_prefix: Optional[str] = DEFAULT.VALUE, | ||
route_prefix: Optional[str] = "/", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a reason why route_prefix
had to default to DEFAULT.VALUE
instead of "/"
before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
None
means "no route prefix" and previously we wanted to pick up the route_prefix of the ingress deployment if nothing was specified here to override
Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
Stacked on: #48223 Reimplements the `.bind()` codepath to avoid using the Ray DAG codepath which adds a lot of complexity for little benefit. The DAG traversal code is much simpler, around 100 lines of self-contained code in `build_app.py`. I've also added unit tests for it. There should be no behavior change here. --------- Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…ay-project#48223) Removes the ability to specify `route_prefix` at the deployment level (which has been deprecated for a number of releases). Also rips out some vestigial code which was unused: - `Deployment._deploy` - `log_deployment_update_status` - `get_deployment` Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…t level" (ray-project#48292) Reverts ray-project#48223 Broke ray-project#48289 so revert to unblock the release.
Stacked on: ray-project#48223 Reimplements the `.bind()` codepath to avoid using the Ray DAG codepath which adds a lot of complexity for little benefit. The DAG traversal code is much simpler, around 100 lines of self-contained code in `build_app.py`. I've also added unit tests for it. There should be no behavior change here. --------- Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…ay-project#48223) Removes the ability to specify `route_prefix` at the deployment level (which has been deprecated for a number of releases). Also rips out some vestigial code which was unused: - `Deployment._deploy` - `log_deployment_update_status` - `get_deployment` Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…t level" (ray-project#48292) Reverts ray-project#48223 Broke ray-project#48289 so revert to unblock the release. Signed-off-by: JP-sDEV <jon.pablo80@gmail.com>
Stacked on: ray-project#48223 Reimplements the `.bind()` codepath to avoid using the Ray DAG codepath which adds a lot of complexity for little benefit. The DAG traversal code is much simpler, around 100 lines of self-contained code in `build_app.py`. I've also added unit tests for it. There should be no behavior change here. --------- Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…ay-project#48223) Removes the ability to specify `route_prefix` at the deployment level (which has been deprecated for a number of releases). Also rips out some vestigial code which was unused: - `Deployment._deploy` - `log_deployment_update_status` - `get_deployment` Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com> Signed-off-by: mohitjain2504 <mohit.jain@dream11.com>
…t level" (ray-project#48292) Reverts ray-project#48223 Broke ray-project#48289 so revert to unblock the release. Signed-off-by: mohitjain2504 <mohit.jain@dream11.com>
Stacked on: ray-project#48223 Reimplements the `.bind()` codepath to avoid using the Ray DAG codepath which adds a lot of complexity for little benefit. The DAG traversal code is much simpler, around 100 lines of self-contained code in `build_app.py`. I've also added unit tests for it. There should be no behavior change here. --------- Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com> Signed-off-by: mohitjain2504 <mohit.jain@dream11.com>
Why are these changes needed?
Removes the ability to specify
route_prefix
at the deployment level (which has been deprecated for a number of releases).Also rips out some vestigial code which was unused:
Deployment._deploy
log_deployment_update_status
get_deployment
Related issue number
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.method in Tune, I've added it in
doc/source/tune/api/
under thecorresponding
.rst
file.