Commit Graph

122068 Commits

Author SHA1 Message Date
Rita Zhang
128d6cc146
Add envFrom to serviceaccount admission plugin
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2024-04-12 10:49:30 -07:00
Kubernetes Prow Robot
cae35dba5a
Merge pull request #124283 from dims/rename-cluster-to-storage_cluster_id-for-apiserver_storage_size_bytes-metric
Rename Label `cluster` to `storage_cluster_id` for apiserver_storage_size_bytes metric
2024-04-12 00:13:00 -07: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
Davanum Srinivas
fb5140f562
Rename cluster to storage_cluster_id for apiserver_storage_size_bytes metric
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-04-11 17:15:32 -04:00
Kubernetes Release Robot
7606cf7b3d CHANGELOG: Update directory for v1.30.0-rc.2 release 2024-04-11 17:05:57 +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
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
Ruediger Pluem
988bc86016 Appease gofmt 2024-04-08 20:06:56 +02:00
Ruediger Pluem
db51d5f99c Fix linter hints 2024-04-08 17:51:24 +02:00
Ruediger Pluem
0e13fa24ae Move flag mapping to a separate function and unit test it 2024-04-08 17:16:35 +02:00
Kevin Hannon
43e0bd4304 mark flaky jobs as flaky and move them to a different job 2024-04-08 09:27:15 -04:00
Kubernetes Prow Robot
9791f0d1f3
Merge pull request #124206 from cpanato/update-rules
Update publishing-bot rules to Go 1.21.9
2024-04-06 19:52:22 -07:00
cpanato
d19bff9a02
Update publishing-bot rules to Go 1.21.9
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-04-06 12:34:48 +02:00
Kubernetes Prow Robot
f8930f980d
Merge pull request #124196 from cpanato/update-go-main
[go] Bump images, dependencies and versions to go 1.22.2 and distroless iptables
2024-04-05 07:30:42 -07:00
cpanato
1366f1f447
[go] Bump images, dependencies and versions to go 1.22.2 and distroless iptables
Signed-off-by: cpanato <ctadeu@gmail.com>
2024-04-05 14:27:57 +02:00
Ruediger Pluem
3e646cd8cf Align go.mod and go.sum
Signed-off-by: Ruediger Pluem <ruediger.pluem@vodafone.com>
2024-04-04 14:34:12 +02:00
Ruediger Pluem
2bdacbf685 Fix bind mounts of filesystems with specific mount options set
Currently bind mounts of filesystems with nodev, noexec, nosuid,
noatime, relatime or nodiratime options set fail if we are running in a
user namespace if the same options are not set for the bind mount.

In case we are running in a user name space fix this by searching the
mount options of the source filesystem for nodev, noexec, nosuid,
noatime, relatime or nodiratime and retry the bind mount with the
options found added.

Signed-off-by: Ruediger Pluem <ruediger.pluem@vodafone.com>
2024-04-04 14:25:30 +02:00
Kubernetes Prow Robot
d9c54f69d4
Merge pull request #124174 from dims/update-x/net-for-CVE-2023-45288
Update x/net for CVE-2023-45288
2024-04-03 20:13:01 -07:00
Davanum Srinivas
99fac38d28
Update x/net for CVE-2023-45288
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-04-03 19:56:04 -04:00
Kubernetes Release Robot
6673e7a93d CHANGELOG: Update directory for v1.30.0-rc.1 release 2024-04-02 19:30:33 +00:00
Kubernetes Prow Robot
ec301a5cc7
Merge pull request #124099 from cpanato/update-set-cap-debian-base
update setcap/debian-base to bookworm-v1.0.2
2024-04-02 08:24:11 -07:00
Kubernetes Prow Robot
c9f6d4e172
Merge pull request #124019 from alexzielenski/fix-ratcheting-flake
fix test flake caused by not waiting for CRD schema update
2024-04-02 07:00:11 -07: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
Nadia Pinaeva
20bd3dd774 Update knftables to v0.0.16
Signed-off-by: Nadia Pinaeva <n.m.pinaeva@gmail.com>
2024-04-02 11:57:47 +02:00
Kubernetes Prow Robot
e3bb757129
Merge pull request #124143 from enj/enj/i/svm_update_crd_flake
svm test: wait after updating CRD to avoid flakes
2024-04-01 14:19:35 -07:00
Monis Khan
f338ab5f95
svm test: wait after updating CRD to avoid flakes
Signed-off-by: Monis Khan <mok@microsoft.com>
2024-04-01 16:15:29 -04:00
Kubernetes Prow Robot
79c61d5f03
Merge pull request #124124 from carlory/fix-124120
fix panic with SIGSEGV in kubeadm certs check-expiration
2024-04-01 01:35:34 -07:00
carlory
363fee59e4 fix panic with SIGSEGV in kubeadm certs check-expiration 2024-04-01 11:09:53 +08:00
Alex Zielenski
0add741012 fix test flake caused by not waiting for CRD schema update 2024-03-29 08:54:10 -07:00
Kubernetes Prow Robot
3dedb8eb8c
Merge pull request #124111 from liggitt/deflake-authz-test
Deflake authz config reload test
2024-03-29 08:53:43 -07:00
Jordan Liggitt
02139c9102
Deflake authz config reload test 2024-03-29 10:18:45 -04:00
Andrew DeMaria
9edf1fc51c
generate fully qualified type references
Currently type references for non-local names are output as relative
types which is subject to the resolution rules as defined at
https://protobuf.com/docs/language-spec#reference-resolution
This works fine within the k8s.io namespace where no subpackages are
named k8s, but other users of go-to-protobuf likely have k8s in their
package name. This causes conflicts in the search resolution when
executing `go-to-protobuf`:

```
company.example.com/k8s/custom/pkg/apis/custom.k8s.example.com/v1/generated.proto:64:12: "k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta" is resolved to "company.example.com.k8s.custom.pkg.apis.custom.k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta") to start from the outermost scope.
```

To avoid this we can output fully qualified type references using a
preceding dot (.)

This results in a change for k8s generated.proto files, but the
effect is a noop.

Fixes kubernetes/code-generator#147

Signed-off-by: Andrew DeMaria <ademaria@cloudflare.com>
2024-03-28 09:34:11 -06: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
Kubernetes Prow Robot
f4e246bc93
Merge pull request #123908 from Nordix/esotsal/OOMKiller
oomkiller_linux_test: fix warnings
2024-03-27 11:42:19 -07:00
Kubernetes Prow Robot
531726ee65
Merge pull request #124078 from dims/bump-publishing-130
releng: update publishing bot rules for 1.30
2024-03-27 08:52:54 -07:00
Davanum Srinivas
06e69e4b09
releng: update publishing bot rules for 1.30
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2024-03-27 10:42:45 -04:00
Kubernetes Release Robot
d098af353c CHANGELOG: Update directory for v1.30.0-rc.0 release 2024-03-27 09:49:51 +00: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
Kubernetes Prow Robot
03ce045844
Merge pull request #124048 from bertinatto/fix-uncertain-reconstruction-gate
Use the right feature gate when updating uncertain volumes
2024-03-27 01:54:53 -07:00
Patrick Ohly
5a130d2b71 apimachinery runtime: support contextual logging
In contrast to the original HandleError and HandleCrash, the new
HandleErrorWithContext and HandleCrashWithContext functions properly do contextual
logging, so if a problem occurs while e.g. dealing with a certain request and
WithValues was used for that request, then the error log entry will also
contain information about it.

The output changes from unstructured to structured, which might be a breaking
change for users who grep for panics. Care was taken to format panics
as similar as possible to the original output.

For errors, a message string gets added. There was none before, which made it
impossible to find all error output coming from HandleError.

Keeping HandleError and HandleCrash around without deprecating while changing
the signature of callbacks is a compromise between not breaking existing code
and not adding too many special cases that need to be supported. There is some
code which uses PanicHandlers or ErrorHandlers, but less than code that uses
the Handle* calls.

In Kubernetes, we want to replace the calls. logcheck warns about them in code
which is supposed to be contextual. The steps towards that are:
- add TODO remarks as reminder (this commit)
- locally remove " TODO(pohly): " to enable the check with `//logcheck:context`,
  merge fixes for linter warnings
- once there are none, remove the TODO to enable the check permanently
2024-03-26 17:28:45 +01: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
Haibing Zhou
87b4279e07 workqueue: make queue as configurable
The default queue implementation is mostly FIFO and it is not
exchangeable unless we implement the whole `workqueue.Interface` which
is less desirable as we have to duplicate a lot of code. There was one
attempt done in [kubernetes/kubernetes#109349][1] which tried to
implement a priority queue. That is really useful and [knative/pkg][2]
implemented something called two-lane-queue. While two lane queue is
great, but isn't perfect since a full slow queue can still slow down
items in fast queue.

This change proposes a swappable queue implementation while not adding
extra maintenance effort in kubernetes community. We are happy to
maintain our own queue implementation (similar to two-lane-queue) in
downstream.

[1]: https://github.com/kubernetes/kubernetes/pull/109349
[2]: https://github.com/knative/pkg/blob/main/controller/two_lane_queue.go
2024-03-25 20:47:15 -07: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
SataQiu
c1f2167803 kubeadm: stop storing the ResolverConfig in the global KubeletConfiguration and instead set it dynamically for each node 2024-03-25 18:26:46 +08:00
Kubernetes Prow Robot
20d0ab7ae8
Merge pull request #124011 from bart0sh/PR138-e2e_node-fix-podresurces-failure
e2e_node: fix podresources test
2024-03-22 08:16:08 -07:00
Kubernetes Prow Robot
1b3e4e792b
Merge pull request #123978 from deads2k/add-stefan
add stefan as apimachinery tech lead
2024-03-22 08:15:57 -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