Commit Graph

9854 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
e259943f7f Merge pull request #101265 from s-ito-ts/ut_kubelet_topology
Adds unit tests for pkg/kubelet/cm/cpumanager/topology
2021-05-20 14:16:28 -07:00
Kubernetes Prow Robot
6e4e32985a Merge pull request #99576 from marosset/windows-host-process-work
Windows host process work
2021-05-20 14:16:15 -07:00
Niels de Vos
b997e0e4d6 Add SupportsMetrics() for Block-mode volumes
Volumes that are provisioned with `VolumeMode: Block` often have a
MetrucsProvider interface declared in their type. However, the
MetricsProvider should implement a GetMetrics() function. In the cases
where the storage drivers do not implement GetMetrics(), a panic can
occur.

Usual type-assertions are not sufficient in this case. All assertions
assume the interface is present. There is no straight forward way to
verify that a valid GetMetrics() function is provided.

By adding SupportsMetrics(), storage driver implementations require
careful reviewing for metrics support.
2021-05-20 17:10:23 +02:00
kikimo
c0a7939cbb remove redundant test branch in sorting algorithm 2021-05-20 20:31:47 +08:00
Rancho Chen
9469ee7025 Add testcase for freeCPUs with three Sockets 2021-05-20 11:49:51 +00:00
pacoxu
75c19da843 correct messages in post start hook error handling
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-05-20 15:14:47 +08:00
Odin Ugedal
d312ef7eb6 Set cgroups via opencontainer
This sets cgroup config via libcontainer to make sure we apply the
correct values to the systemd slices and scopes.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-05-19 23:52:01 -07:00
Kir Kolyshkin
f3cdfc488e vendor: bump runc to rc95
runc rc95 contains a fix for CVE-2021-30465.

runc rc94 provides fixes and improvements.

One notable change is cgroup manager's Set now accept Resources rather
than Cgroup (see https://github.com/opencontainers/runc/pull/2906).
Modify the code accordingly.

Also update runc dependencies (as hinted by hack/lint-depdendencies.sh):

        github.com/cilium/ebpf v0.5.0
        github.com/containerd/console v1.0.2
        github.com/coreos/go-systemd/v22 v22.3.1
        github.com/godbus/dbus/v5 v5.0.4
        github.com/moby/sys/mountinfo v0.4.1
        golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
        github.com/google/go-cmp v0.5.4
        github.com/kr/pretty v0.2.1
        github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-05-19 23:51:59 -07:00
Kir Kolyshkin
029e6b6e3a pkg/kubelet/nodeshutdown/systemd: fix for dbus 5.0.4
dbus 5.0.4 adds StoreProperty method which needs to be implemented for
the mock.

Fixes the errors like

> pkg/kubelet/nodeshutdown/systemd/inhibit_linux_test.go:88:9: cannot use f.fakeDBusObject (variable of type *fakeDBusObject) as dbus.BusObject value in return statement: missing method StoreProperty

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-05-19 23:51:57 -07:00
Giuseppe Scrivano
12abc3b7c9 kubelet: reuse manager
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-19 23:51:49 -07:00
kikimo
445b9c0762 minor tweak on numa node sorting algorithm 2021-05-20 08:21:20 +08:00
marosset
fd94032b21 Kubelet updates for Windows HostProcess Containers 2021-05-19 16:24:14 -07:00
kikimo
ecfa609b71 simplify sorting comparator of numa nodes 2021-05-19 21:19:47 +08:00
kikimo
84a4b40526 fix incompatible interface in fakeTopologyManagerWithHint 2021-05-19 10:12:12 +08:00
kikimo
7d30bfecd5 simplify sorting comparator of numa nodes 2021-05-19 10:07:37 +08:00
kikimo
893ebf3a1c add a reusable fakeTopologyManagerWithHint{} 2021-05-19 10:07:37 +08:00
kikimo
2ef1f81076 Avoid undesirable allocation when device is associated with multiple NUMA Nodes
suppose there are two devices dev1 and dev2, each has NUMA Nodes associated as below:
  dev1: numa1
  dev2: numa1, numa2

and we request a device from numa2, currently filterByAffinity() will return
[], [dev1, dev2], [] if loop of available devices produce a sequence of [dev1, dev2],
that is is not desirable as what we truely expect is an allocation of dev2 from numa2.
2021-05-19 10:07:37 +08:00
Shiming Zhang
9c59e6c85f After dbus restarts, make GracefulNodeShutdown work again 2021-05-19 10:05:38 +08:00
Kubernetes Prow Robot
708a9a1c8c Merge pull request #98583 from damemi/internal-helpers-noderesources-registry
Scheduler: remove pkg/features dependency from NodeResources plugins
2021-05-18 11:35:05 -07:00
Jordan Liggitt
4b45d0d921 Revert "Merge pull request 101888 from kolyshkin/update-runc-rc94"
This reverts commit b1b06fe0a4, reversing
changes made to 382a33986b.
2021-05-18 09:13:47 -04:00
Mike Dame
5a77ebe28b Scheduler: remove pkg/features dependency from NodeResources plugins 2021-05-18 08:59:02 -04:00
Shiming Zhang
bbed9d27b0 Add the missing RLock 2021-05-18 17:27:27 +08:00
caodonghui
a06ed1244e fix error of setting negative value for containerLogMaxSize 2021-05-18 10:28:15 +08:00
Kubernetes Prow Robot
3e588be763 Merge pull request #101712 from SergeyKanzhelev/disableAcceleratorUsageMetricsOnContainerd
disable collecting of accelerator metrics in cAdvisor
2021-05-17 13:39:51 -07:00
Kubernetes Prow Robot
003dd87cff Merge pull request #100565 from lack/cpuset-validation
cpuset parsing:Fix more edge cases and add more unit tests
2021-05-17 13:39:30 -07:00
Kevin Klues
67c92a5cd4 Refactor / simplify logic for CPU assignment algorithm in CPUManager
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2021-05-14 14:53:06 +00:00
s-ito-ts
1dea66439c Adds unit tests for pkg/kubelet/cm/cpumanager/topology 2021-05-12 07:13:04 +00:00
Kir Kolyshkin
b49744f177 vendor: bump runc to rc94
One notable change is cgroup manager's Set now accept Resources rather
than Cgroup (see https://github.com/opencontainers/runc/pull/2906).
Modify the code accordingly.

Also update runc dependencies (as hinted by hack/lint-depdendencies.sh):

	github.com/cilium/ebpf v0.5.0
	github.com/containerd/console v1.0.2
	github.com/coreos/go-systemd/v22 v22.3.1
	github.com/godbus/dbus/v5 v5.0.4
	github.com/moby/sys/mountinfo v0.4.1
	golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
	github.com/google/go-cmp v0.5.4
	github.com/kr/pretty v0.2.1
	github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-05-11 11:56:42 -07:00
Kir Kolyshkin
8167f83437 pkg/kubelet/nodeshutdown/systemd: fix for dbus 5.0.4
dbus 5.0.4 adds StoreProperty method which needs to be implemented for
the mock.

Fixes the errors like

> pkg/kubelet/nodeshutdown/systemd/inhibit_linux_test.go:88:9: cannot use f.fakeDBusObject (variable of type *fakeDBusObject) as dbus.BusObject value in return statement: missing method StoreProperty

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2021-05-11 11:11:02 -07:00
Jim Ramsay
a21179ae69 cpuset.Parse: Fix edge cases and add negative tests
The cpuset.Parse function missed a couple bad input cases, specifically
"1--3" and "10-6".  These were silently ignored when they should instead
be flagged as invalid.

This now catches these cases and expands the unit tests for cpuset to
cover them (and other negative test cases as well).

Signed-off-by: Jim Ramsay <jramsay@redhat.com>
2021-05-11 11:05:38 -04:00
Giuseppe Scrivano
fd7ecd3915 kubelet: reuse manager
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-05-10 17:34:53 -07:00
Kubernetes Prow Robot
160425640e Merge pull request #101771 from klueska/upstream-only-uppdate-if-needed
Add logic to only call CPUManager Update() if state different than last Update()
2021-05-10 09:45:09 -07:00
Kubernetes Prow Robot
9f9d774eee Merge pull request #101615 from aheng-ch/podTopologyHints
fix removing pods from podTopologyHints mapping
2021-05-10 08:13:26 -07:00
Ed Bartosh
c12aa0f6b7 promote HugePageStorageMediumSize to GA 2021-05-10 15:57:55 +03:00
aheng-ch
ff7b94fa5a fix removing pods from podTopologyHints mapping 2021-05-10 19:44:15 +08:00
Kevin Klues
6646039481 Add logic to only call Update() if state different than last Update()
Signed-off-by: Kevin Klues <kklues@nvidia.com>
2021-05-06 23:38:08 +02:00
Matthias Bertschy
3916c00955 fix manual trigger of readinessProbe on startupProbe success 2021-05-05 11:21:40 +02:00
Kubernetes Prow Robot
ae3250165a Merge pull request #101708 from joelsmith/master
Fix log spam for du failure on pod etc-hosts metrics
2021-05-04 11:08:14 -07:00
Kubernetes Prow Robot
a5235299ae Merge pull request #101593 from rphillips/fix_kernel_move_message
kubelet: change cgroup move message to log level 3
2021-05-03 17:21:37 -07:00
Kubernetes Prow Robot
c0a991369d Merge pull request #101400 from wangyx1992/fix-single-case-select
cleanup: use plain channel send or receive instead of single-case select
2021-05-03 17:21:29 -07:00
Kubernetes Prow Robot
cff652d951 Merge pull request #101369 from markusthoemmes/status-simplification
pkg/kubelet: Simplify status string generation on probes
2021-05-03 17:21:22 -07:00
Kubernetes Prow Robot
9fc32e57fb Merge pull request #101364 from markusthoemmes/consistent-kubelet-log
Consistently use log.KObj to format pods in logs
2021-05-03 17:21:11 -07:00
Kubernetes Prow Robot
a238eb2fe8 Merge pull request #99748 from rphillips/fixes/check_log_path_for_restart_count
kubelet: fix log files being overwritten on container state loss
2021-05-03 16:14:19 -07:00
Joel Smith
1e0ca5bdc7 Fix log spam for du failure on pod etc-hosts metrics 2021-05-03 08:29:56 -06:00
Sergey Kanzhelev
e8ae653c1d disable collecting of accelerator metrics and exposing it for containerd 2021-04-30 22:16:34 +00:00
Kubernetes Prow Robot
6850e0abf2 Merge pull request #100218 from aojea/unitflakes1
unit test using metrics must reset the global registry
2021-04-29 23:01:57 -07:00
llhuii
afe28c6fc8 kubelet_pods.go: clean makeEnvironmentVariables
For the simplicity and clarity, I think we can safely delete the
`delete(serviceEnv, envVar.Name)` and the duplicate comments at
function makeEnvironmentVariables of kubelet_pods.go:774-779.

1. `delete(serviceEnv, envVar.Name)` and `if _, present := tmpEnv[k]; !present`
of line 796 are the same logic that is to merge the non-present keys
of serviceEnv into tmpEnv.

2. And the keys deleted from serviceEnv are guarantee to be in tmpEnv,
this doesn't affect mappingFunc.

3. the delete may miss some key from container.EnvFrom
2021-04-30 10:33:13 +08:00
Ryan Phillips
224a4db269 cleanup podkiller close 2021-04-29 11:49:58 -05:00
Ryan Phillips
1f81b44cc7 kubelet: do not cleanup volumes if pod is being killed 2021-04-29 11:49:58 -05:00
pacoxu
650666406e update kubelet_running_pods metrics comments: pods that have a running pod sandbox
Signed-off-by: pacoxu <paco.xu@daocloud.io>
Co-authored-by: Elana Hashman <ehashman@users.noreply.github.com>
2021-04-29 11:05:52 +08:00