Commit Graph

1055 Commits

Author SHA1 Message Date
Kubernetes Publisher 8dbe3028d0 Merge pull request #129598 from aravindhp/automated-cherry-pick-of-#129595-upstream-release-1.32
Automated cherry pick of #129595: kubelet: use env vars in node log query PS command

Kubernetes-commit: 5fe148234f8ab1184f26069c4f7bef6c37efe347
2025-01-14 22:51:21 +00:00
Aravindh Puthiyaparambil 14a411f8bc kubelet: use env vars in node log query PS command
- Use environment variables to pass string arguments in the node log
  query PS command
- Split getLoggingCmd into getLoggingCmdEnv and getLoggingCmdArgs
  for better modularization

Kubernetes-commit: 00be157dabf2779609e00039a3f7552f8f3e67ab
2024-08-06 15:46:15 -07:00
Kubernetes Publisher 78330cb2c4 Merge remote-tracking branch 'origin/master' into release-1.32
Kubernetes-commit: 22b14e54a4caac0a20428e51ba874b1af8b0e4cb
2024-12-06 19:41:22 +00:00
Jordan Liggitt 9aa82a6bf7 Drop use of winreadlinkvolume godebug option
Kubernetes-commit: 3046fe23d4fe4ba86713ffd61bf0e07156b2b7c3
2024-12-06 02:40:53 -05:00
Kubernetes Publisher 351b1670b8 Merge remote-tracking branch 'origin/master' into release-1.32
Kubernetes-commit: f5900aab680c34bea040b39ac83dfc48f466b573
2024-12-05 03:31:45 +00:00
Jordan Liggitt 97885c0170 Revert to go1.22 windows filesystem stdlib behavior
Kubernetes-commit: 3878a3a6de64660e356a35f70471c27a09698090
2024-12-04 09:52:56 -05:00
Patrick Ohly de4c476767 DRA kubelet: use unique protobuf package name
As mentioned in https://protobuf.dev/programming-guides/style, package names
"should be unique". For generated API pb files, Kubernetes uses
"k8s.io.api.<api group>.<version>". The same approach is now used for the
kubelet DRA v1beta1 API. This can be changed without a breaking change because
the API is still unreleased.

This avoids a conflict between the DevicePlugin and the DRA API when both get
used by kubelet:

    2024/11/10 12:51:40 proto: duplicate proto type registered: v1beta1.Device

The exact impact of that conflict is unknown but it seems better to
pro-actively avoid the problem.

Kubernetes-commit: 6c27e8dc8f789fd9daf11f6fc367adf586f727b5
2024-11-27 19:53:01 +00:00
lauralorenz 3b14f64fe5 KEP-4603: Node specific kubelet config for maximum backoff down to 1 second (#128374)
* Add feature gate, API, and conflict validation tests for enablecrashloopbackoffmax

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Handle when current base is longer than node max

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Update pkg/features/kube_features.go

Co-authored-by: Tsubasa Nagasawa <toversus2357@gmail.com>

* Fix indentation

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Follow convention for success test

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Normalize casing, and change field to Duration

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Fix json name and some other casing errors

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Another one I missed before

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Don't clobber global max function

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Change to flat value in defaults.go

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Streamline validation and defaults

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Fix typecheck

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Lint

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Tighten up validation for subsecond values

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Rename field from MaxBackOffPeriod to MaxContainerRestartPeriod

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* A few missed references to renames

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Only compare flags in flags test

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Don't mess with SetDefault signature

Nobody messes with SetDefault signature

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Fix stale signature change, and update test data

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Inspect current feature gates at defaulting time

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Don't use the global feature gate for temp usage

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Expose default error, and some comments

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

* Hint fuzzer for less arbitrary values to FeatureGates

Signed-off-by: Laura Lorenz <lauralorenz@google.com>

---------

Signed-off-by: Laura Lorenz <lauralorenz@google.com>
Co-authored-by: Tsubasa Nagasawa <toversus2357@gmail.com>

Kubernetes-commit: 7fe41da5221b215d097e930c6b7aa52e88324f66
2024-11-08 17:44:43 -08:00
Kubernetes Publisher 353a4bcb20 Merge pull request #126503 from skitt/generic-fake-client
Use generics to share code in fake client-go implementations

Kubernetes-commit: 31970d418ccae80c9c7e25e8c503035a79a53763
2024-11-08 21:44:53 +00:00
Stephen Kitt 35e9b33dc1 Generify fake clientsets
This adds a generic implementation of a fake clientset, and uses it to
replace the template code in generated fake clientsets for the default
methods. The templates are preserved as-is (or as close as they can
be) for use in extensions, whether for resources or subresources.

Fake clientsets with no extensions are reduced to their main getter,
their specific struct, and their constructor. All method
implementations are provided by the generic implementation. The
dedicated struct is preserved to allow extensions and expansions to be
defined where necessary.

Instead of handling the variants (with/without list, apply) with a
complex sequence of if statements, build up an index into an array
containing the various declarations.

Similarly, instead of calling different action constructors for
namespaced and non-namespaced clientsets, assume the current behaviour
of non-namespaced action creation (equivalent to creating a namespaced
action with an empty namespace) and document that assumption in the
action implementation.

Signed-off-by: Stephen Kitt <skitt@redhat.com>

Kubernetes-commit: b0ce65df9b74d4dc72050840d5ad067596d7b822
2024-07-30 15:47:02 +02:00
Kubernetes Publisher 2466f752a9 Merge pull request #128646 from pohly/dra-kubelet-separate-beta-api
DRA kubelet: separate beta and alpha gRPC APIs

Kubernetes-commit: 33c64b380a11ba5a4d18a55b73d5f0a3ce89dc85
2024-11-08 14:58:27 +00:00
Kubernetes Publisher 1a76702573 Merge pull request #126096 from utam0k/support-disabling-oom-group-kill
kubelet: new kubelet config option for disabling group oom kill

Kubernetes-commit: c462d4c8e52f3e7bcfd0765b5729569f8d5daa65
2024-11-08 14:58:24 +00:00
Patrick Ohly 4109653856 DRA kubelet: separate beta and alpha gRPC APIs
Reusing types from the alpha in the beta made it possible to provide and use
both versions without conversion. The downside was that removal of the alpha
would have been harder, if not impossible. DRA drivers could continue to
use the alpha types and provided the beta interface automatically.

Now the two versions are completely separate gRPC APIs, although in practice
there are no differences besides the name. Support for the alpha API in kubelet
is provided via automatically generated conversion and manually written
interface wrappers.

Those are provided as part of the v1alpha4 package. The advantage of having all
of that in a central place is that it'll be easier to remove when no longer
needed.

Kubernetes-commit: 9261a182bb7693bc603a94e76af8bf98168ca16e
2024-11-07 07:38:10 +01:00
Kubernetes Publisher 53d52c0fe0 Merge pull request #128593 from jpbetz/bump-cel-123
Introduce CEL two variable comprehensions

Kubernetes-commit: dc01fa9d2b6632dc932eb760573659608add1b8f
2024-11-07 03:47:55 +00:00
Joe Betz 1c065aa5dc hack/pin-dependency.sh github.com/google/cel-go v0.22.0
Kubernetes-commit: b0180a9a376caee4a12cbf549b3187d21cbdc07d
2024-11-05 19:21:09 -05:00
Kubernetes Publisher 05555285be Merge pull request #127511 from pohly/dra-1.32-api
DRA 1.32 API: promotion to beta

Kubernetes-commit: e273349f3a2fde9a2499902645e8f10001c899bf
2024-11-06 15:45:09 +00:00
Patrick Ohly 7e9ffe6569 DRA kubelet: list supported gRPC services during registration
Listing supported gRPC services (e.g. drav1alpha3.Node, drav1beta1.DRAPlugin)
during registration enables the kubelet to determine in advance which methods
it can call.

Versioning by Kubernetes release makes less sense because it doesn't say
anything about which gRPC service is supported. New ones might get added and
obsolete ones removed. Some services might be optional.

In the past, this versioning support wasn't really used. At least one version
had to be provided and kubelet tried to use the plugin with the highest
version. This version comparison gets dropped. In the unlikely situation
that different plugins register under the same name, the most recent one is
used.

Because advertising gRPC services is a new convention, plugins only reporting
some version are treated as providing the old alpha gRPC service.

Kubernetes-commit: 2c23fe1b82467b0ed49ed8800c18334c4400132b
2024-11-02 21:45:25 +01:00
Patrick Ohly 5cbf982c86 DRA kubelet: rename gRPC server from Node to DRAPlugin in v1beta1
The version bump is an opportunity to pick a name that is a bit more
descriptive. It matches the "DevicePlugin" service name.

Kubernetes-commit: 437be1e651a6c5ff2259975c77af8575d2e66449
2024-11-02 20:34:04 +01:00
utam0k 59c28f5e21 kubelet: new kubelet config option for disabling group oom kill
Signed-off-by: utam0k <k0ma@utam0k.jp>

Kubernetes-commit: 4f909c14a0b32dba90d5c28f2937964aaf20677a
2024-10-14 14:46:28 +09:00
Patrick Ohly cc48d93402 DRA kubelet: add v1beta1 gRPC API
The v1beta1 API is identical to the previous v1alpha4, which erroneously was
still called "v1alpha3" in a few places, including the gRPC interface
definition itself.

The only reason for v1beta1 is to document the increased maturity of this API.

To simplify the transition, kubelet supports both v1alpha4 and v1beta1, picking
the more recent one automatically. All that DRA driver authors need to do to
implement v1beta1 is to update to the latest
k8s.io/dynamic-resource-allocation/kubeletplugin: it will automatically
register both API versions unless explicitly configured otherwise, which is
mostly just for testing.

DRA driver authors may replace their package import of v1alpha4 with v1beta1,
but they don't have to because the types in both packages are the same.

Kubernetes-commit: 7b3a9afca35cf60f4a5bc1d9cca5e25ff414d39d
2024-09-20 17:09:18 +02:00
Kubernetes Publisher d45cec2ba6 Merge pull request #128580 from jpbetz/bump-kube-openapi
Bump kube-openapi to latest

Kubernetes-commit: 9a2a7537f035969a68e432b4cc276dbce8ce1735
2024-11-05 23:47:34 +00:00
Joe Betz 3795118b0b hack/pin-dependency.sh k8s.io/kube-openapi 32ad38e42d3faf1ce94eb29f4ea6d763339b258e
Kubernetes-commit: f2157ff73e3c9b7c2a36bf371e388e8976d93975
2024-11-05 10:18:57 -05:00
Kubernetes Publisher a26d4bf0e4 Merge pull request #128507 from dims/use-k8s.io/utils/lru-instead-of-github.com/golang/groupcache/lru
Use k8s.io/utils/lru instead of github.com/golang/groupcache/lru

Kubernetes-commit: 7a4d755644e83dfade7bbc4c240c204a9e54d9c0
2024-11-04 23:48:17 +00:00
Davanum Srinivas 84267ea8a9 Use k8s.io/utils/lru instead of github.com/golang/groupcache/lru
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 2b0592ee77d0a0bb3017df042066ecb8c83d2fb3
2024-11-01 22:19:11 -04:00
Kubernetes Publisher 2f443f3f3b Merge pull request #128481 from carlory/dependencies-ginkgo-gomega
dependencies: ginkgo v2.21.0, gomega v1.35.1

Kubernetes-commit: 88a997ac01cd8a386df9318d81b89257307f53fb
2024-11-01 19:48:07 +00:00
carlory 429831d0b3 dependencies: ginkgo v2.21.0, gomega v1.35.1
Kubernetes-commit: 80b1a297865500891bd823005ace761becae5dbf
2024-11-01 11:35:24 +08:00
Kubernetes Publisher 862752b694 Merge pull request #128416 from jpbetz/reset-filter
Add optional ResetFieldsFilterStrategy interface for storage

Kubernetes-commit: b831df733e5cf244331f61fffb0ba86787b27236
2024-11-01 05:04:00 +00:00
Joe Betz 36955e5944 hack/pin-dependency.sh sigs.k8s.io/structured-merge-diff/v4 v4.4.2
Kubernetes-commit: 6fe51403665f1b6e820226004817b92e3118cabc
2024-10-31 21:19:15 -04:00
Kubernetes Publisher d9fd706862 Merge pull request #128379 from pohly/dra-owners-wg-label
DRA: add wg/device-management label automatically

Kubernetes-commit: c5ccf59974c61183e7446bb9737f38477ee68481
2024-10-29 20:48:08 +00:00
Patrick Ohly 0a236149e9 DRA: add wg/device-management label automatically
This makes PRs show up automatically in the WG's project
board (https://github.com/orgs/kubernetes/projects/95/views/1).

Kubernetes-commit: 9d1b0654e0b9cd4cd3d99f33019a8b00fc65cbdf
2024-10-28 08:48:50 +01:00
Kubernetes Publisher 46b0f6510b Merge pull request #128318 from soltysh/kubelet_port_forward
Reset streams when an error happens during port-forward (part 1/2)

Kubernetes-commit: e79722d98a4f0aa2dc103aa8d4390d4c4e73e939
2024-10-29 20:48:06 +00:00
Maciej Szulik 5b5bd82d40 Reset streams when an error happens during port-forward
Signed-off-by: Maciej Szulik <soltysh@gmail.com>

Kubernetes-commit: aa11f2461fe06fccbd494aa7a837a04cf80507f0
2024-10-23 13:30:01 +02:00
Kubernetes Publisher 4379076482 Merge pull request #128165 from liggitt/prune-self-require
Drop self-referencing replace directives

Kubernetes-commit: a8fc7ae761c19ab436cf513c9eed877f08961cf7
2024-10-18 05:12:13 +00:00
Kubernetes Publisher e50747351a Merge pull request #128144 from cheftako/updateANP
Bump konnectivity-client to v0.31.0

Kubernetes-commit: bd00406951a04967577d5ac7c2fbe7989f3653da
2024-10-18 01:12:38 +00:00
Jordan Liggitt b5e8ff5756 Drop self-referencing replace directives
Kubernetes-commit: 3be1109829d4b0921972bb8b5f66a4d179ff6255
2024-10-17 15:51:15 -04:00
Kubernetes Publisher 434b366423 Merge pull request #124434 from tu1h/fix-compute-resources-link
API docs: point outdate link to current link

Kubernetes-commit: f5b92902a3660a3d7185bfe73f74b75a52c39884
2024-10-17 17:01:14 +00:00
Walter Fender ce429d5a6b Bump konnectivity-client to v0.30.0
Bump konnectivity network proxy to v0.30.0.
Lease-based server counting logic for agent and lease controller for ANP server

reran hack/update-vendor.sh

Kubernetes-commit: f72c37418725457bc8ce1e58d40264bca05b6054
2024-10-16 22:30:10 -07:00
Kubernetes Publisher a658908d76 Merge pull request #119949 from rexagod/119697-1
metrics: add exemplar support for counters

Kubernetes-commit: 7b802a60bd6e43ab53499e3b0a19c06f395974df
2024-10-16 10:31:57 +00:00
Kubernetes Publisher 27f8dbd42e Merge pull request #128064 from dims/update-to-last-versions-of-some-very-infrequently-updated-repos
Update to last versions of some very infrequently updated repos

Kubernetes-commit: 07e73682b9a5259cacac978346ed4567588e4165
2024-10-16 06:41:32 +00:00
Davanum Srinivas 7c5d28cc9f Update to last versions of some very infrequently updated repos
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 7f8210e33f8cd626d1fb86cd7d12d077ec3047d5
2024-10-14 17:23:16 -04:00
Kubernetes Publisher bd3a71d3dd Merge pull request #127998 from skitt/golang-x-oct-2024
October 2024 golang.org/x bump

Kubernetes-commit: 8cbb11519c54c120e2dc120a4799e53abbfea4a4
2024-10-11 15:08:00 +00:00
Kubernetes Publisher f0386fb036 Merge pull request #127985 from dims/update-moby-runc-dependencies-oct-10
Update moby/runc dependencies

Kubernetes-commit: 6e5e8f374e834fa8dab341bde5c522704ed55ba6
2024-10-11 15:07:59 +00:00
Stephen Kitt 4e5fe9952e October 2024 golang.org/x bump
Nothing major here, but nothing liable to cause pain to downstreams
either.

* https://github.com/golang/crypto/compare/v0.26.0...v0.28.0 (there’s
  a SHA3 fix there but it’s only relevant for 32-bit platforms)
* https://github.com/golang/net/compare/v0.28.0...v0.30.0 (mostly
  http2; route address parsing fix on Darwin)
* https://github.com/golang/oauth2/compare/v0.21.0...v0.23.0 (Google
  license fix)
* https://github.com/golang/sys/compare/v0.23.0...v0.26.0 (faster
  getrandom() on Linux through the vDSO; improved RISC-V support)
* https://github.com/golang/term/compare/v0.23.0...v0.25.0
* https://github.com/golang/time/compare/v0.3.0...v0.7.0 (0-limit
  handling fix in x/time/rate; Google license fix)
* https://github.com/golang/tools/compare/v0.24.0...v0.26.0

This doesn’t include golang.org/x/exp; that doesn’t have any relevant
changes. There’s an apidiff fix but we always pull in the latest
apidiff anyway.

Signed-off-by: Stephen Kitt <skitt@redhat.com>

Kubernetes-commit: 6c5a528727c30803d4426b29c06ae5d350619877
2024-10-11 10:22:13 +02:00
Davanum Srinivas 304ab9087e Update moby/runc dependencies
Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 521f2d106b9c5744ce57a8ec03124bcdadbca986
2024-10-10 11:58:22 -04:00
Kubernetes Publisher e92504aa2a Merge pull request #127942 from liggitt/json123
sigs.k8s.io/json go 1.23 bump

Kubernetes-commit: fc318e3ba4cb1db822d7f802993059846f64179d
2024-10-10 22:40:19 +00:00
Jordan Liggitt a33132b0be Update sigs.k8s.io/json to go1.23
Kubernetes-commit: 8eff759b6ac7c3bb0c6a8823c751f5a578d6f721
2024-10-10 11:00:11 -04:00
Kubernetes Publisher 30cd2798a9 Merge pull request #127816 from cici37/updateCEL
Bump dependency: cel-go to v0.21.0

Kubernetes-commit: 9ffefe3da28a09e250b6517b0f2d5f3437b18265
2024-10-04 02:45:25 +00:00
Cici Huang bd3621d6c3 Update cel-go to v0.21.0
Kubernetes-commit: 80c0c2c32eae71c1bf948266da413c4eb24f12c5
2024-10-02 17:15:58 +00:00
Kubernetes Publisher c1132a1c95 Merge pull request #127684 from mmorel-35/testifylint/expected-actual@k8s.io/kubelet
fix: enable expected-actual rule from testifylint in module `k8s.io/kubelet`

Kubernetes-commit: 40aea28ed9c4b6e54b4dbc0d8b083e93b1a58f52
2024-09-29 04:58:55 +00:00
Kubernetes Publisher a9f4d743ac Merge pull request #126764 from liggitt/mergo
reimplement merge to drop mergo dependency

Kubernetes-commit: ee74baec6e05afde972f1a8705d4f8efe066f120
2024-09-28 09:08:23 +00:00