Commit Graph

10403 Commits

Author SHA1 Message Date
Claudiu Belu
f567b85cc4 kubelet: Fixes plugin Watcher for Windows
Currently, the plugin Watcher checks if a file is a socket or not by
running mode&os.ModeSocket != 0, which can't be True on Windows.

util.IsUnixDomainSocket should be used instead.
2022-07-26 18:45:10 +03:00
muyangren2
42765566e1 Fix test order pkg/kubelet/winstats/winstats_test.go 2022-07-26 10:05:59 +08:00
Lee Verberne
d238e67ba6 Remove EphemeralContainers feature-gate checks 2022-07-26 02:55:30 +02:00
sivchari
5494b30ce5 feat: improve naming
I fixed naming to recommended by Golang.
2022-07-24 19:04:08 +09:00
Hemant Kumar
835e8ccc76 Use CheckAndMarkAsUncertainViaReconstruction for uncertain volumes
Also only remove volumes from skippedDuringReconstruction only if
volume was marked as attached.
2022-07-22 20:11:37 -04:00
Hemant Kumar
6d43345c06 Remove volume from found during reconstruction if mounted
Add unit tests for removing reconstructed volumes from ASOW
2022-07-22 20:04:51 -04:00
Hemant Kumar
b455270f6e Add unit test for verifying if processReconstructedVolumes works as expected 2022-07-22 20:04:51 -04:00
Hemant Kumar
b8257e8c01 Address review comments 2022-07-22 20:04:51 -04:00
Hemant Kumar
eb071c2755 Fix code to process volumes which were skipped during reconstruction 2022-07-22 20:04:51 -04:00
Hemant Kumar
c8b85fb470 Keep track of each pod that uses a volume during reconstruction
Add tests for volume cleaning up
2022-07-22 20:04:51 -04:00
HaoJie Liu
b058565f65 fix: add pod info to the error log
Signed-off-by: HaoJie Liu <liuhaojie@beyondcent.com>
2022-07-19 14:17:33 +08:00
Kubernetes Prow Robot
1c1efde70d Merge pull request #109639 from Abirdcfly/fixduplicateimport
cleanup: remove all duplicate import
2022-07-18 16:55:23 -07:00
Mark Rossetti
588ff515bc Windows: ensure runAsNonRoot does case-insensitive comparison on user name
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-07-18 15:23:13 -07:00
Giuseppe Scrivano
705242e2af kubelet: remove superfluous function
the ensureDirectory seems to be just a wrapper around MkdirAll.

Since MkdirAll doesn't treat an existing directory as an error, there is no need of the extra stat() syscall that was previously performed.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2022-07-18 17:08:27 +02:00
Kubernetes Prow Robot
63822660f0 Merge pull request #110880 from yangjunmyfm192085/fixnegativevalue
When metrics are counted, discard the wrong container StartTime metrics
2022-07-15 01:04:36 -07:00
Kubernetes Prow Robot
b3057e7ccc Merge pull request #106834 from mengjiao-liu/sysctl-allow-slashes
Add support for slash as sysctl separator to Pod securityContext field and to PodSecurityPolicy
2022-07-15 01:04:24 -07:00
JunYang
c71e3a7802 When metrics are counted, discard the wrong container startup time metrics 2022-07-15 08:56:12 +08:00
Kubernetes Prow Robot
ce583e0338 Merge pull request #110950 from yangjunmyfm192085/fixmetricsjudgement
filter out terminated containers in cadvisor_stats_provider
2022-07-14 14:36:52 -07:00
Kubernetes Prow Robot
21149f1b68 Merge pull request #109794 from shiftstack/always_annotate_nodeip
Make kubelet set alpha.kubernetes.io/provided-node-ip unconditionally
2022-07-14 14:36:40 -07:00
Kubernetes Prow Robot
f2395bbd4a Merge pull request #111141 from yangjunmyfm192085/fixpanic
Fix kubelet panic when accessing metrics/resource endpoint
2022-07-14 13:19:27 -07:00
sivchari
3db9e1c64c fix: refer to url of Node Allocatable 2022-07-15 00:54:33 +09:00
Adrian Reber
fc37a7a990 kubelet: wire checkpoint container support through
This adds the last pieces to wire through the container checkpoint
support in the kubelet.

Signed-off-by: Adrian Reber <areber@redhat.com>
2022-07-14 10:27:41 +00:00
Adrian Reber
8c24857ba3 kubelet: add CheckpointContainer() to the runtime
Signed-off-by: Adrian Reber <areber@redhat.com>
2022-07-14 10:27:41 +00:00
Adrian Reber
3e6f50683f kubelet: add CheckpointContainer() on the service level
Signed-off-by: Adrian Reber <areber@redhat.com>
2022-07-14 10:27:40 +00:00
Adrian Reber
1ac7d78296 kubelet: add CheckpointContainer in remote runtime
This is the first step to implement checkpointing and restoring of
container and containers starting from the lowest layer in the kubelet.

Signed-off-by: Adrian Reber <areber@redhat.com>
2022-07-14 10:27:40 +00:00
Adrian Reber
564f0e9a25 kubelet: add checkpoint/restore infrastructure
This adds the first infrastructure code parts to the kubelet
to support checkpoint/restore.

Signed-off-by: Adrian Reber <areber@redhat.com>
2022-07-14 10:27:40 +00:00
JunYang
f33652ce61 Fix kubelet panic when accessing metrics/resource endpoint 2022-07-14 16:38:48 +08:00
Abirdcfly
00b9ead02c cleanup: remove duplicate import
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-14 11:25:19 +08:00
Claudiu Belu
7e6e31577e unittests: Adds Windows unittests
Adds unit tests for a few functions that are not covered.
2022-07-08 17:24:15 +03:00
Kubernetes Prow Robot
80b2848725 Merge pull request #110860 from claudiubelu/utils-cleanup
cleanup: Removes duplicate utils code
2022-07-07 20:36:12 -07:00
Kubernetes Prow Robot
0dc32b10fe Merge pull request #110774 from kinvolk/rata/kubelet-short-tests
pkg/kubelet: skip long test on short mode
2022-07-07 20:36:05 -07:00
Kubernetes Prow Robot
c05d185901 Merge pull request #110683 from zhoumingcheng/master-v2
add unit test coverage for pkg/kubelet/util/util_unix_test.go
2022-07-07 20:35:57 -07:00
Kubernetes Prow Robot
b3be343bc8 Merge pull request #110811 from Abirdcfly/clock
Update golangci-lint to 1.46.2 and fix errors
2022-07-06 16:03:32 -07:00
JunYang
cafc5d1c82 filter out terminated containers in cadvisor_stats_provider 2022-07-06 19:21:27 +08:00
PingWang
c6b4725e55 Add failure handling of the desiredStateOfWorldPopulator start
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2022-07-01 13:56:33 +08:00
Harsha Narayana
c3cbc443ef structured-logging: replace KObjs with KObjSlice for logging 2022-07-01 09:52:07 +05:30
Abirdcfly
2bca77a3d9 Update golangci-lint to 1.46.2 and fix errors
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-06-29 17:42:46 +08:00
Claudiu Belu
93701ce0c1 cleanup: Removes duplicate utils code
The utils found in pkg/kubelet/cri/remote/utils are the same as the
ones in pkg/kubelet/utils, with the difference that the latter have
had a few improvements recently.

This commit removes the duplicated code.
2022-06-28 22:58:14 -07:00
sunzhaochang
e833c64ef0 Fix missing of Lock in SeenAllSources 2022-06-29 11:54:22 +08:00
Kubernetes Prow Robot
50b982edab Merge pull request #109227 from Monokaix/refactor-pleg/getContainersFromPods
refactor: pleg/getContainersFromPods
2022-06-28 10:17:58 -07:00
Kubernetes Prow Robot
10bea49c12 Merge pull request #110140 from marosset/hpc-sandbox-config-fixes
Fixing issue in generatePodSandboxWindowsConfig for hostProcess containers
2022-06-27 20:21:57 -07:00
Kubernetes Prow Robot
7c8721ae29 Merge pull request #110711 from 249043822/br-evictionlog
fix evictionManager debugLog wrong
2022-06-27 19:16:25 -07:00
Kubernetes Prow Robot
b19d50d68e Merge pull request #110075 from luckerby/104584-retry-dial-on-socket-windows-base
Retry Unix domain sockets on Windows nodes for the plugin registration mechanism
2022-06-27 19:16:16 -07:00
Kubernetes Prow Robot
0f3bf88a91 Merge pull request #108682 from chymy/nilpointer
Method call 'err.Error()' might lead to a nil pointer dereference for pkg/kubelet/cm/cpumanager/cpu_assignment_test.go
2022-06-27 19:15:56 -07:00
Kubernetes Prow Robot
123713b496 Merge pull request #110504 from pohly/kubelet-shutdown-test
kubelet: convert node shutdown manager to contextual logging
2022-06-27 18:10:15 -07:00
Kubernetes Prow Robot
92945a1a32 Merge pull request #109691 from zhangxyjlu/kubelet_testgetter
Add test case for getPodVolumeSubpathsDir
2022-06-27 18:09:57 -07:00
21kyu
df168d5b5c Change reflect.Ptr to reflect.Pointer 2022-06-26 01:23:43 +09:00
Rodrigo Campos
466c4d24a9 pkg/kubelet: skip long test on short mode
When adding functionality to the kubelet package and a test file, is
kind of painful to run unit tests today locally.

We usually can't run specifying the test file, as if xx_test.go and
xx.go use the same package, we need to specify all the dependencies. As
soon as xx.go uses the Kuebelet type (we need to do that to fake a
kubelet in the unit tests), this is completely impossible to do in
practice.

So the other option is to run the unit tests for the whole package or
run only a specific funtion. Running a single function can work in some
cases, but it is painful when we want to test all the functions we
wrote. On the other hand, running the test for the whole package is very
slow.

Today some unit tests try to connect to the API server (with retries)
create and list lot of pods/volumes, etc. This makes running the unit
test for the kubelet package slow.

This patch tries to make running the unit test for the whole package
more palatable. This patch adds a skip if the short version was
requested (go test -short ...), so we don't try to connect
to the API server or skip other slow tests.

Before this patch running the unit tests took in my computer (I've run
it several times so the compilation is already done):

	$ time go test -v
	real	0m21.303s
	user	0m9.033s
	sys	0m2.052s

With this patch it takes ~1/3 of the time:

	$ time go test -short -v
	real	0m7.825s
	user	0m9.588s
	sys	0m1.723s

Around 8 seconds is something I can wait to run the tests :)

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2022-06-24 18:00:21 +02:00
Patrick Ohly
7f55a0bae0 kubelet: avoid manipulating global logger during unit test
The code as it stands now works, but it is still complicated and previous
versions had race
conditions (https://github.com/kubernetes/kubernetes/issues/108040). Now the
test works without modifying global state. The individual test cases could run
in parallel, this just isn't done because they complete quickly already (2
seconds).
2022-06-24 11:27:40 +02:00
Patrick Ohly
65385fec20 kubelet: convert node shutdown manager to contextual logging
This will make output checking easier (done in a separate commit). kubelet
itself still uses the global logger.
2022-06-24 11:20:34 +02:00