-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Upgrade knative -> 0.18 #3319
Upgrade knative -> 0.18 #3319
Conversation
Hi @eddie4941. Thanks for your PR. I'm waiting for a tektoncd 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. |
I tested this with older clusters to make sure the new changes didn't break anything. The results: version info: $ kb version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-16T00:04:31Z", GoVersion:"go1.14.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.3", GitCommit:"06ad960bfd03b39c8310aaf92d1e7c12ce618213", GitTreeState:"clean", BuildDate:"2020-02-11T18:07:13Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"} Tekton off of master (8ecaa29) includes the $ http :9090/metrics | grep webhook_request_latencies_bucket | wc -l
85
$ http :9090/metrics | grep webhook_request_latencies_bucket | grep 'resource_name=' | wc -l
85 Tekton with new changes doesn't include the $ http :9090/metrics | grep webhook_request_latencies_bucket | wc -l
85
$ http :9090/metrics | grep webhook_request_latencies_bucket | grep 'resource_name=' | wc -l
0 |
/kind feature |
/ok-to-test |
7c81d27
to
01146bc
Compare
/hold |
477ddcc
to
814aa62
Compare
FWIW: I was literally just about to start this and my spidey sense prompted me to go look for a PR 🎉 Looking over this I am actually really glad someone else did this as it looks like it required a lot of changes, so thanks for picking up this particularly nasty change 😅 @vdemeester is there a date for 17? |
I bumped triggers here (imports this): tektoncd/triggers#784 |
Tomorrow 😉 |
@vdemeester Let me know when this is all good to go. In the meantime, Ill try my best to keep it rebased and up to date. |
It should also fix #3237 if I am not wrong. |
/hold cancel |
/lgtm |
If we can land this, then I will try to fix up my triggers and CLI PRs today/tomorrow |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: vdemeester 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 |
@eddie4941 looks like a merge conflict
|
I thought the fix for this was in knative/pkg v0.17 which is already in tektoncd/pipeline v0.17.... but it looks like it is not.... I just tried on my v0.17 cluster. |
The newest knative/pkg release has released some change to how metrics are generated. In particular, the new code stops generating a metrics for every resource that is reconciled. This dramatically reduces the metrics cardinality for the webhook. This ultimately reduces amount of memory required by the webhook daemons and greatly improves the usability of the /metrics endpoint as it will not longer return a metrics for every resource that is reconciled. fixes: tektoncd#2872
knative/pkg v0.18 requires the k8s deps of version v0.18.8 or higher. Breaking changes were introduced in some of the k8s deps with version v0.18.8. In particular, client-go v0.18.8 introduced some breaking changes to its apis, so we need to update the version of k8s deps that we use so so that we are compatible with knative/pgk v0.18.
client-go v0.18.8 has different apis which are incompatible with version v0.1.2 of the go-containerregistry module. This updates the go-containerregistry module to v0.1.3 which supports the new client-go apis brought in v0.18.8
client-go v0.18.8 changed all the client functions to take a context.Context parameter. This updates the code to pass the context.Context parameter so that it is compatible with client-go v0.18.8. No functional changes were made with this change.
814aa62
to
118e910
Compare
/lgtm thanks again! 🎉 |
Changes
The newest knative/pkg release has released some change to how metrics
are generated. In particular, the new code stops generating a metrics
for every resource that is reconciled. This dramatically reduces the
metrics cardinality for the webhook. This ultimately
reduces amount of memory required by the webhook daemons and
greatly improves the usability of the /metrics endpoint as it will not
longer return a metrics for every resource that is reconciled.
fixes: #2872
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:
See the contribution guide for more details.
Double check this list of stuff that's easy to miss:
cmd
dir, please updatethe release Task to build and release this image.
Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes