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

Basic support for Cloudevents with KNative Eventing Example #1572

Merged
merged 31 commits into from
Mar 30, 2020

Conversation

axsaucedo
Copy link
Contributor

@axsaucedo axsaucedo commented Mar 21, 2020

[PR is currently blocked by https://github.com/kubernetes-sigs/controller-tools/issues/391]

This PR contains basic support for cloudevents with knative eventing, including:

  • Executor returns Cloudevent headers by default
  • Standardised type and source for triggers to be created aligned to each seldon deployment
  • Addition of duckv1.Addressable for duck typing when trigger references SeldonDeployment
  • Example notebook that shows how to leverage this knative basic flow

Key things to consider:

  • Currently duckv1.Addressable points to the predictions endpoint, and not to explanations, meta, etc
  • Without Ingress, it becomes ambiguous which predictor to expose as duckv1.Addressable
  • If authentication is enabled on ingress, it would become a challenge for the current setup (although it could be set up to manually reach for a custom endpoint)
  • It could also be possible to automatically create the triggers given that the types are now standardised as seldon.<deploymentname>.request (and suffix changes to .response for the return value)

Outstanding:

  • Add test to function that creates addressable resources
  • Add test that ensures header object always initialised with deploymentName
  • Confirm Ambassador flow (as there is option for non namespaced)
  • Confirm whether we want to have dynamic service URI discrovery for ambassador and istio
  • Generate CRDs with new properties

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

You'll be able to see Jupyter notebook diff and discuss changes. Powered by ReviewNB.

@axsaucedo axsaucedo removed the request for review from arnaudvl March 21, 2020 15:13
@seldondev
Copy link
Collaborator

Sat Mar 21 15:14:25 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-1572/1.log

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

@seldondev
Copy link
Collaborator

Sat Mar 21 15:14:28 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-1572/2.log

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

@seldondev
Copy link
Collaborator

Mon Mar 23 18:37:46 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-1572/4.log

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

@seldondev
Copy link
Collaborator

Mon Mar 23 18:38:17 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-1572/3.log

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

@seldondev
Copy link
Collaborator

Mon Mar 23 18:53:22 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-1572/6.log

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

@seldondev
Copy link
Collaborator

Mon Mar 23 18:53:31 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-1572/5.log

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

@axsaucedo
Copy link
Contributor Author

I have run into a blocker that doesn't allow the build of the controller, currently an open issue here: kubernetes-sigs/controller-tools#391

@seldondev
Copy link
Collaborator

Sat Mar 28 13:00:23 UTC 2020
The logs for [lint] [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-1572/29.log

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

@seldondev
Copy link
Collaborator

Sat Mar 28 13:01:30 UTC 2020
The logs for [pr-build] [28] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1572/28.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1572 --build=28

@seldondev
Copy link
Collaborator

Sat Mar 28 13:45:28 UTC 2020
The logs for [pr-build] [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-1572/30.log

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

@seldondev
Copy link
Collaborator

Sat Mar 28 13:46:31 UTC 2020
The logs for [lint] [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-1572/31.log

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

@seldondev
Copy link
Collaborator

Sat Mar 28 13:49:54 UTC 2020
The logs for [lint] [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-1572/33.log

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

@seldondev
Copy link
Collaborator

Sat Mar 28 13:49:55 UTC 2020
The logs for [pr-build] [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-1572/32.log

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

@axsaucedo
Copy link
Contributor Author

@cliveseldon all comments have been resolved, it no longer reaches directly to the ingress (and reaches to the service itself), and the cloud events are only returned for cloud event types.

@seldondev
Copy link
Collaborator

Mon Mar 30 15:13:55 UTC 2020
The logs for [pr-build] [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-1572/34.log

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

@seldondev
Copy link
Collaborator

Mon Mar 30 15:13:56 UTC 2020
The logs for [lint] [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-1572/35.log

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

@axsaucedo
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Mon Mar 30 15:15:49 UTC 2020
The logs for [integration] [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-1572/36.log

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

@ukclivecox
Copy link
Contributor

@axsaucedo A few small comments and then I think we are close to merge

@axsaucedo
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Mon Mar 30 16:53:49 UTC 2020
The logs for [pr-build] [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-1572/37.log

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

@seldondev
Copy link
Collaborator

Mon Mar 30 16:54:10 UTC 2020
The logs for [lint] [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-1572/38.log

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

@seldondev
Copy link
Collaborator

Mon Mar 30 16:54:37 UTC 2020
The logs for [integration] [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-1572/39.log

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

@seldondev
Copy link
Collaborator

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

Test name Commit Details Rerun command
integration bcbbc3f 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 kubernetes/test-infra repository. I understand the commands that are listed here.

@ukclivecox
Copy link
Contributor

/approve

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cliveseldon

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ukclivecox ukclivecox merged commit df3a57d into SeldonIO:master Mar 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants