Commit Graph

11155 Commits

Author SHA1 Message Date
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
Rodrigo Campos
fdc20de500 kubelet/userns: Wrap error message
Most error messages are properly wrapped already, but this was missing.

The kubelet logs will show something like this now:

	E0201 12:00:03.505680 3007049 run.go:74] "command failed" err="failed to run Kubelet: failed to create kubelet: record pod mappings: create user namespace store: mkdir XXX: permission denied"

Before this commit, the message was not so clear:

	E0120 16:02:40.484404  474711 run.go:74] "command failed" err="failed to run Kubelet: failed to create kubelet: mkdir XXX: permission denied"

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-02-01 12:02:06 +01:00
Hemant Kumar
d190fa3e7d Fix race condition between external-resizer and kubelet
This fixes the race condition that could happen because
resize controller just finished volume expansiona and has only
finished marking PV and yet to mark PVC.

The workaround proposed here should not be necessary once
RecoverVolumeExpansionFailure goes GA/beta.
2024-01-31 12:23:56 -05:00
Jan Safranek
593654eaa3 Fix cleanup of file subpaths
Allow kubelet orphan cleanup to delete both files and empty directories as
subpath mount points.

A pod does not need to use a directory as a subpath, it can use a file
(unix domain socket, pipe, ...) too. Therefore the cleanup should use
`os.Remove` that deletes both files and empty directories.
2024-01-31 15:13:03 +01:00
Tim Allclair
77f03c1744 Don't export single-use types 2024-01-30 12:02:23 -08:00
Tim Allclair
01155f59c3 Merge pkg/util/config into pkg/kubelet/config 2024-01-30 11:57:35 -08:00
Kubernetes Prow Robot
7abf6770fd Merge pull request #122147 from pohly/kubelet-context-support
kubelet: enhance context support
2024-01-27 05:16:17 -08:00