Commit Graph

11162 Commits

Author SHA1 Message Date
Tim Hockin
6dbc754ed6
Retool typecheck to be simpler
Instead of walking paths ourselves, just let Go's packages library do
it.  This is a slight CLI change - it wants "./foo" rather than "foo".

This also flagged a few things which seem to be legit failures.
2024-02-29 22:07:00 -08:00
Tim Hockin
b725fd20c2
Fix update/verify-mocks.sh
There appears to be a bug in `go generate` for workspaces which will be
fixed in the 1.22.1 release.
2024-02-29 22:06:00 -08:00
Tim Hockin
e2b529fda7
Fix a test that doesn't build on Windows
Typecheck should catch this but didn't.  Fortunately I fixed that in an
upcoming commit.
2024-02-29 00:22:04 -08:00
Kubernetes Prow Robot
68a47053d1
Merge pull request #123508 from saschagrunert/image-id-container
Add `image_id` to CRI `Container` message
2024-02-28 11:01:35 -08:00
Kubernetes Prow Robot
f139450e9b
Merge pull request #122885 from claudiubelu/unittests-10
unittests: Fixes unit tests for Windows (part 10)
2024-02-28 05:38:40 -08:00
Sascha Grunert
e663285ccf
Add image_id to CRI Container message
This new field allows fixing the kubelet image garbage collection in
container runtimes. The `image_ref` has been historically used by
container runtimes to reference images by digest.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2024-02-28 10:05:07 +01:00
Kubernetes Prow Robot
cb989b84c8
Merge pull request #123424 from haircommander/image-gc-beta
Promote ImageMaximumGCAge to beta
2024-02-27 16:47:36 -08:00
Kubernetes Prow Robot
b63e991b57
Merge pull request #123216 from giuseppe/runtime-handler-cri
KEP-127: require userns support from the CRI runtime before using it
2024-02-27 14:15:03 -08:00
Peter Hunt
cb39dfc9de Promote ImageMaximumGCAge to beta
and set to be on by default, adapting e2e tests for it

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2024-02-27 15:11:45 -05:00
Kubernetes Prow Robot
12217672a3
Merge pull request #123358 from pacoxu/fix-cri-stats-panic
fix panic in CRI stats of windows
2024-02-27 05:14:58 -08:00
Rodrigo Campos
0e2b447269
kubelet/userns: Test new functionality with feature gate enabled
Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-27 12:01:00 +01:00
Rodrigo Campos
658b45cd03
kublet/userns: Test new functionality with feature gate disabled
We just added some more functionality, let's make sure it works fine
with the feature gate disabled.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-27 12:01:00 +01:00
Rodrigo Campos
1fb1218f57
kublet/userns: Switch TestGetOrCreateUserNamespaceMappingsDisabled to table format
Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-27 12:01:00 +01:00
Giuseppe Scrivano
b2a92406ef
KEP-127: check for runtime handler userns support
block the creation of a pod that requires a user namespace, unless the
runtime handler has support for it.

If the pod requested for a user namespace, and the handler does not
support it then return an error regardless of the feature gate.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-02-27 12:01:00 +01:00
Giuseppe Scrivano
024146f705
KEP-127: the kubelet stores runtime helpers
as they are received from the ResponseStatus request to the runtime.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2024-02-27 11:07:35 +01:00
Kubernetes Prow Robot
c53ac4cee4
Merge pull request #123157 from jsafrane/selinux-rwx
Add SELinuxMount feature gate
2024-02-26 12:06:39 -08:00
Kubernetes Prow Robot
98bd90fbe2
Merge pull request #114672 from pohly/log-text-split-streams
log: split streams also for text output
2024-02-26 01:44:58 -08:00
Harsha Narayana
e2506906d6
kubelet: fix flaky unit test with TestRotateLogs due to improper handling of goroutine in the tests 2024-02-23 16:28:35 +05:30
Kubernetes Prow Robot
58bbf69913
Merge pull request #123442 from jsafrane/reconstruction-ga
KEP 3756: Mark NewVolumeManagerReconstruction as GA
2024-02-22 08:14:55 -08:00
Kubernetes Prow Robot
cbfebf02e8
Merge pull request #121720 from aojea/first_pod_network_startup
kubelet: add internal metric for the first pod with network latency
2024-02-22 07:13:25 -08:00
Jan Safranek
2e92036576 Rename "new" reconstruction just to reconstruction
There is no "old" reconstruction, so remove "_new" from the file names and
function names.
2024-02-22 13:20:38 +01:00
Jan Safranek
2a2542289f Remove usage of NewVolumeManagerReconstruction feature gate
This removes lot of code related to "old" VolumeManage reconstruction.
2024-02-22 10:21:13 +01:00
Kubernetes Prow Robot
948c5d9b4f
Merge pull request #122780 from pacoxu/fix-mirror-pod-log
kubelet: make log more clearer for not create a mirror pod
2024-02-21 13:08:19 -08:00
Kubernetes Prow Robot
d311ce0435
Merge pull request #123343 from haircommander/image-gc-e2e-2
KEP-4210: add e2e tests and add small fix for ImageGCMaxAge
2024-02-20 10:48:15 -08:00
Kubernetes Prow Robot
0f7cc6fcaa
Merge pull request #121778 from Tal-or/mm_metrics
kubelet: memorymanager: metrics:  add metrics about static allocation
2024-02-20 09:41:50 -08:00
Jan Safranek
d7028a8ed5 Add SELinuxMount feature gate
The feature gate enables mounting with -o context=XYZ mount option for all
volume types, not only ReadWriteOncePod.

All SELinux label tracking & error reporting infrastructure is already in
place from SELinuxMountReadWriteOncePod feature gate. This is just a
trivial extension to all access modes.
2024-02-20 15:40:21 +01:00
Kubernetes Prow Robot
5d776f935c
Merge pull request #123345 from haircommander/image-gc-metric-reason
KEP-4210: kubelet: add reason field to image gc metric
2024-02-19 18:56:59 -08:00
Peter Hunt
ba8fcb5ef6 kubelet: don't disable gc if max age is specified
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2024-02-19 14:44:20 -05:00
Peter Hunt
a8ea936364 image gc: don't start until max age has passed since kubelet started
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2024-02-19 14:44:20 -05:00
Rodrigo Campos
5a8579a3e4 kubelet/userns: Remove tests that fail as root
For some reason the CI didn't fail when we open the PR. But when you run
"go test" as root, with all the capabilities, tests that exercise
permission errors will never work. As the capabilities makes them always
bypass the permission checks.

For some reason it seems that:
 * Not all our CI was run when the PR was open
 * The CI was changed to run as root now
 * _Some_ CI was added and it runs as root

If it wasn't one of that, or a combination, I don't see how this could
have happened. If any of that indeed happened, it can break more tests
outside the userns package too.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-19 14:52:33 -03:00
Kubernetes Prow Robot
3516bc6f49
Merge pull request #122456 from AxeZhan/beta3960
[KEP 3960]: graduate PodLifecycleSleepAction to beta
2024-02-19 07:44:50 -08:00
AxeZhan
c74ec3df09 graduate PodLifecycleSleepAction to beta 2024-02-19 19:40:52 +08:00
Paco Xu
0f49a1e36e fix panic in CRI stats of windows 2024-02-18 15:03:11 +08:00
Kubernetes Prow Robot
99a15e0480
Merge pull request #122877 from kinvolk/rata/userns
kubelet/userns: Wrap error message
2024-02-16 19:03:30 -08:00
Peter Hunt
c8b4d8ebed kubelet: add reason field to image gc metric
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2024-02-16 16:02:41 -05:00
Kubernetes Prow Robot
5b2c919583
Merge pull request #114301 from harshanarayana/kubelet/log-rotate-improvements
kubelet: enable configurable rotation duration and parallel rotate
2024-02-14 15:56:38 -08:00
Kubernetes Prow Robot
14f8f5519d
Merge pull request #121719 from ruiwen-zhao/metric-size
Add image pull duration metric with bucketed image size
2024-02-13 16:23:50 -08:00
Kubernetes Prow Robot
79e11fe563
Merge pull request #122703 from TommyStarK/fix/dra-manager-should-timeout
dra: increase timeout in setupFakeDRADriverGRPCServer to prevent tests to flake
2024-02-13 09:33:17 -08:00
Kubernetes Prow Robot
015e76aa24
Merge pull request #122846 from marosset/cri-stats-windows-fix
[KEP-2371] Fixing bug with windows criStatsProvider sometimes not reporting AvailableBytes correctly
2024-02-12 10:57:28 -08:00
Mark Rossetti
5ba3883be0
Adding unit test for makeWinContainerStats
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2024-02-12 09:56:58 -08:00
Harsha Narayana
ab8c784ee9
kubelet: enable configurable rotation duration and parallel rotate 2024-02-09 16:49:11 +05:30
ruiwen-zhao
0f5cf6c1cd Add image pull duration metric with bucketed image size
Signed-off-by: ruiwen-zhao <ruiwen@google.com>
2024-02-08 00:30:31 +00:00
Kubernetes Prow Robot
244fbf94fd
Merge pull request #122698 from daniel-hutao/feat-1
Code Cleanup: Redundant String Conversions and Spelling/Grammar Corrections
2024-02-05 16:57:07 -08:00
Kubernetes Prow Robot
77775d4546
Merge pull request #123052 from jsafrane/clean-file-subpath
Fix cleanup of file subpaths
2024-02-05 11:42:58 -08:00
Kubernetes Prow Robot
980033ee81
Merge pull request #122999 from marosset/fix-windows-stats-cpu-nano-seconds-usage
fixing issue with GetCPUUsageNanoCores on Windows
2024-02-05 11:42:47 -08:00
Rodrigo Campos
cae710d9e9 kublet/userns: Test error messages on init failures
This adds a test for the just added wrapping error message, as well as
for the other already present error messages that initialization can
fail with.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-05 19:03:50 +01:00
Kubernetes Prow Robot
ce28021839
Merge pull request #121923 from saschagrunert/resources-windows
Enable pod container resources tests on Windows
2024-02-05 08:45:08 -08:00
Kubernetes Prow Robot
06cecaec52
Merge pull request #122819 from yanggangtony/clean-kubelet-server-codes
Clean unused code in kubelet server.
2024-02-05 07:21:36 -08:00
Rodrigo Campos
a56d483df0 kubelet/userns: Use t.TempDir()
These tests will create the userns record mapping file, so let's use a
temporal directory for that.

Without specifying one, by mistake we were using the
"/tmp/non-existant-dir.This-is-not-used-in-tests/" directory.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-01 12:02:29 +01:00
Rodrigo Campos
0f7b9cc4f5 pkg/kubelet/userns: Simplify error messages
The error we are wrapping is already verbose, let's just use minimal
wrapping as it is usually the case in go code.

Note that the error on parseUserNsFileAndRecord() can be returned to the
user, so we added some context about user namespace. Otherwise, an error
to parse the json would not be clear to which of all the json the kubelet
parses it refers to.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-01 12:02:29 +01:00