-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[release-0.17] ⚠ 🐛 Fakeclient: Do not consider an apply patch to be a strategic merge patch #2681
[release-0.17] ⚠ 🐛 Fakeclient: Do not consider an apply patch to be a strategic merge patch #2681
Conversation
…ge patch The fakeclient currently considers an apply patch to be a strategic merge patch. This is completely wrong, those are different things and apply patches are not supported in the fakeclientl, because in order to support them it would need the entire SSA logic which isn't implemented in upstream yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
/assign @vincepri @sbueringer
WDYT? This could technically be breaking, but if anyone relied on the previous behavior it means that their tests have nothing to do with reality
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alvaroaleman, k8s-infra-cherrypick-robot 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 |
Sounds good to me! Thx for catching this /lgtm |
/hold cancel |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sigs.k8s.io/controller-runtime](https://togithub.com/kubernetes-sigs/controller-runtime) | `v0.16.3` -> `v0.17.2` | [![age](https://developer.mend.io/api/mc/badges/age/go/sigs.k8s.io%2fcontroller-runtime/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/sigs.k8s.io%2fcontroller-runtime/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/sigs.k8s.io%2fcontroller-runtime/v0.16.3/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/sigs.k8s.io%2fcontroller-runtime/v0.16.3/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>kubernetes-sigs/controller-runtime (sigs.k8s.io/controller-runtime)</summary> ### [`v0.17.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.17.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.17.1...v0.17.2) #### What's Changed - ⚠ 🐛 Fakeclient: Do not consider an apply patch to be a strategic merge patch by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2681](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2681) - 🐛 Fix lazy rest mapper cache invalidation by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2688](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2688) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.17.1...v0.17.2 ### [`v0.17.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.17.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.17.0...v0.17.1) ##### What's Changed - 🐛 Clean restmapper cache if a version is notFound by [@​k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2676](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2676) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.17.0...v0.17.1 ### [`v0.17.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.17.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.5...v0.17.0) ####⚠️ Breaking Changes - Fake client: Only set TypeMeta for unstructured ([#​2633](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2633)) - Update k8s.io/\* deps to 1.29 ([#​2457](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2457) [#​2500](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2500) [#​2553](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2553) [#​2588](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2588) [#​2612](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2612) [#​2615](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2615) [#​2621](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2621)) - Remove apiutil.NewDiscoveryRESTMapper, use DynamicRESTMapper by default for cache ([#​2611](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2611)) - RESTMapper: don't treat non-existing GroupVersions as errors ([#​2571](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2571)) - Webhooks: Deprecate admission.Validator and admission.Defaulter ([#​2639](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2639)) - Webhooks: Limit size of AdmissionRequests to 7MB and size of TokenReviews to 1MB ([#​2598](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2598)) #### ✨ New Features - Cache: Allow defining options that apply to all namespaces without explicit config ([#​2528](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2528)) - Cache: Allow to remove informers ([#​2285](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2285)) - Cache: Add option to set WatchErrorHandler on informers ([#​2494](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2494)) - Client: client.MatchingFields now supports multiple indexes ([#​2512](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2512)) - Fake client: Add flowcontrol api v1 ([#​2623](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2623)) - Reconciler: Add reconcile.ObjectReconciler ([#​2592](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2592)) #### 🐛 Bug Fixes - Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true ([#​2461](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2461)) - Cache: Default namespace only for namespaced object ([#​2480](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2480)) - Client: Don't truncate large int64s in MergePatch ([#​2650](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2650)) - controllerutil: Add `RemoveControllerReference` and `HasControllerReference` func ([#​2509](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2509) [#​2595](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2595)) - controllerutil: Add `RemoveOwnerReference` func ([#​2462](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2462)) - Dependencies: Refactor tests to drop hard otel dependency ([#​2460](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2460)) - Envtest: CRDs that aren't convertible should unset spec.conversion ([#​2525](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2525)) - Fake client: Correctly identify if patch call was made on status ([#​2508](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2508)) - Fake client: Do not update anything but status when using subresource client ([#​2479](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2479)) - Fake client: Fix returning object after status update ([#​2489](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2489)) - Fake client: Fix status subresource getting updated on Update when it is empty ([#​2484](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2484)) - Fake client: Handle unstructured status update with fake client ([#​2495](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2495)) - Manager: Fix goroutine leak ([#​2527](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2527)) - Manager: Use HTTP client from leaderElectionConfig for leader election recorder provider ([#​2464](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2464)) - RESTMapper: Return NoResourceMatchError when appropriate for backwards compatibility. ([#​2472](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2472)) - Webhook: Handle http.NoBody ([#​2605](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2605)) #### 🌱 Others - Client: Make client.MatchingLabels faster ([#​2529](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2529)) - Envtest: Allow to ignore scheme.Convertible check for CRDs ([#​2555](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2555)) - Envtest: Improve process cleanup ([#​2560](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2560)) - Metrics: Add 100/1000s buckets for Prometheus workqueue histograms ([#​2638](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2638)) - Metrics: Avoid dependency on apiserver/options if metrics/filters are used ([#​2645](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2645)) - Replace k8s.io/utils/pointer with k8s.io/utils/ptr ([#​2488](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2488)) - Webhooks: Cleanup webhook variable assignment ([#​2604](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2604)) #### 🌱 Dependencies - Bump github.com/emicklei/go-restful/v3 from v3.9.0 to 3.11.0 ([#​2507](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2507)) - Bump github.com/evanphx/json-patch from 5.6.0+incompatible to 4.12.0+incompatible ([#​2501](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2501) [#​2643](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2643)) - Note: We "downgraded" to v4.12.0+incompatible because it is actually newer than v5.6.0+incompatible and to make sure the code in fake client that is using this dependency behaves exactly the same as the corresponding upstream code. We recommend users to either use github.com/evanphx/json-patch@v4.12.0+incompatible or to upgrade to github.com/evanphx/json-patch/v5@​v5.8.0. More details can be fou[https://github.com/kubernetes-sigs/controller-runtime/pull/2643#discussion_r1446189655](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2643#discussion_r1446189655)189655. - Bump github.com/evanphx/json-patch/v5 from 5.6.0 to 5.8.0 ([#​2499](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2499) [#​2650](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2650)) - Bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 ([#​2561](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2561)) - Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 ([#​2566](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2566) [#​2630](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2630)) - Bump github.com/go-logr/zapr from 1.2.4 to 1.3.0 ([#​2574](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2574)) - Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 ([#​2545](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2545)) - Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.14.0 ([#​2458](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2458) [#​2514](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2514) [#​2534](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2534) [#​2578](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2578) [#​2610](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2610) [#​2651](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2651)) - Bump github.com/onsi/gomega from 1.27.10 to 1.30.0 ([#​2521](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2521) [#​2562](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2562) [#​2568](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2568) [#​2579](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2579)) - Bump github.com/prometheus/client_golang from 1.16.0 to 1.18.0 ([#​2520](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2520) [#​2632](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2632)) - Bump github.com/prometheus/client_model from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0 ([#​2535](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2535)) - Bump go.uber.org/goleak from 1.2.1 to 1.3.0 ([#​2569](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2569)) - Bump go.uber.org/zap from 1.25.0 to 1.26.0 ([#​2502](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2502)) - Bump golang.org/x/net to 0.17.0 ([#​2540](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2540)) - Bump golang.org/x/sys from 0.11.0 to 0.16.0 ([#​2470](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2470) [#​2533](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2533) [#​2572](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2572) [#​2597](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2597) [#​2642](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2642)) - Bump k8s.io/klog/v2 from 2.100.1 to 2.110.1 ([#​2573](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2573)) - Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 ([#​2567](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2567)) - Bump controller-tools from v0.13.0 to v0.14.0 ([#​2649](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2649)) - Bump go-apidiff from v0.5.0 to v0.8.2 ([#​2517](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2517) [#​2655](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2655)) - Upgrade dependencies for hack/tools and tools/ ([#​2517](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2517)) - Bump kubernetes-sigs/kubebuilder-release-tools from 0.3.0 to 0.4.3 ([#​2532](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2532) [#​2575](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2575) [#​2618](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2618)) - Bump golang version in GH actions ([#​2609](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2609)) - Bump actions/checkout from 3 to 4 ([#​2469](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2469)) - Bump actions/setup-go from 4 to 5 ([#​2617](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2617)) - Bump envtest to 1.28.0 ([#​2531](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2531)) :book: Additionally, there have been 5 contributions to our documentation. ([#​2497](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2497), [#​2498](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2498), [#​2538](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2538), [#​2599](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2599), [#​2602](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2602), [#​2635](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2635) [#​2647](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2647)) *Thanks to all our contributors!* 😊 ### [`v0.16.5`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.5) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.4...v0.16.5) #### What's Changed - 🐛 Fix lazy rest mapper cache invalidation by [@​g-gaston](https://togithub.com/g-gaston) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2689](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2689) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.16.4...v0.16.5 ### [`v0.16.4`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.4) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.3...v0.16.4) #### What's Changed - 🏃 Make client.MatchingLabels faster by [@​samuelvl](https://togithub.com/samuelvl) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2613](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2613) - 🐛 Avoid extra calls for not found resource by [@​g-gaston](https://togithub.com/g-gaston) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2677](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2677) #### New Contributors - [@​samuelvl](https://togithub.com/samuelvl) made their first contribution in [https://github.com/kubernetes-sigs/controller-runtime/pull/2613](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2613) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.16.3...v0.16.4 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
We got hit by this. kubernetes-sigs/kueue#1800. I tried the workaround of creating a fake interceptor for SSA but that doesn't seem to work now.
|
We were aware of the limitations of the strategic merge patch to represent Apply, but it was working for our use case, when we are not testing against multiple managers. This shouldn't have been included in a patch release for sure. |
Would you accept a PR that allows to create a fake client where Apply is treated as strategic merge patch? Not the default, of course. |
No. That is straight up wrong. An apply patch is not a strategic merge patch. It was completely wrong that this was ever done that way and I apologize for that. The fake client shouldn't claim it does something when it does something else. That gives an incorrect signal in unit tests. If you are confident you know how apply behaves in your context, you can use |
Thanks, I wasn't aware of that mechanism. That should be enough for us. |
…ry#31348) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [sigs.k8s.io/controller-runtime](https://togithub.com/kubernetes-sigs/controller-runtime) | `v0.16.3` -> `v0.17.2` | [![age](https://developer.mend.io/api/mc/badges/age/go/sigs.k8s.io%2fcontroller-runtime/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/sigs.k8s.io%2fcontroller-runtime/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/sigs.k8s.io%2fcontroller-runtime/v0.16.3/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/sigs.k8s.io%2fcontroller-runtime/v0.16.3/v0.17.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>kubernetes-sigs/controller-runtime (sigs.k8s.io/controller-runtime)</summary> ### [`v0.17.2`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.17.2) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.17.1...v0.17.2) #### What's Changed - ⚠ 🐛 Fakeclient: Do not consider an apply patch to be a strategic merge patch by [@&open-telemetry#8203;k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2681](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2681) - 🐛 Fix lazy rest mapper cache invalidation by [@&open-telemetry#8203;k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2688](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2688) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.17.1...v0.17.2 ### [`v0.17.1`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.17.1) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.17.0...v0.17.1) ##### What's Changed - 🐛 Clean restmapper cache if a version is notFound by [@&open-telemetry#8203;k8s-infra-cherrypick-robot](https://togithub.com/k8s-infra-cherrypick-robot) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2676](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2676) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.17.0...v0.17.1 ### [`v0.17.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.17.0) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.5...v0.17.0) ####⚠️ Breaking Changes - Fake client: Only set TypeMeta for unstructured ([#&open-telemetry#8203;2633](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2633)) - Update k8s.io/\* deps to 1.29 ([#&open-telemetry#8203;2457](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2457) [#&open-telemetry#8203;2500](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2500) [#&open-telemetry#8203;2553](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2553) [#&open-telemetry#8203;2588](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2588) [#&open-telemetry#8203;2612](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2612) [#&open-telemetry#8203;2615](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2615) [#&open-telemetry#8203;2621](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2621)) - Remove apiutil.NewDiscoveryRESTMapper, use DynamicRESTMapper by default for cache ([#&open-telemetry#8203;2611](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2611)) - RESTMapper: don't treat non-existing GroupVersions as errors ([#&open-telemetry#8203;2571](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2571)) - Webhooks: Deprecate admission.Validator and admission.Defaulter ([#&open-telemetry#8203;2639](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2639)) - Webhooks: Limit size of AdmissionRequests to 7MB and size of TokenReviews to 1MB ([#&open-telemetry#8203;2598](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2598)) #### ✨ New Features - Cache: Allow defining options that apply to all namespaces without explicit config ([#&open-telemetry#8203;2528](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2528)) - Cache: Allow to remove informers ([#&open-telemetry#8203;2285](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2285)) - Cache: Add option to set WatchErrorHandler on informers ([#&open-telemetry#8203;2494](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2494)) - Client: client.MatchingFields now supports multiple indexes ([#&open-telemetry#8203;2512](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2512)) - Fake client: Add flowcontrol api v1 ([#&open-telemetry#8203;2623](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2623)) - Reconciler: Add reconcile.ObjectReconciler ([#&open-telemetry#8203;2592](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2592)) #### 🐛 Bug Fixes - Add corev1, coordinationv1 scheme for leader election when LeaderElection manager option is true ([#&open-telemetry#8203;2461](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2461)) - Cache: Default namespace only for namespaced object ([#&open-telemetry#8203;2480](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2480)) - Client: Don't truncate large int64s in MergePatch ([#&open-telemetry#8203;2650](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2650)) - controllerutil: Add `RemoveControllerReference` and `HasControllerReference` func ([#&open-telemetry#8203;2509](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2509) [#&open-telemetry#8203;2595](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2595)) - controllerutil: Add `RemoveOwnerReference` func ([#&open-telemetry#8203;2462](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2462)) - Dependencies: Refactor tests to drop hard otel dependency ([#&open-telemetry#8203;2460](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2460)) - Envtest: CRDs that aren't convertible should unset spec.conversion ([#&open-telemetry#8203;2525](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2525)) - Fake client: Correctly identify if patch call was made on status ([#&open-telemetry#8203;2508](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2508)) - Fake client: Do not update anything but status when using subresource client ([#&open-telemetry#8203;2479](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2479)) - Fake client: Fix returning object after status update ([#&open-telemetry#8203;2489](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2489)) - Fake client: Fix status subresource getting updated on Update when it is empty ([#&open-telemetry#8203;2484](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2484)) - Fake client: Handle unstructured status update with fake client ([#&open-telemetry#8203;2495](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2495)) - Manager: Fix goroutine leak ([#&open-telemetry#8203;2527](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2527)) - Manager: Use HTTP client from leaderElectionConfig for leader election recorder provider ([#&open-telemetry#8203;2464](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2464)) - RESTMapper: Return NoResourceMatchError when appropriate for backwards compatibility. ([#&open-telemetry#8203;2472](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2472)) - Webhook: Handle http.NoBody ([#&open-telemetry#8203;2605](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2605)) #### 🌱 Others - Client: Make client.MatchingLabels faster ([#&open-telemetry#8203;2529](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2529)) - Envtest: Allow to ignore scheme.Convertible check for CRDs ([#&open-telemetry#8203;2555](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2555)) - Envtest: Improve process cleanup ([#&open-telemetry#8203;2560](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2560)) - Metrics: Add 100/1000s buckets for Prometheus workqueue histograms ([#&open-telemetry#8203;2638](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2638)) - Metrics: Avoid dependency on apiserver/options if metrics/filters are used ([#&open-telemetry#8203;2645](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2645)) - Replace k8s.io/utils/pointer with k8s.io/utils/ptr ([#&open-telemetry#8203;2488](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2488)) - Webhooks: Cleanup webhook variable assignment ([#&open-telemetry#8203;2604](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2604)) #### 🌱 Dependencies - Bump github.com/emicklei/go-restful/v3 from v3.9.0 to 3.11.0 ([#&open-telemetry#8203;2507](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2507)) - Bump github.com/evanphx/json-patch from 5.6.0+incompatible to 4.12.0+incompatible ([#&open-telemetry#8203;2501](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2501) [#&open-telemetry#8203;2643](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2643)) - Note: We "downgraded" to v4.12.0+incompatible because it is actually newer than v5.6.0+incompatible and to make sure the code in fake client that is using this dependency behaves exactly the same as the corresponding upstream code. We recommend users to either use github.com/evanphx/json-patch@v4.12.0+incompatible or to upgrade to github.com/evanphx/json-patch/v5@&open-telemetry#8203;v5.8.0. More details can be fou[https://github.com/kubernetes-sigs/controller-runtime/pull/2643#discussion_r1446189655](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2643#discussion_r1446189655)189655. - Bump github.com/evanphx/json-patch/v5 from 5.6.0 to 5.8.0 ([#&open-telemetry#8203;2499](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2499) [#&open-telemetry#8203;2650](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2650)) - Bump github.com/fsnotify/fsnotify from 1.6.0 to 1.7.0 ([#&open-telemetry#8203;2561](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2561)) - Bump github.com/go-logr/logr from 1.2.4 to 1.4.1 ([#&open-telemetry#8203;2566](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2566) [#&open-telemetry#8203;2630](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2630)) - Bump github.com/go-logr/zapr from 1.2.4 to 1.3.0 ([#&open-telemetry#8203;2574](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2574)) - Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 ([#&open-telemetry#8203;2545](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2545)) - Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.14.0 ([#&open-telemetry#8203;2458](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2458) [#&open-telemetry#8203;2514](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2514) [#&open-telemetry#8203;2534](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2534) [#&open-telemetry#8203;2578](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2578) [#&open-telemetry#8203;2610](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2610) [#&open-telemetry#8203;2651](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2651)) - Bump github.com/onsi/gomega from 1.27.10 to 1.30.0 ([#&open-telemetry#8203;2521](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2521) [#&open-telemetry#8203;2562](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2562) [#&open-telemetry#8203;2568](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2568) [#&open-telemetry#8203;2579](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2579)) - Bump github.com/prometheus/client_golang from 1.16.0 to 1.18.0 ([#&open-telemetry#8203;2520](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2520) [#&open-telemetry#8203;2632](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2632)) - Bump github.com/prometheus/client_model from 0.4.1-0.20230718164431-9a2bf3000d16 to 0.5.0 ([#&open-telemetry#8203;2535](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2535)) - Bump go.uber.org/goleak from 1.2.1 to 1.3.0 ([#&open-telemetry#8203;2569](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2569)) - Bump go.uber.org/zap from 1.25.0 to 1.26.0 ([#&open-telemetry#8203;2502](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2502)) - Bump golang.org/x/net to 0.17.0 ([#&open-telemetry#8203;2540](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2540)) - Bump golang.org/x/sys from 0.11.0 to 0.16.0 ([#&open-telemetry#8203;2470](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2470) [#&open-telemetry#8203;2533](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2533) [#&open-telemetry#8203;2572](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2572) [#&open-telemetry#8203;2597](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2597) [#&open-telemetry#8203;2642](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2642)) - Bump k8s.io/klog/v2 from 2.100.1 to 2.110.1 ([#&open-telemetry#8203;2573](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2573)) - Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 ([#&open-telemetry#8203;2567](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2567)) - Bump controller-tools from v0.13.0 to v0.14.0 ([#&open-telemetry#8203;2649](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2649)) - Bump go-apidiff from v0.5.0 to v0.8.2 ([#&open-telemetry#8203;2517](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2517) [#&open-telemetry#8203;2655](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2655)) - Upgrade dependencies for hack/tools and tools/ ([#&open-telemetry#8203;2517](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2517)) - Bump kubernetes-sigs/kubebuilder-release-tools from 0.3.0 to 0.4.3 ([#&open-telemetry#8203;2532](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2532) [#&open-telemetry#8203;2575](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2575) [#&open-telemetry#8203;2618](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2618)) - Bump golang version in GH actions ([#&open-telemetry#8203;2609](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2609)) - Bump actions/checkout from 3 to 4 ([#&open-telemetry#8203;2469](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2469)) - Bump actions/setup-go from 4 to 5 ([#&open-telemetry#8203;2617](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2617)) - Bump envtest to 1.28.0 ([#&open-telemetry#8203;2531](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2531)) :book: Additionally, there have been 5 contributions to our documentation. ([#&open-telemetry#8203;2497](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2497), [#&open-telemetry#8203;2498](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2498), [#&open-telemetry#8203;2538](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2538), [#&open-telemetry#8203;2599](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2599), [#&open-telemetry#8203;2602](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2602), [#&open-telemetry#8203;2635](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2635) [#&open-telemetry#8203;2647](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2647)) *Thanks to all our contributors!* 😊 ### [`v0.16.5`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.5) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.4...v0.16.5) #### What's Changed - 🐛 Fix lazy rest mapper cache invalidation by [@&open-telemetry#8203;g-gaston](https://togithub.com/g-gaston) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2689](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2689) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.16.4...v0.16.5 ### [`v0.16.4`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.16.4) [Compare Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.16.3...v0.16.4) #### What's Changed - 🏃 Make client.MatchingLabels faster by [@&open-telemetry#8203;samuelvl](https://togithub.com/samuelvl) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2613](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2613) - 🐛 Avoid extra calls for not found resource by [@&open-telemetry#8203;g-gaston](https://togithub.com/g-gaston) in [https://github.com/kubernetes-sigs/controller-runtime/pull/2677](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2677) #### New Contributors - [@&open-telemetry#8203;samuelvl](https://togithub.com/samuelvl) made their first contribution in [https://github.com/kubernetes-sigs/controller-runtime/pull/2613](https://togithub.com/kubernetes-sigs/controller-runtime/pull/2613) **Full Changelog**: kubernetes-sigs/controller-runtime@v0.16.3...v0.16.4 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMDAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
This is an automated cherry-pick of #2679
/assign alvaroaleman