Commit Graph

49698 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
528cff12f6 Merge pull request #120969 from skitt/uber-go-mock
Switch from golang/mock to uber-go/mock
2024-04-17 23:59:24 -07:00
Kubernetes Prow Robot
56b39eab7c Merge pull request #119436 from claudiubelu/unittests-9
unittests: Fixes unit tests for Windows (part 9)
2024-04-17 22:51:32 -07:00
Wojciech Tyczyński
7b38106255 Idempotent transformers in scheduler & kcm 2024-04-17 21:08:44 +02:00
Lan Liang
9236425df6 pkg/registry: drop pointer wrapper functions.
The new k8s.io/utils/ptr package provides generic wrapper functions,
which can be used instead of type-specific pointer wrapper functions.
This replaces the latter with the former, and migrates other uses of
the deprecated pointer package to ptr in affacted files.

See kubernetes/utils#283 for details.

Signed-off-by: Lan Liang <gcslyp@gmail.com>
2024-04-15 14:34:53 +00:00
Francesco Romani
181fb0da51 node: devicemgr: remove obsolete pre-1.20 checkpoint file support
In commit 2f426fdba6 we added
compatibility (and tests) to deal with pre-1.20 checkpoint files.
We are now well past the end of support for pre-1.20 kubelets,
so we can get rid of this code.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2024-04-15 14:01:56 +02:00
Lan Liang
78762c70db u 2024-04-15 09:24:44 +00:00
Dan Winship
8de0fc09aa Remove an unused type from kube-proxy config, move around some helpers 2024-04-13 11:12:28 -04:00
nayihz
1b3d10aafa fix: node added with matched pod anti-affinity topologyKey
Co-authored-by: Kensei Nakada <handbomusic@gmail.com>
2024-04-12 11:08:44 +08:00
Antonio Ojea
8f306d8046 services fielse selector for type
Change-Id: I57e934c520713713d4b0616a52519ec51c49e0fc
2024-04-11 13:09:36 +00:00
Antonio Ojea
7d78fb791d don't watch headless services on kubelet
The kubelet watches services only to generate the environment variables
inside a pod, but headless services are not needed for this.

Change-Id: Idb4e893862c55df5e29e13ac92ed288ff573dc0c
2024-04-11 13:09:36 +00:00
Antonio Ojea
c37e14364c implement field selector for clusterIP on services
This will allow components that don't need to watch headless services
(heavily used on ai/ml workloads) to filter them server side.

Specially useful for kubelet and kube-proxy

Change-Id: If36c2c27f2ec80db400c9133c61428d14e124f3e
2024-04-11 13:09:33 +00:00
huweiwen
3a71fe57f7 ad controller: lift nodeAttachedTo.mountedByNode
optimize adc.nodeUpdate(). Time complexity reduced from O(n) to O(1), where n is the number of nodes.

Data stored in nodeAttachedTo.mountedByNode is now at actualStateOfWorld.inUseVolumes.

This refactor also ensures that we can record the state update even if the volume is not present in ASW yet.

The added BenchmarkNodeUpdate result is reduced from 28076923 to 16030 ns/op.
The previous BenchmarkPopulateActualStateOfWorld result is also reduced from 13s to 8s.
2024-04-11 15:35:17 +08:00
Wojciech Tyczyński
36141fa6fb Bump min watch timeout for secret & configmap manager in Kubelet 2024-04-10 19:36:29 +02:00
Maksym Pavlenko
be4b7176dc Fix Abs path validation on Windows (#124084)
* Windows: Consider slash-prefixed paths as absolute

filepath.IsAbs does not consider "/" or "\" as absolute paths, even
though files can be addressed as such. [1][2]

Currently, there are some unit tests that are failing on Windows due to
this reason.

[1] https://learn.microsoft.com/en-us/dotnet/standard/io/file-path-formats#traditional-dos-paths
[2] https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#fully-qualified-vs-relative-paths

* Add test to verify IsAbs for windows

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>

* Fix abs path validation on windows

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>

* Skipp path clean check for podLogDir on windows

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>

* Implement IsPathClean to validate path

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>

* Add warn comment for IsAbs

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>

---------

Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
Co-authored-by: Claudiu Belu <cbelu@cloudbasesolutions.com>
2024-04-10 10:13:59 -07:00
carlory
a6b2619274 remove unneeded func SyncReconstructedVolume from ActualStateOfWorld 2024-04-09 15:34:33 +08:00
Xuzheng Chang
3e08030d53 fix wrong comments of dra
Signed-off-by: Xuzheng Chang <changxuzheng@huawei.com>
2024-04-09 09:41:25 +08:00
bingchang.tbc
192bf13eee Correct variable names in EndpointSliceMirroring controller 2024-04-08 09:30:50 +08:00
Artur Rodrigues
645b25ec67 scheduler: fix typo in metric pod_scheduling_sli_duration_seconds help 2024-04-07 16:15:06 +01:00
Hiroki Takatsuka
84ffc2fc3d fix(job_controller): add delay duration to log message when enqueueing job 2024-04-07 16:42:48 +09:00
Tim Hockin
ae01c2126f Remove the gate "SkipReadOnlyValidationGCE"
One less GCE-specifc wart in the codebase.
2024-04-06 15:11:20 -07:00
Ayato Tokubi
d04f87abde add nil check for Node(Un)PrepareResources.
Signed-off-by: Ayato Tokubi <atokubi@redhat.com>
2024-04-04 23:24:25 +00:00
Nadia Pinaeva
56d1011aa5 kube-proxy: ensure nftables unit test parity with iptables.
Add packet tracing unit tests for ipv4 and ipv6.
Remove unreachable code from runChain, since some of the parsed rules
are never generated by the proxy implementation.

Signed-off-by: Nadia Pinaeva <n.m.pinaeva@gmail.com>
2024-04-02 11:57:47 +02:00
Nadia Pinaeva
1c7b366182 kube-proxy: rename iptables unit test to match tested function name.
Signed-off-by: Nadia Pinaeva <n.m.pinaeva@gmail.com>
2024-04-02 11:57:47 +02:00
Krzysztof Dąbrowski
170d143b1a Revert changes in tests 2024-03-30 20:47:29 +01:00
Krzysztof Dąbrowski
5e94ffe90b nodeipam: poll nodes immediately 2024-03-29 20:56:08 +01:00
cpanato
fc428df491 update setcap/debian-base to bookworm-v1.0.2
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-03-28 14:57:22 +01:00
Patrick Ohly
1a13b0aa33 DRA api: ResourceHandle.DriverName is required
It was already required via validation, but not declared as such by the
OpenAPI.
2024-03-27 11:22:35 +01:00
Patrick Ohly
6f5696b537 dra scheduler: simplify unit tests
The guideline in
https://github.com/kubernetes/community/blob/master/sig-scheduling/CONTRIBUTING.md#technical-and-style-guidelines
is to not compare error strings. This makes the tests less precise. In return,
unit tests don't need to be updated when error strings change.
2024-03-27 10:27:01 +01:00
Aldo Culquicondor
1a2dba426f Update API comment for nodeName to match system behavior
Change-Id: I039b441f4525d280b1ea693d782fe0f43794d9f7
2024-03-26 19:04:48 +00:00
Claudiu Belu
c2dfcf1e34 unittests: Fixes unit tests for Windows (part 9)
Currently, there are some unit tests that are failing on
Windows due to various reasons:

- time.Now() is not as precise on Windows, which means that
  2 consecutive calls may return the same timestamp.
- Different "File not found" error messages on Windows.
- The default Container Runtime URL scheme on Windows is npipe, not unix.
2024-03-26 13:42:50 +00:00
杨军10092085
ba76a624f9 Optimize klog output 2024-03-26 18:53:29 +08:00
Fabio Bertinatto
c893c48432 Use the right feature gate when updating uncertain volumes 2024-03-25 16:47:08 -03:00
Kubernetes Prow Robot
227c2e7c2b Merge pull request #123720 from HirazawaUi/fix-slow-dra-test
kubelet: fix slow dra unit test
2024-03-25 10:22:33 -07:00
Patrick Ohly
458e227de0 dra scheduler: unit tests
Coverage was checked with a cover profile. The biggest remaining gap is for
isSchedulableAfterClaimParametersChange and
isSchedulableAfterClassParametersChange which will get handled when refactoring
the
foreachPodResourceClaim (https://github.com/kubernetes/kubernetes/issues/123697).
2024-03-22 10:03:22 +01:00
Patrick Ohly
607261e4c5 dra scheduler: spelling fix 2024-03-22 10:03:22 +01:00
Patrick Ohly
4126e37f08 dra controller: unit tests 2024-03-22 10:03:22 +01:00
Patrick Ohly
95136db063 dra scheduler: fix re-allocation of claim with structured parameters
The code was incorrectly checking for a controller, but only the boolean
is set for allocated claims. As a result, deallocation was requested from
a non-existent control plane controller.

While at it, let's also clear the driver name. It's not needed when the
claim is deallocated.
2024-03-22 10:03:22 +01:00
carlory
dd2dcabe5b Visit ephemeral containers when calculating fs user 2024-03-21 14:31:37 +08:00
nayihz
0cfe4438e9 interpodaffinity: scheduler queueing hints 2024-03-20 21:44:24 +08:00
kerthcet
84750fe52e Revert "enhancement(scheduler): share waitingPods among profiles"
This reverts commit 227c1915db.
2024-03-19 22:52:59 +01:00
kerthcet
a67d1dc010 Revert "Fix flaky test on multi profiles waiting pod"
This reverts commit 5b072a59a2.
2024-03-19 22:52:07 +01:00
Wojciech Tyczyński
a36665113e Get node from local cache instead of kube-apiserver cache 2024-03-18 21:22:00 +01:00
Kubernetes Prow Robot
aa73f3163a Merge pull request #122292 from sanposhiho/nodeupdate
register Node/UpdateTaint event to plugins which has Node/Add only and doesn't have Node/UpdateTaint
2024-03-18 08:33:54 -07:00
Marek Siarkowicz
0130072b05 Serve watch without resourceVersion from cache and introduce a WatchFromStorageWithoutResourceVersion feature gate to allow serving watch from storage. 2024-03-18 11:55:13 +01:00
carlory
0c5a7103be remove VolumePluginWithAttachLimits interface 2024-03-18 18:08:36 +08:00
Lan Liang
dc992adad3 cleanup: delete rand.Seed(time.Now().UnixNano()) and using global number generator.
see https://tip.golang.org/doc/go1.20

Signed-off-by: Lan Liang <gcslyp@gmail.com>
2024-03-18 08:10:12 +00:00
HirazawaUi
10b6319e64 fix slow dra unit test 2024-03-16 22:21:15 +08:00
Kensei Nakada
2b56de43e5 register Node/UpdateNodeTaint event to plugins which has Node/Add only, doesn't have Node/UpdateNodeTaint 2024-03-16 14:13:06 +00:00
Ed Bartosh
26881132bd kubelet: assign Node as an owner for the ResourceSlice
Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
2024-03-15 09:46:13 +02:00
Kubernetes Prow Robot
d194e6d06c Merge pull request #123932 from pohly/dra-api-resource-model-rename
dra api: NodeResourceModel -> ResourceModel
2024-03-14 12:11:35 -07:00