-
Notifications
You must be signed in to change notification settings - Fork 834
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
Add /health/ping and /health/status endpoint to Python REST Microservices #1026
Conversation
Hi @kparaju. Thanks for your PR. I'm waiting for a SeldonIO or seldonio member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/ok-to-test |
This is great @kparaju! Would be great to add something to the docs. I guess we can to this ourselves (unless you want to add something). By the way, the linter seems to be failing - you can make sure it works by running |
@axsaucedo I added some docs as well as ran the linter -- sorry about that. |
/test integration |
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 looks solid! All tests pass so happy to land, however there's still the GRPC route missing, as currently the implementation is done in Python but not in GRPC. You can see this in this line:
seldon-core/python/seldon_core/wrapper.py
Line 170 in 3483b11
prediction_pb2_grpc.add_SeldonServicer_to_server(seldon_model, server) |
@axsaucedo I don't think we would change the gRPC as that would require updating the prediction protos - but maybe you didn'tmean this. Better would be the have a lightweight Flask running on a separate port that has just the health endpoints exposed on http? |
Oh yeah you are right actually. Even if the model is a GRPC one, we'd still want to have health endpoints! Ok happy with that then, will resolve request for review |
/hold |
Oh my bad, resolving the comment automatically approved it. @cliveseldon I've added a |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: axsaucedo The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
New changes are detected. LGTM label has been removed. |
@cliveseldon @axsaucedo updated with documentation about how to use these problems in your SeldonDeployment YAML. |
/hold cancel |
/test integration |
@kparaju: The following test failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
This PR will add two endpoints to the python REST flask app.
/health/ping: quick check to make sure the flask app is alive
/health/status: more through check to make sure that the model is healthy
(I'm open to changing the url of these endpoints, these seemed to fit well)
There are two ways we are planning on using these endpoints:
Tested by doing:
and