We use constants.OldestKubernetesVersion for testing the oldest version
and limiting --kubernetes-version when starting the clusters. Our
tradition is testing 6 releases back from current version, but we were
testing 14 release back (1.20.0).
For upgrading containerd to latest version (v2.1.4) we need to upgrade
to a newer release. Upgrade constants.OldestKubernetesVersion to 1.28.0
which seems to pass all tests.
legacyVersion() used in version_upgrade_test.go was 1.26.0. The comment
in file mention that this should be release from the last 6 month. We do
see failures in the relevant tests (TestRunningBinaryUpgrade) in many
builds so I bumped it as well to 1.32.0 (2 releases back from current).
In preload_test.go we tested --kubernetes-version=1.24.4 which is not
compatible with containerd v2. Use legacyVersion() instead so we don't
need to maintain another version.
We had many example of --kubernetes-version in the docs using older
version which are not supported. Replace all example with current
version to minimize future maintenance. We need to automated this later
so updating the version in minikube will also update the examples.
With this change we have 2 places to update kubernetes versions:
- constants.*KubernetesVersion
- legacyVersion()
On darwin parallel was limited to 2 instead of nproc/1.75. Hopefully
this will speed up integration tests that take about 1 hour with the
hard coded limit.
Updated ingress-dns addon Pod template to align with current
deployment requirements:
* Added hostPort mapping for UDP 53
* Mounted ConfigMap for configurable DNS settings
* Introduced dns-nodata-delay-ms option via ConfigMap
- Switched default ingress-dns image reference from
gcr.io/k8s-minikube/minikube-ingress-dns to
kicbase/minikube-ingress-dns (multi-arch build available
on Docker Hub).
- Left legacy image mapping in aliyun_mirror.json for
backward compatibility, while adding new kicbase mapping.
Signed-off-by: Kartik Joshi <karikjoshi21@gmail.com>
Modified the Stackdriver link because the existing one no more exists. No clear the exact replacement in the opentelemetry site (exists exporter for rust, .net, etc... but not totally clear for this specific case where information is not more present) but it seems the added link is referencing to the Google Cloud Operations Suite that "replace" to stackdriver.
Replace traditional append-in-loop patterns with modern Go functions slices.Sorted(), slices.Collect(), and maps.Keys()/maps.Values()
Changes made (5 files):
- cmd/minikube/cmd/config/addons_list.go: Use slices.Sorted(maps.Keys())
- cmd/minikube/cmd/version.go: Use slices.Sorted(maps.Keys())
- hack/changelog/changelog.go: Use slices.Collect(maps.Keys())
- pkg/minikube/node/cache.go: Use slices.Collect(maps.Keys())
- pkg/minikube/registry/registry.go: Use slices.Collect(maps.Values())
Files skipped due to complexity:
- pkg/drivers/kic/oci/oci.go
- pkg/drivers/hyperkit/driver.go
- pkg/drivers/kvm/gpu.go
- pkg/drivers/kvm/numa.go [Unrelated slice optimization possible, can be addressed along with other similar code]
- pkg/minikube/tunnel/kic/*
- cmd/minikube/cmd/service.go
- hack/legacy_fill_db/filldb.go
These cases require more sophisticated transformation logic that might be better addressed in separate issue/PR
The echoserver-arm:1.8 image is not an arm64 image:
% kubectl create deployment echoserver --image registry.k8s.io/echoserver-arm:1.8
deployment.apps/echoserver created
% kubectl logs deploy/echoserver
exec /usr/sbin/nginx: exec format error
% minikube ssh -- sudo nerdctl -n k8s.io image ls registry.k8s.io/echoserver-arm:1.8
REPOSITORY TAG IMAGE ID CREATED PLATFORM SIZE BLOB SIZE
registry.k8s.io/echoserver-arm 1.8 b33d4cdf6ed0 About a minute ago linux/amd64 90.1 MiB 43.2 MiB
Replace with kickbase/echo-server we used in other tests.
With this change ServerCmdConnect pass. The other test using the broken
arm image was not failing, maybe it was not checking the deployment
status properly.
Functional tests time reduced from 230 seconds to 200 seconds:
--- FAIL: TestFunctional (200.87s)