Benjamin Elder
eab1fe8ed7
delete v1.33.0 testdata
2026-09-01 17:51:20 -07:00
Benjamin Elder
a58f772aa0
Add v1.37.0 API testdata
2026-09-01 17:51:20 -07:00
Benjamin Elder
4fac831e90
add BenTheElder to conformance approvers
...
I have been a formally listed reviewer for ~14 months, with a nearly decade long tenure of involvement in testing Kubernetes (including TLing SIG Testing) and many PR reviews of conformance tests and related behavior:
https://github.com/search?q=repo%3Akubernetes%2Fkubernetes+type%3Apr+reviewed-by%3ABenTheElder+label%3Aarea%2Fconformance&type=pullrequests
I have also been involved in SIG Architecture meetings on the subject, assorted KEPs and threads, our conformance CI and tooling.
self-nominating as an additional active conformance approver
2026-09-01 15:53:53 -07:00
Benjamin Elder
4a814ef92a
test/images: don't depend on golang:<version> docker tags
...
Bumping .go-version can break the e2e test image build jobs when the
matching golang:<version> tag has not been published to docker hub yet.
Instead pin the builder image by digest in one place (GOLANG_IMAGE in
test/images/Makefile) and let GOTOOLCHAIN select the go version we
actually build with.
2026-08-27 20:42:21 -07:00
Benjamin Elder
55dc4aaf55
upgrade .go-version to 1.26.6
...
this ensures all *production* binaries (not e2e test images) shipped with the release are compiled with 1.26.6, which contains CVE fixes
https://groups.google.com/d/msgid/golang-announce/4f84cf61.EAAACRzWXsgAAAAAAAAAA-p9MGAAAYKKSQYAAAAAADE8OwBqfhLk%40mailjet.com
2026-08-13 12:09:31 -07:00
Benjamin Elder
4dcbaf2840
test/integration: split PodGroup preemption tests into own package
...
The scheduler preemption integration package shares a flat 600s timeout
(KUBE_TIMEOUT in hack/make-rules/test-integration.sh) and had grown to
consume essentially all of it. When it went over, ktesting cancelled the
context mid-test and tore down the shared API server, so every remaining
subtest failed with connection refused. Whichever test happened to be
last in the package absorbed the failure regardless of its own cost.
The PodGroup preemption tests account for roughly half the runtime:
TestPodGroupPreemption 166.5s
TestCompositePodGroupPreemption 100.6s
TestPodGroupPreemption_NominatedNodeNameRespected 7.0s
TestPodGroupCycleStatePreserved 4.1s
TestPodGroupPreemptionStatus 3.7s
They are self-contained, sharing no symbols with the rest of the package
in either direction, so move them to a subpackage that gets its own
timeout budget. This follows the existing preemption/misc and
preemption/nominatednodename layout.
No test logic changes.
2026-07-29 23:47:12 -07:00
Benjamin Elder
6dde6d61f8
Promote ManifestBasedAdmissionControlConfig to beta
2026-07-14 10:34:14 -07:00
Benjamin Elder
273bb110c2
Add integration test for webhook virtual resource exclusion
2026-07-14 10:16:42 -07:00
Benjamin Elder
73ad530e91
Exclude auth/authz virtual resources from admission webhooks
2026-07-14 10:16:42 -07:00
Benjamin Elder
26ae7380e6
Start webhook plugin test informers after ValidateInitialization to match runtime ordering
2026-07-13 23:51:25 -07:00
Benjamin Elder
41c9d02c5c
Add ExcludeAdmissionWebhookVirtualResources feature gate
2026-06-25 09:29:24 -07:00
Benjamin Elder
c90b6dbecb
upgrade go to 1.26.4
2026-06-03 12:07:03 -07:00
Benjamin Elder
400de60be2
remove opencontainers/cgroups dependency from e2e tests
...
- ensures tests compile portably (tests may use linux features *in the cluster*, not in the test binary)
- decouples from future changes to runc, by checking cpu weight direction instead of identical computation
2026-05-15 14:37:22 -07:00
Benjamin Elder
baf616deeb
increase evalduration and margin for TestTooWide
...
this has negligible impact on test runtime (the test takes ~0.3 to ~0.4s either way) but gives more time to converge on the expected values in busy CI
we slightly increase the margin closer to historical values
when this flakes in CI, the actual margin has been slightly above 0.34
2026-05-08 15:33:49 -07:00
Benjamin Elder
ec5f4dce1b
undeprecate enable-logs-handler
...
This is an opt-in feature to expose logs, while there are some security concerns, functionaly it is very similar to the recently GA-ed NodeLogQuery, which is also opt-in.
This feature has been "deprecated" since 1.15 without removal and is still actively used by multiple installers / distros (e.g. GKE, https://github.com/zalando-incubator/kubernetes-on-aws )
It is not reasonable to plan removal after 20+ releases, and there do not seem to be any plans to do so.
2026-05-08 14:19:24 -07:00
Benjamin Elder
59fcb6b6aa
TestNodeDeclaredFeatureAdmission: retry transient node "not found" errors
2026-05-08 12:11:35 -07:00
Benjamin Elder
2092df7cf3
leverage GOTOOLCHAIN to enable agnhost builds before golang image is updated following CVEs
2026-05-07 18:44:46 -07:00
Benjamin Elder
85e3c846fb
bump busybox image version
2026-05-07 18:30:55 -07:00
Benjamin Elder
741ee38160
use stable curl download link
...
https://curl.se/windows/
TODO: everything about this image is a supply-chain nightmare ...
2026-05-07 18:28:53 -07:00
Benjamin Elder
cbcdbcf903
fix glibc-dns-testing image build
2026-05-07 18:08:22 -07:00
Benjamin Elder
41822d4688
upgrade go to 1.26.3
2026-05-07 09:44:23 -07:00
Benjamin Elder
686a126f69
hack/update-vendor.sh
2026-04-24 19:38:58 -07:00
Benjamin Elder
e16b18ab4c
register zfs cadvisor plugin
2026-04-24 19:36:42 -07:00
Benjamin Elder
7ef0d61c4d
Add release-1.36 publishing bot rules
...
go run k8s.io/publishing-bot/cmd/update-rules@latest -branch=release-1.36 --rules=./staging/publishing/rules.yaml -o ./staging/publishing/rules.yaml
then manually re-add the comments (TODO: make this tool preserve comments)
2026-04-08 16:21:39 -07:00
Benjamin Elder
33724b9a86
enable PLEGOnDemandRelist in feature unit tests
2026-03-19 11:19:41 -07:00
Benjamin Elder
0d2c2cf5b2
UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test k8s.io/api -count=1
2026-03-17 20:29:53 -07:00
Benjamin Elder
bf0d191a15
Add v1.35.0 API testdata
2026-03-17 19:54:54 -07:00
Benjamin Elder
6d7dca82c4
hack/update-openapi-spec.sh
2026-03-17 18:03:57 -07:00
Benjamin Elder
ce9ad95192
UPDATE_COMPATIBILITY_FIXTURE_DATA=true make test WHAT=k8s.io/api
2026-03-17 17:37:24 -07:00
Benjamin Elder
9f60cc3c4e
hack/update-codegen.sh
2026-03-17 17:37:23 -07:00
Benjamin Elder
f6d42d302b
make VolumeMountStatus.VolumeStatus a pointer to preserve serialization compatibility
2026-03-17 17:37:23 -07:00
Benjamin Elder
608be1252a
suggest running tests after adding testdata *without test caching*
2026-03-17 16:06:27 -07:00
Benjamin Elder
e78f851177
split linux and portable deviceattribute unit tests
2026-03-06 15:40:21 -08:00
Benjamin Elder
df8b5e40a5
add script to test go modules with advertised versions
2026-03-06 15:37:37 -08:00
Benjamin Elder
21006ff248
document "Kind" e2e feature
2026-03-06 14:06:27 -08:00
Benjamin Elder
aa9d704fb8
upgrade go to 1.26.1
...
Now that we've shipped the key changes in https://docs.google.com/document/d/10HujH6PL0ez3vviA03I01_mbJWs9Xp99gIDWnnNXyco/edit?tab=t.0
patch upgrades should just be this single file. I will look into automated updates next.
2026-03-05 17:25:38 -08:00
Benjamin Elder
6f0f757f0a
use go 1.21 as default publishing bot go version
2026-03-05 10:51:51 -08:00
Benjamin Elder
01b23c96c1
drop go patch version from dependencies.yaml, now that it is tracked solely in .go-version
2026-03-05 10:50:53 -08:00
Benjamin Elder
9007ee2527
drop go versions from publishing bot config, allow fallback to go.mod versions
...
see: https://github.com/kubernetes/publishing-bot/issues/529
2026-03-05 10:48:49 -08:00
Benjamin Elder
9f8eca1566
add kube-log-runner to images on the fly, replicating the same /go-runner path as the current base image
...
https://github.com/kubernetes/release/blob/d98562ea2eedb105e8a0134dd997d531b9792c2f/images/build/go-runner/Dockerfile#L68-L70
2026-03-03 16:00:02 -08:00
Benjamin Elder
2257cdc413
remove unused env from common.sh
...
I searched the whole repo for usage with no hits, these are stale from the rsync code
2026-02-10 15:16:56 -08:00
Benjamin Elder
a15b558fd6
add dockerized go cache to make clean
2026-02-10 14:54:44 -08:00
Benjamin Elder
f356122aef
clarifying adding new test images
2026-02-04 10:23:15 -08:00
Benjamin Elder
94aa043a7b
upgrade go to 1.25.7 for core binaries
2026-02-04 08:44:00 -08:00
Benjamin Elder
2d8a26a79c
remove build tags from test e2e internal unittests
2026-02-02 11:35:53 -08:00
Benjamin Elder
4c37109787
clone dep-approvers list to dep-reviewers to avoid warning about empty alias
...
we could remove the alias everywhere instead, but that's higher-churn, and the distinction may be useful in the future with onboarding new reviewer => approvers
2026-01-15 12:19:49 -08:00
Benjamin Elder
a60d114402
emeritus logicalhan, rest in peace
...
https://github.com/cncf/memorials/blob/main/han-kang.md
2026-01-15 12:18:02 -08:00
Benjamin Elder
9e27ee8042
bump go to 1.25.6 for CVE fixes
2026-01-15 11:25:15 -08:00
Benjamin Elder
bb2899fc4a
apidiff: autodetect remote and default branch
2025-11-20 16:48:02 -08:00
Benjamin Elder
1ce140d105
update github.com/opencontainers/selinux to v1.13.0
2025-11-12 14:46:31 +00:00
Benjamin Elder
3b3e4dd2c4
fix missing major.minor in golang: upstream version
2025-11-06 14:52:38 -08:00
Benjamin Elder
fbe8d4c63c
upgrade go to 1.25.4
2025-11-06 09:49:48 -08:00
Benjamin Elder
481f30bd64
hack/update-conformance-yaml.sh
2025-11-05 14:27:15 -08:00
Benjamin Elder
30965ea3ce
drop MinimumKubeletVersion for unsupported kubelet versions
...
Versions 1.20, 1.21, 1.22, 1.23, 1.27 are all well out of support
2025-11-05 14:25:20 -08:00
Benjamin Elder
8200f9a22c
add missing apiversion to run_group_snapshot_e2e.sh
2025-11-04 13:10:56 -08:00
Benjamin Elder
bbbe23dac7
Reapply "prepare DRA kind config for kubeadm v1beta4"
...
This reverts commit 1fc389c43f .
2025-11-04 07:34:57 -08:00
Benjamin Elder
2b0bfbfb8e
removed unused functionality from run_group_snapshot.sh and prepare for kubeadm v1beta4 config
2025-10-31 14:19:43 -07:00
Benjamin Elder
a3ce49a11e
prepare kms kind config for kubeadm v1beta4
2025-10-31 14:19:43 -07:00
Benjamin Elder
d17ed9be17
prepare DRA kind config for kubeadm v1beta4
2025-10-31 13:04:56 -07:00
Benjamin Elder
a99a5c4bdc
avoid updating when endpoint subsets are merely sorted differently
2025-10-22 08:07:19 -07:00
Benjamin Elder
4e29dcdf75
remove deadcode HashObject from k8s.io/kubectl/pkg/util
...
I can't find evidence that anything is using this anymore, if anyone does depend on this it is a tiny function that depends only on public symbols and they can just place a copy somewhere else.
2025-10-21 15:25:11 -07:00
Benjamin Elder
6cb2849928
switch endpointslice hashing from md5 to fnv-1a
...
128 bit fnv-1a is a pretty good non-cryptographic drop-in for md5, it should be faster
2025-10-21 15:25:11 -07:00
Benjamin Elder
edbc0dc258
switch endpoints hashing from md5 to fnv-1a
...
128 bit fnv-1a is a pretty good non-cryptographic drop-in for md5, it should be faster
2025-10-21 15:25:11 -07:00
Benjamin Elder
dba6c30e96
switch kubelet static pod internal UID to fnv
...
fnv-1a in 128bit should be a drop-in replacement for md5 in non-cryptographic use that is faster and not obsolete
2025-10-21 15:25:11 -07:00
Benjamin Elder
b3373320da
switch volumemanager reconciler tests to fnv-1a
...
128 bit fnv-1a is a pretty good non-cryptographic drop-in for md5, it should be faster, and this test code is not sensitive anyhow
2025-10-21 15:25:11 -07:00
Benjamin Elder
797d316519
mark remaining md5 usage TODO and exclude from lint
2025-10-21 15:25:11 -07:00
Benjamin Elder
b0a15b9163
switch storage e2e tests from md5 to sha256
2025-10-21 15:25:11 -07:00
Benjamin Elder
e0df6b178a
migrate kubeadm static pod hashing to fnv-1a
...
128bit fnv-1a should be drop-in for md5 while being fast and non-obsolete
for non-cryptographic purposes.
2025-10-21 15:25:11 -07:00
Benjamin Elder
886fdeefae
forbid new use of md5
2025-10-21 15:25:11 -07:00
Benjamin Elder
26cba8ee03
ensure permissions are consistent on dockerized binaries
2025-10-16 11:18:26 -07:00
Benjamin Elder
5b9b8ec732
make localtime mount readonly
2025-10-16 10:26:13 -07:00
Benjamin Elder
1877809f59
cleanup unused rsync related env vars
2025-10-16 10:26:13 -07:00
Benjamin Elder
feeeb4aa19
switch from rsync to cp, drop rsync requirement
2025-10-16 10:26:13 -07:00
Benjamin Elder
e71aa02f96
we no longer need to delete old docker images as we don't build a build-image anymore, we use pre-built kube-cross
2025-10-16 10:26:13 -07:00
Benjamin Elder
ff0a5fff38
cleanup lingering references to kube-build
...
.... excluding build container name and kube-cross version
TODO: build/build-image/cross/VERSION should probably just be a variable in the shell script
2025-10-16 10:26:13 -07:00
Benjamin Elder
b3ad67739a
delete build-image
...
we no longer need this now that we run kube-cross directly
2025-10-16 10:26:13 -07:00
Benjamin Elder
7825b2fc76
drop go-socks5 from build/tools.go
...
I don't think this was ever needed in the root module
2025-10-15 21:23:18 -07:00
Benjamin Elder
30c3c990d0
prevent shellcheck warning
...
https://www.shellcheck.net/wiki/SC2153
this is not a mispelling of KUBE_OUTPUT_SUBPATH, the unprefixed version is an optional override which sets _KUBE_OUTPUT_SUBPATH, which is handled in hack/lib/init.sh where golang.sh is sourced
2025-10-15 20:18:31 -07:00
Benjamin Elder
563919c685
don't update _output/bin symlink in dockerized builds
2025-10-15 20:18:31 -07:00
Benjamin Elder
605f402d44
use relative symlink for output path
...
resolves issues with creating symlinks inside the build container via bind mount instead of rsync-ing them out
2025-10-15 13:12:38 -07:00
Benjamin Elder
6f820481d3
bump to go 1.25.3
2025-10-14 10:44:59 -07:00
Benjamin Elder
86d0697319
remove blank line between comments and entry
2025-10-13 10:33:27 -07:00
Benjamin Elder
19311b932f
reorder kube-cross to be under go version and dedupe it from the go version
2025-10-13 10:31:50 -07:00
Benjamin Elder
ced2a40b9e
kubeadm preflight checks: fix host URL construction
2025-10-13 10:27:22 -07:00
Benjamin Elder
e669ccda0f
update build/README.md to reflect removal of rsync/data containers
2025-10-13 09:47:24 -07:00
Benjamin Elder
7d2309f059
cleanup unused rsync utilities
2025-10-13 09:47:24 -07:00
Benjamin Elder
faa62c8ce6
cleanup KUBE_RSYNC_CONTAINER*, KUBE_DATA_CONTAINER*, DOCKER_MOUNT_ARGS
2025-10-13 09:47:24 -07:00
Benjamin Elder
36526c3815
delete more now-unused shell functions
2025-10-13 09:47:24 -07:00
Benjamin Elder
5a05c062c3
delete now unused kube::build::copy_output and kube::build::build_image
2025-10-13 09:47:24 -07:00
Benjamin Elder
7ed65b466d
remove defunct comments about updating copy_output
2025-10-13 09:47:24 -07:00
Benjamin Elder
dee429c165
remove unused scripts
2025-10-13 09:47:24 -07:00
Benjamin Elder
eaeed1a534
remove calls to kube::build::build_image and kube::build::copy_output
2025-10-13 09:47:24 -07:00
Benjamin Elder
581012fe06
build by running kube-cross directly
...
eliminate rsync dance, data container, and building a build image every time
2025-10-13 09:47:21 -07:00
Benjamin Elder
d5ae324fb6
don't require build tools to clean
...
removing the output already only uses docker opportunistically cleanup after docker builds, the rest of cleanup should not require any of these
previously on a clean mac install you can install docker + `bash` and building like `make WHAT=cmd/kubectl` will work but `make clean` will fail due to lack of gnu-tar
2025-10-10 14:12:28 -07:00
Benjamin Elder
efda517d93
speed up make clean by narrowing recursive chmod
2025-10-09 16:55:36 -07:00
Benjamin Elder
52dec274b3
add TODO to migrate when new metrics mature and old metrics are deprecated
2025-10-02 15:03:29 -07:00
Benjamin Elder
7c529f25f4
add apiserver_validation_declarative_validation_panic_total invariant
2025-10-02 15:00:44 -07:00
Benjamin Elder
84ce0f57f2
add test to verify invariants are fully specified
2025-10-02 14:57:49 -07:00
Benjamin Elder
41ae5cdf4b
check invariant metrics after e2e tests
2025-10-02 14:08:08 -07:00
Benjamin Elder
88d6e6c465
drop automaxprocs hacks now that go 1.25 handles this built in
...
https://go.dev/doc/go1.25#container-aware-gomaxprocs
2025-09-17 16:36:15 -07:00