-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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] Change API to use ServeDeploySchema to replace ServeApplicationSchema #32285
Conversation
927ef30
to
97551e6
Compare
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
d16fa75
to
0e3ba8f
Compare
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!
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
@sihanwang41 Added some changes, could you do another pass? |
Hi @zcin , the pr has unit tests failures and lint issue, can you take a look? |
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
@sihanwang41 @shrekris-anyscale Tests fixed by moving to a new file. I also addressed comments, please take another look when you get the chance, ty! |
thanks! Do we know why we have to move to a new file? |
I'm not completely sure, but after adding the new tests for this PR the original test class It's possible that |
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
Synced with @sihanwang41, looking into why keeping the tests in the same file causes failures. |
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
ac87ca7
to
a978b38
Compare
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
a978b38
to
055560d
Compare
Tests re-added to |
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
LGTM |
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 work, the changes look good to me! Once we add the warning, this change should be ready to merge.
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
@edoakes Should be ready to merge! |
Signed-off-by: Cindy Zhang <cindyzyx9@gmail.com>
…onSchema (ray-project#32285) This changes the controller to deploy config files of the format `ServeDeploySchema` instead of `ServeApplicationSchema`. This prepares the backend python API to support the new, multi-app compatible REST API. - `deploy_app` --> `deploy_apps` - [single-app compatibility] `controller.deploy_apps` still takes `ServeApplicationSchema` but converts it to a `ServeDeploySchema` with a single application (and takes name "" if no name is provided). - ~~If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.~~ We don't have the versioning support for this yet, this should be added in the future. - [multi-app config] Given a deployed config file, each application's deployments will have the app name prepended to the deployment name (so there is no gap between the names of a deployment when it is actually deployed vs the names in the config file), and if user fetches the config using `get_app_config`, the app name prefix is removed. - [multi-app mode] Applying a `ServeDeploySchema` config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed.
…onSchema (ray-project#32285) This changes the controller to deploy config files of the format `ServeDeploySchema` instead of `ServeApplicationSchema`. This prepares the backend python API to support the new, multi-app compatible REST API. - `deploy_app` --> `deploy_apps` - [single-app compatibility] `controller.deploy_apps` still takes `ServeApplicationSchema` but converts it to a `ServeDeploySchema` with a single application (and takes name "" if no name is provided). - ~~If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.~~ We don't have the versioning support for this yet, this should be added in the future. - [multi-app config] Given a deployed config file, each application's deployments will have the app name prepended to the deployment name (so there is no gap between the names of a deployment when it is actually deployed vs the names in the config file), and if user fetches the config using `get_app_config`, the app name prefix is removed. - [multi-app mode] Applying a `ServeDeploySchema` config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed. Signed-off-by: Edward Oakes <ed.nmi.oakes@gmail.com>
…onSchema (ray-project#32285) This changes the controller to deploy config files of the format `ServeDeploySchema` instead of `ServeApplicationSchema`. This prepares the backend python API to support the new, multi-app compatible REST API. - `deploy_app` --> `deploy_apps` - [single-app compatibility] `controller.deploy_apps` still takes `ServeApplicationSchema` but converts it to a `ServeDeploySchema` with a single application (and takes name "" if no name is provided). - ~~If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.~~ We don't have the versioning support for this yet, this should be added in the future. - [multi-app config] Given a deployed config file, each application's deployments will have the app name prepended to the deployment name (so there is no gap between the names of a deployment when it is actually deployed vs the names in the config file), and if user fetches the config using `get_app_config`, the app name prefix is removed. - [multi-app mode] Applying a `ServeDeploySchema` config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed.
…onSchema (ray-project#32285) This changes the controller to deploy config files of the format `ServeDeploySchema` instead of `ServeApplicationSchema`. This prepares the backend python API to support the new, multi-app compatible REST API. - `deploy_app` --> `deploy_apps` - [single-app compatibility] `controller.deploy_apps` still takes `ServeApplicationSchema` but converts it to a `ServeDeploySchema` with a single application (and takes name "" if no name is provided). - ~~If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.~~ We don't have the versioning support for this yet, this should be added in the future. - [multi-app config] Given a deployed config file, each application's deployments will have the app name prepended to the deployment name (so there is no gap between the names of a deployment when it is actually deployed vs the names in the config file), and if user fetches the config using `get_app_config`, the app name prefix is removed. - [multi-app mode] Applying a `ServeDeploySchema` config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed.
…onSchema (ray-project#32285) This changes the controller to deploy config files of the format `ServeDeploySchema` instead of `ServeApplicationSchema`. This prepares the backend python API to support the new, multi-app compatible REST API. - `deploy_app` --> `deploy_apps` - [single-app compatibility] `controller.deploy_apps` still takes `ServeApplicationSchema` but converts it to a `ServeDeploySchema` with a single application (and takes name "" if no name is provided). - ~~If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.~~ We don't have the versioning support for this yet, this should be added in the future. - [multi-app config] Given a deployed config file, each application's deployments will have the app name prepended to the deployment name (so there is no gap between the names of a deployment when it is actually deployed vs the names in the config file), and if user fetches the config using `get_app_config`, the app name prefix is removed. - [multi-app mode] Applying a `ServeDeploySchema` config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed.
…onSchema (ray-project#32285) This changes the controller to deploy config files of the format `ServeDeploySchema` instead of `ServeApplicationSchema`. This prepares the backend python API to support the new, multi-app compatible REST API. - `deploy_app` --> `deploy_apps` - [single-app compatibility] `controller.deploy_apps` still takes `ServeApplicationSchema` but converts it to a `ServeDeploySchema` with a single application (and takes name "" if no name is provided). - ~~If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.~~ We don't have the versioning support for this yet, this should be added in the future. - [multi-app config] Given a deployed config file, each application's deployments will have the app name prepended to the deployment name (so there is no gap between the names of a deployment when it is actually deployed vs the names in the config file), and if user fetches the config using `get_app_config`, the app name prefix is removed. - [multi-app mode] Applying a `ServeDeploySchema` config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed. Signed-off-by: elliottower <elliot@elliottower.com>
Signed-off-by: Cindy Zhang cindyzyx9@gmail.com
Why are these changes needed?
This changes the controller to deploy config files of the format
ServeDeploySchema
instead ofServeApplicationSchema
. This prepares the backend python API to support the new, multi-app compatible REST API.deploy_app
-->deploy_apps
controller.deploy_apps
still takesServeApplicationSchema
but converts it to aServeDeploySchema
with a single application (and takes name "" if no name is provided).If an application is redeployed (i.e. an app with same name already exists) and the dictionary of deployment versions is unchanged, its deployment timestamp does not update.We don't have the versioning support for this yet, this should be added in the future.get_app_config
, the app name prefix is removed.ServeDeploySchema
config file will set that as the goal state; it will deploy the apps listed in the config file and remove any that are not listed.Related issue number
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.