Skip to content
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

V2 Dataplane in Executor/Operator + Triton Server #2023

Merged
merged 24 commits into from
Sep 23, 2020
Merged

V2 Dataplane in Executor/Operator + Triton Server #2023

merged 24 commits into from
Sep 23, 2020

Conversation

ukclivecox
Copy link
Contributor

@ukclivecox ukclivecox commented Jun 28, 2020

Fixes #1648

  • Allows executor to use v2 dataplane
    • Adds local example to executor
  • Adds v2 protocol to operator
  • Adds examples to protocol_examples notebook
  • Initial docs

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

Review Jupyter notebook visual diffs & provide feedback on notebooks.


Powered by ReviewNB

@seldondev
Copy link
Collaborator

Sun Jun 28 07:49:59 UTC 2020
The logs for [pr-build] [1] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/1.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=1

@seldondev
Copy link
Collaborator

Sun Jun 28 07:50:59 UTC 2020
The logs for [lint] [2] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/2.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=2

Copy link
Contributor

@adriangonz adriangonz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great @cliveseldon!!!

executor/Makefile Outdated Show resolved Hide resolved
executor/api/grpc/kfserving/client.go Outdated Show resolved Hide resolved
executor/api/grpc/kfserving/server.go Outdated Show resolved Hide resolved
executor/api/rest/server.go Outdated Show resolved Hide resolved
servers/triton/samples/simple.yaml Show resolved Hide resolved
Copy link
Contributor

@gaocegege gaocegege left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the awesome feature! Looking forward to it.

executor/api/constants.go Outdated Show resolved Hide resolved
@seldondev
Copy link
Collaborator

Fri Sep 4 18:06:11 UTC 2020
The logs for [lint] [4] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/4.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=4

@seldondev
Copy link
Collaborator

Fri Sep 4 18:06:10 UTC 2020
The logs for [pr-build] [3] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/3.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=3

@seldondev
Copy link
Collaborator

Sat Sep 5 07:17:50 UTC 2020
The logs for [pr-build] [5] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/5.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=5

@seldondev
Copy link
Collaborator

Sat Sep 5 07:17:54 UTC 2020
The logs for [lint] [6] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/6.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=6

@seldondev
Copy link
Collaborator

Sat Sep 5 08:23:25 UTC 2020
The logs for [lint] [8] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/8.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=8

@seldondev
Copy link
Collaborator

Sat Sep 5 08:23:34 UTC 2020
The logs for [pr-build] [7] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/7.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=7

@ukclivecox ukclivecox changed the title WIP: V2 Dataplane in Executor/Operator + Triton Server V2 Dataplane in Executor/Operator + Triton Server Sep 5, 2020
@seldondev
Copy link
Collaborator

Sat Sep 5 10:40:42 UTC 2020
The logs for [pr-build] [9] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/9.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=9

@seldondev
Copy link
Collaborator

Sat Sep 5 10:40:42 UTC 2020
The logs for [lint] [10] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/10.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=10

@seldondev
Copy link
Collaborator

Tue Sep 22 10:47:05 UTC 2020
The logs for [pr-build] [29] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/29.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=29

@seldondev
Copy link
Collaborator

Tue Sep 22 10:47:12 UTC 2020
The logs for [lint] [30] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/30.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=30

@seldondev
Copy link
Collaborator

Tue Sep 22 12:46:06 UTC 2020
The logs for [lint] [32] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/32.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=32

@seldondev
Copy link
Collaborator

Tue Sep 22 12:46:09 UTC 2020
The logs for [pr-build] [31] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/31.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=31

@ukclivecox
Copy link
Contributor Author

/test integration

@ukclivecox
Copy link
Contributor Author

/test notebooks

@seldondev
Copy link
Collaborator

Tue Sep 22 13:07:41 UTC 2020
The logs for [integration] [33] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/33.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=33

@seldondev
Copy link
Collaborator

Tue Sep 22 13:07:52 UTC 2020
The logs for [notebooks] [34] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/34.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=34

@seldondev
Copy link
Collaborator

Tue Sep 22 19:32:53 UTC 2020
The logs for [lint] [36] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/36.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=36

@seldondev
Copy link
Collaborator

Tue Sep 22 19:32:55 UTC 2020
The logs for [pr-build] [35] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/35.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=35

@ukclivecox
Copy link
Contributor Author

/test integration

@ukclivecox
Copy link
Contributor Author

/test notebooks

@seldondev
Copy link
Collaborator

Tue Sep 22 22:38:05 UTC 2020
The logs for [integration] [37] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/37.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=37

@seldondev
Copy link
Collaborator

Tue Sep 22 22:38:28 UTC 2020
The logs for [notebooks] [38] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/38.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=38

@seldondev
Copy link
Collaborator

@cliveseldon: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
integration 747fc45 link /test integration

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 jenkins-x/lighthouse repository. I understand the commands that are listed here.

Copy link
Contributor

@axsaucedo axsaucedo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! I added a couple of points/questions

@@ -2,6 +2,7 @@ package api

const ProtocolSeldon = "seldon"
const ProtocolTensorflow = "tensorflow"
const ProtocolKFserving = "kfserving"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: KFserving -> KfServing/KFServing

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they are all lowercase

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh i meant ProtocolKFserving -> ProtocolKFServing

executor/api/grpc/kfserving/client.go Show resolved Hide resolved
grpc.WithInsecure(),
}
opts = append(opts, grpc2.AddClientInterceptors(s.Predictor, s.DeploymentName, modelName, s.annotations, s.Log))
conn, err := grpc.Dial(fmt.Sprintf("%s:%d", host, port), opts...)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems first iteration won't have ssl, which is reasonable - but may be worth mentioning briefly on docs or failing in the operator if ssl is enabled with protocl kfserving

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see SSL on any of the grpc clients. Sounds like this is a wider issue to address?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah sounds good, I think we can just open a gh issue

panic("implement me")
}

func (g GrpcKFServingServer) ModelMetadata(ctx context.Context, request *inference.ModelMetadataRequest) (*inference.ModelMetadataResponse, error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems in the client, model metadata is not implemented, but metadata is - would this not be using th emodelMetadata function instead of the metadata function?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I understand it client modelMetaData is only used by the Seldon specific Graph Metadata call. But I agree this terminology is confusing.

@@ -160,6 +159,12 @@ func (r *SeldonRestApi) Initialise() {
r.Router.NewRoute().Path("/v1/models:predict").Methods("OPTIONS", "POST").HandlerFunc(r.wrapMetrics(metric.PredictionHttpServiceName, r.predictions)) // Nonstandard path - Seldon extension
r.Router.NewRoute().Path("/v1/models/{"+ModelHttpPathVariable+"}").Methods("GET", "OPTIONS").HandlerFunc(r.wrapMetrics(metric.StatusHttpServiceName, r.status))
r.Router.NewRoute().Path("/v1/models/{"+ModelHttpPathVariable+"}/metadata").Methods("GET", "OPTIONS").HandlerFunc(r.wrapMetrics(metric.MetadataHttpServiceName, r.metadata))
case api.ProtocolKFserving:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems metadata is implemented but not defined here, is that intentional?

@seldondev
Copy link
Collaborator

Wed Sep 23 07:59:01 UTC 2020
The logs for [pr-build] [39] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/39.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=39

@seldondev
Copy link
Collaborator

Wed Sep 23 07:59:10 UTC 2020
The logs for [lint] [40] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/40.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=40

@seldondev
Copy link
Collaborator

Wed Sep 23 08:42:19 UTC 2020
The logs for [pr-build] [41] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/41.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=41

@seldondev
Copy link
Collaborator

Wed Sep 23 08:42:29 UTC 2020
The logs for [lint] [42] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/42.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=42

@seldondev
Copy link
Collaborator

Wed Sep 23 08:45:33 UTC 2020
The logs for [pr-build] [43] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/43.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=43

@seldondev
Copy link
Collaborator

Wed Sep 23 08:46:23 UTC 2020
The logs for [lint] [44] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2023/44.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2023 --build=44

@axsaucedo axsaucedo merged commit 02f6bd0 into SeldonIO:master Sep 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support NVIDIA/KFServing V2 Data Plane
5 participants