StorageCapacityScoring is now beta and enabled by default at binary
version v1.37+, so explicitly setting it via SetFeatureGateDuringTest
before each test case is no longer necessary. Remove the restoreFeatures
field and its usages.
- Bump the binary version to 1.37 so the beta default takes effect.
The existing "default config" test now implicitly covers the
enabled-by-default case.
- Update the existing test: rename from "alpha" to "beta" and fix
`restoreFeatures` to restore to `true` (the beta default).
- Add a new test case for the opt-out scenario (explicitly disabling
the beta feature).
StorageCapacityScoring was introduced as alpha in v1.33 (default: false)
and is now promoted to beta (default: true).
Update tests to account for the new default behavior: when
StorageCapacityScoring is enabled, SetDefaults_VolumeBindingArgs now
populates Shape in VolumeBindingArgs, which existing tests did not
expect.
- Add default Shape to expected VolumeBindingArgs in test fixtures
and explicit test cases
- Disable StorageCapacityScoring in TestValidateVolumeBindingArgs
cases that only test BindTimeoutSeconds validation
- Explicitly set EnableStorageCapacityScoring: true in
TestSchedulerSchedulePod's feature.Features struct
- Strip Shape from VolumeBinding args in Test_UnionedGVKs when
using emulation version 1.33 or 1.34 (where StorageCapacityScoring
is alpha and disabled by default)
In 1.37 kube-proxy will start throwing warnings if the
user has not set the 'mode' field explicitly.
This is part of the steps to migrate the default 'mode'
from 'iptables' to 'nftables'.
During kubeadm join, the mandatory kubeadm-config ConfigMap fetch uses
GetConfigMapWithShortRetry, which has a 350ms polling budget. When the
API server is slow to respond, the single GET attempt blocks for up to
10 seconds (the client timeout), exhausting the polling budget with no
retry. Since this call site has no fallback, the join fails.
Add a shortConfigMapGet parameter to getInitConfigurationFromCluster
and FetchInitConfigurationFromCluster. When false, the kubeadm-config
ConfigMap is fetched using KubernetesAPICallTimeout (default 1 minute,
user-configurable) with retries, matching the pattern used by
getAPIEndpointFromPodAnnotation. When true, the existing
GetConfigMapWithShortRetry is used for callers like kubeadm reset that
don't need a long retry.
Signed-off-by: Damiano Donati <damiano.donati@gmail.com>
StorageCapacityScoring is introduced as Alpha at v1.33. With binary
version set to 1.32, it is PreAlpha and cannot be set explicitly,
causing a panic when registering the feature gate.
Remove the v1beta3 API which was deprecated since v1.31.
Additionally, remove the PublicKeysECDSA feature gate which
was only kept for backwards compatibility with v1beta3.
The support for ECDSA keys was added as part of v1beta4
via ClusterConfiguration.EncryptionAlgorithm.
Perform various cleanups in unit tests, fuzzer, conversion logic.
Remove no longer used fields from the internal types.
- Consolidate utils existing under cmd/kubeadm/test
in subpackages under cmd/kubeadm/app/util.
- Remove the various integration tests present under
cmd/kubeadm/test. These provide little value as kubeadm has
UT coverage for its commands and subcommands already.
Additionally we also have e2e test coverage.
The existence of the package was legacy and it was kept mainly
because of the utils that it had which were imported in various
kubeadm/app packages (and it felt wrong).
Pass contextual loggers into the cAdvisor MachineInfo path so the Windows cAdvisor implementation no longer falls back to klog.TODO(). Also use the existing constructor logger for Windows perf counter initialization.
This reverts commit d66330609c.
The feature gate StorageCapacityScoring has been promoted to alpha,
so the restriction imposed by Compatibility Versions (KEP-4330) no
longer applies. Restore the test case that exercises enabling this
feature gate via --feature-gates flag.
Pass a logger into GetBootTime so the Linux fallback path no longer creates a local context.TODO() only to derive a logger.
This keeps boot time lookup behavior unchanged and updates the node startup latency tracker constructor to accept a logger instead of a context, matching contextual logging migration guidelines.
If the user has provided a KubeProxyConfiguration component
config with 'mode: ipvs' show a warning saying that IPVS
mode has been deprecated since 1.35. Recommend 'nftables'
which has been GA since 1.33, or the legacy 'iptables' on
older kernels.