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

Add versions v1 and v1alpha3 to CRD #1229

Merged
merged 12 commits into from Dec 13, 2019

Conversation

adriangonz
Copy link
Contributor

@adriangonz adriangonz commented Dec 10, 2019

Fixes #890.
Fixes #1100.

Changelog

  • Add versions v1 and v1alpha3 of CRD.
  • Set version v1 as storage version.
  • Rename previous imports of v1alpha2 to v1.

TODO

  • Add integration and unit tests across different versions of the CRD
  • Reduce code duplication by importing from v1 (or from outside)
    We will raise this as a separate issue, which will involve refactoring the webhooks and types so that they can get imported in v1alpha2 and v1alpha3 (from v1).

Note on webhooks

We only need to set up webhooks for the stored version. However, Seldon Core 0.4.1 seems to use v1alpha3 for storage and Seldon Core 0.5.x uses v1alpha2 for storage. Therefore, the webhooks for each apiVersion (e.g. /mutate-machinelearning-seldon-io-v1alpha2-seldondeployment) also need to be registered.

This is necessary for the SeldonDeployment instances to update from v1alpha2 + v1alpha3 to v1.

On a future version of Seldon Core (e.g. 1.1), we will be able to remove the v1alpha2 and v1alpha3 altogether. Or at least assume that they are not used for storage. This will enable us to unregister their respective webhooks.

@seldondev
Copy link
Collaborator

Tue Dec 10 09:54:45 UTC 2019
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-1229/1.log

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

@seldondev
Copy link
Collaborator

Tue Dec 10 09:54:50 UTC 2019
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-1229/2.log

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

@seldondev
Copy link
Collaborator

Tue Dec 10 15:30:32 UTC 2019
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-1229/5.log

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

@seldondev
Copy link
Collaborator

Tue Dec 10 15:30:53 UTC 2019
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-1229/6.log

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

@seldondev
Copy link
Collaborator

Tue Dec 10 17:57:25 UTC 2019
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-1229/9.log

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

@seldondev
Copy link
Collaborator

Tue Dec 10 17:57:39 UTC 2019
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-1229/10.log

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

@seldondev
Copy link
Collaborator

Wed Dec 11 09:19:31 UTC 2019
The logs for [pr-build] [11] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/11.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=11

@seldondev
Copy link
Collaborator

Wed Dec 11 09:19:37 UTC 2019
The logs for [lint] [12] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/12.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=12

@seldondev
Copy link
Collaborator

Wed Dec 11 13:29:45 UTC 2019
The logs for [lint] [14] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/14.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=14

@seldondev
Copy link
Collaborator

Wed Dec 11 13:29:46 UTC 2019
The logs for [pr-build] [13] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/13.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=13

@seldondev
Copy link
Collaborator

Wed Dec 11 14:43:29 UTC 2019
The logs for [pr-build] [15] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/15.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=15

@seldondev
Copy link
Collaborator

Wed Dec 11 14:43:45 UTC 2019
The logs for [lint] [16] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/16.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=16

@seldondev
Copy link
Collaborator

Wed Dec 11 17:40:13 UTC 2019
The logs for [lint] [18] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/18.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=18

@seldondev
Copy link
Collaborator

Wed Dec 11 17:40:20 UTC 2019
The logs for [pr-build] [17] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/17.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=17

@adriangonz
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Wed Dec 11 17:49:16 UTC 2019
The logs for [integration] [19] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/19.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=19

@adriangonz adriangonz changed the title WIP : Add versions v1 and v1alpha3 to CRD Add versions v1 and v1alpha3 to CRD Dec 11, 2019
@seldondev
Copy link
Collaborator

Wed Dec 11 18:23:58 UTC 2019
The logs for [lint] [21] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/21.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=21

@seldondev
Copy link
Collaborator

Wed Dec 11 18:24:01 UTC 2019
The logs for [pr-build] [20] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/20.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=20

@adriangonz
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Wed Dec 11 18:30:18 UTC 2019
The logs for [integration] [22] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/22.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=22

@adriangonz
Copy link
Contributor Author

/cc @axsaucedo @ryandawsonuk @cliveseldon

If the integration tests pass, I think this is good to go now. I've added a couple of tests checking that:

  • We can deploy models using all three versions: v1, v1alpha2 and v1alpha3
  • We can update a model's apiVersion from v1alpha2 -> v1 and v1alpha3 -> v1

@seldondev
Copy link
Collaborator

Wed Dec 11 20:57:21 UTC 2019
The logs for [integration] [23] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/23.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=23

@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

@adriangonz
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Thu Dec 12 09:08:20 UTC 2019
The logs for [integration] [24] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/24.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=24

@ukclivecox
Copy link
Contributor

/retest

@seldondev
Copy link
Collaborator

Thu Dec 12 09:41:44 UTC 2019
The logs for [integration] [25] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/25.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=25

@ryandawsonuk
Copy link
Contributor

So the previous run there was 1 failure and this run (with no code changes) there are 2

@ryandawsonuk
Copy link
Contributor

The 504 is on test_rolling_update5 both times

@seldondev
Copy link
Collaborator

Fri Dec 13 10:50:03 UTC 2019
The logs for [pr-build] [26] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/26.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=26

@seldondev
Copy link
Collaborator

Fri Dec 13 10:50:09 UTC 2019
The logs for [lint] [27] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-1229/27.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-1229 --build=27

@adriangonz
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Fri Dec 13 10:54:01 UTC 2019
The logs for [integration] [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-1229/28.log

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

@seldondev
Copy link
Collaborator

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

Test name Commit Details Rerun command
integration 645a1e1 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.

@adriangonz adriangonz merged commit f1098b2 into SeldonIO:master Dec 13, 2019
@adriangonz adriangonz deleted the upgrade-crd-v1 branch December 13, 2019 11:26
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.

Move CRD to v1 Helm Upgrade Process
4 participants