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

remove mutating webhook from Seldon Core Operator #2852

Merged
merged 1 commit into from
Jan 26, 2021
Merged

remove mutating webhook from Seldon Core Operator #2852

merged 1 commit into from
Jan 26, 2021

Conversation

RafalSkolasinski
Copy link
Contributor

@RafalSkolasinski RafalSkolasinski commented Jan 18, 2021

What this PR does / why we need it:

This removes the mutating webhook: Mutatingwebhookconfigurations is not installed into the cluster.
From now on, the SeldonDeployment resource written to etcd of k8s will be exactly the same as resource applied by the user.

This will simplify GitOps operations as the parity between applied and visible resources will be present.
To see extra information that was written into CR before one can take a look at the generated deployments.
They will contain all information about the assigned ports, init containers, etc.

Which issue(s) this PR fixes:

Closes #2817
Closes #2811

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

Mutating Webhook is removed. `SeldonDeployment` Resource is written to `etcd` without any alterations.

@RafalSkolasinski RafalSkolasinski marked this pull request as draft January 18, 2021 18:52
@seldondev
Copy link
Collaborator

Mon Jan 18 18:53:55 UTC 2021
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-2852/2.log

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

@seldondev
Copy link
Collaborator

Mon Jan 18 18:54:11 UTC 2021
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-2852/1.log

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

@seldondev
Copy link
Collaborator

Mon Jan 18 18:57:03 UTC 2021
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-2852/3.log

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

@seldondev
Copy link
Collaborator

Mon Jan 18 18:57:16 UTC 2021
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-2852/4.log

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

@seldondev
Copy link
Collaborator

Mon Jan 18 18:59:25 UTC 2021
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-2852/5.log

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

@seldondev
Copy link
Collaborator

Mon Jan 18 18:59:32 UTC 2021
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-2852/6.log

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

@RafalSkolasinski
Copy link
Contributor Author

/test integration
/test notebooks

@seldondev
Copy link
Collaborator

Tue Jan 19 10:38:43 UTC 2021
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-2852/8.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 10:38:42 UTC 2021
The logs for [integration] [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-2852/10.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 10:38:40 UTC 2021
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-2852/7.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 10:38:48 UTC 2021
The logs for [notebooks] [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-2852/9.log

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

@RafalSkolasinski RafalSkolasinski changed the title initial attempt to remove mutating webhook remove mutating webhook from Seldon Core Operator Jan 19, 2021
@RafalSkolasinski RafalSkolasinski marked this pull request as ready for review January 19, 2021 10:46
@@ -540,18 +547,6 @@ func (r *SeldonDeploymentSpec) ValidateSeldonDeployment() error {

// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!

// +kubebuilder:webhook:path=/mutate-machinelearning-seldon-io-v1-seldondeployment,mutating=true,failurePolicy=fail,sideEffects=None,groups=machinelearning.seldon.io,resources=seldondeployments,verbs=create;update,versions=v1,name=v1.mseldondeployment.kb.io
Copy link
Contributor

Choose a reason for hiding this comment

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

All the code related to the webhook should be removed as well, as there are several functions in this file which would no longer be called

Copy link
Contributor

Choose a reason for hiding this comment

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

We need to keep the mutating functionality which is called from Reconcile

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok makes sense, although it woudl still be worth moving it from the webhook file as it would no longer be used by the webhook itself

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually the code will be required in the webhooks -> validating webhooks were receiving defaulted resource before.
Now they need to apply defaulting on their own before validating -> I suspect that was the reason why tests failed in previous run.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is now moved into a file containing actual types.

@RafalSkolasinski
Copy link
Contributor Author

Seems integration tests are not going well

23 failed, 12 passed

gonna have to look locally into them

@seldondev
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign axsaucedo
You can assign the PR to them by writing /assign @axsaucedo in a comment when ready.

The full list of commands accepted by this bot can be found 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

@RafalSkolasinski
Copy link
Contributor Author

Let's hope it is fixed now.
/test integration

@seldondev
Copy link
Collaborator

Tue Jan 19 12:04:01 UTC 2021
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-2852/12.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 12:04:05 UTC 2021
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-2852/11.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 12:06:38 UTC 2021
The logs for [integration] [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-2852/13.log

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

@RafalSkolasinski
Copy link
Contributor Author

Only 13 failures now...

@RafalSkolasinski
Copy link
Contributor Author

/test integration

@seldondev
Copy link
Collaborator

Tue Jan 19 15:47:26 UTC 2021
The logs for [pr-build] [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-2852/14.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 15:47:40 UTC 2021
The logs for [integration] [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-2852/16.log

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

@seldondev
Copy link
Collaborator

Tue Jan 19 15:47:43 UTC 2021
The logs for [lint] [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-2852/15.log

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

@seldondev
Copy link
Collaborator

Fri Jan 22 12:10:19 UTC 2021
The logs for [integration] [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-2852/30.log

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

@RafalSkolasinski
Copy link
Contributor Author

had to rebase on master
/test integration
/test notebooks

@seldondev
Copy link
Collaborator

Fri Jan 22 14:10:26 UTC 2021
The logs for [integration] [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-2852/34.log

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

@seldondev
Copy link
Collaborator

Fri Jan 22 14:10:27 UTC 2021
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-2852/32.log

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

@seldondev
Copy link
Collaborator

Fri Jan 22 14:10:35 UTC 2021
The logs for [notebooks] [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-2852/33.log

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

@seldondev
Copy link
Collaborator

Fri Jan 22 14:10:37 UTC 2021
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-2852/31.log

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

@RafalSkolasinski
Copy link
Contributor Author

/retest

@seldondev
Copy link
Collaborator

Fri Jan 22 18:14:53 UTC 2021
The logs for [integration] [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-2852/35.log

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

@RafalSkolasinski
Copy link
Contributor Author

something had to go wrong during rebase, gonna fix on Monday

@RafalSkolasinski
Copy link
Contributor Author

/retest

@seldondev
Copy link
Collaborator

Fri Jan 22 20:42:46 UTC 2021
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-2852/36.log

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

@RafalSkolasinski
Copy link
Contributor Author

/retest

@seldondev
Copy link
Collaborator

Sat Jan 23 17:14:22 UTC 2021
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-2852/37.log

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

@RafalSkolasinski
Copy link
Contributor Author

/retest

@seldondev
Copy link
Collaborator

Mon Jan 25 09:41:04 UTC 2021
The logs for [integration] [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-2852/38.log

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

@RafalSkolasinski
Copy link
Contributor Author

RafalSkolasinski commented Jan 26, 2021

currently blocked by #2886, need to be rebased once #2886 is merged

unblocked

@RafalSkolasinski
Copy link
Contributor Author

/test integration
/test notebooks

@seldondev
Copy link
Collaborator

Tue Jan 26 14:01:07 UTC 2021
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-2852/40.log

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

@seldondev
Copy link
Collaborator

Tue Jan 26 14:01:22 UTC 2021
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-2852/39.log

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

@seldondev
Copy link
Collaborator

Tue Jan 26 14:02:48 UTC 2021
The logs for [integration] [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-2852/42.log

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

@seldondev
Copy link
Collaborator

Tue Jan 26 14:02:59 UTC 2021
The logs for [notebooks] [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-2852/41.log

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

@RafalSkolasinski
Copy link
Contributor Author

Rebased onto master, nicely squashed commit and also tested once again locally that mutatingwebhook is not getting created.
Running tests in CI - should be good to merge after.

@cliveseldon, don't know if you want to have a final look over the changes?

@RafalSkolasinski
Copy link
Contributor Author

Hmm... notebook tests failed on installation of istio

✘ Addons encountered an error: failed to wait for resource: resources not ready after 5m0s: timed out waiting for the condition
Deployment/istio-system/grafana
- Pruning removed resourcesError: failed to apply manifests: errors occurred during operation
make: *** [Makefile:107: install_istio] Error 1
Kind setup returned errors

/retest

@seldondev
Copy link
Collaborator

Tue Jan 26 15:08:49 UTC 2021
The logs for [notebooks] [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-2852/43.log

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

@RafalSkolasinski
Copy link
Contributor Author

/retest

@seldondev
Copy link
Collaborator

Tue Jan 26 16:41:28 UTC 2021
The logs for [notebooks] [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-2852/44.log

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

@RafalSkolasinski
Copy link
Contributor Author

All testes passed!!! Let's land this 🚀

@axsaucedo
Copy link
Contributor

Nice one

@axsaucedo axsaucedo merged commit fbf7a77 into SeldonIO:master Jan 26, 2021
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.

remove mutating webhook ArgoCD OutOfSync if SeldonDeployment includes mountpoint
4 participants