mirror of https://github.com/k3s-io/k3s
![]() Automatic merge from submit-queue Fixes dns autoscaling test flakes Fixes #36457 and fixes #36569. #36457 is flake due to the 10 minutes timeout for scaling down cluster. Changes to use `scaleDownTimeout` from [test/e2e/cluster_size_autoscaling.go](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/cluster_size_autoscaling.go), which is 15 minutes. The failure in #36569 is because we get the schedulable nodes number at the beginning of the test and assume it will not change unless we manually change the cluster size. But below logs indicate there may be nodes become ready after the test has begun. ``` [BeforeEach] [k8s.io] DNS horizontal autoscaling /go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/dns_autoscaling.go:71 Nov 10 00:36:26.951: INFO: Condition Ready of node jenkins-e2e-minion-group-x6w1 is false instead of true. Reason: KubeletNotReady, message: Kubenet does not have netConfig. This is most likely due to lack of PodCIDR STEP: Replace the dns autoscaling parameters with testing parameters Nov 10 00:36:26.961: INFO: DNS autoscaling ConfigMap updated. STEP: Wait for kube-dns scaled to expected number Nov 10 00:36:26.961: INFO: Waiting up to 5m0s for kube-dns reach 8 replicas ... Expected error: <*errors.errorString | 0xc420b17ef0>: { s: "err waiting for DNS replicas to satisfy 8, got 9: timed out waiting for the condition", } err waiting for DNS replicas to satisfy 8, got 9: timed out waiting for the condition not to have occurred ``` This fix puts the logic of counting schedulable nodes into the polling loop. By doing so, the test will have the correct expected replicas count even if schedulable nodes change in between. @bowei @bprashanth --- Updates: all `ExpectNoError(err)` are changed to `Expect(err).NotTo(HaveOccurred())` |
||
---|---|---|
.. | ||
chaosmonkey | ||
common | ||
framework | ||
generated | ||
perftype | ||
testing-manifests | ||
BUILD | ||
addon_update.go | ||
autoscaling_utils.go | ||
batch_v1_jobs.go | ||
cadvisor.go | ||
cluster_logging_es.go | ||
cluster_logging_gcl.go | ||
cluster_logging_utils.go | ||
cluster_size_autoscaling.go | ||
cluster_upgrade.go | ||
cronjob.go | ||
daemon_restart.go | ||
daemon_set.go | ||
dashboard.go | ||
density.go | ||
deployment.go | ||
disruption.go | ||
dns.go | ||
dns_autoscaling.go | ||
dns_configmap.go | ||
e2e-example-config.json | ||
e2e.go | ||
e2e_test.go | ||
empty.go | ||
empty_dir_wrapper.go | ||
etcd_failure.go | ||
events.go | ||
example_cluster_dns.go | ||
example_k8petstore.go | ||
examples.go | ||
federated-ingress.go | ||
federated-namespace.go | ||
federated-secret.go | ||
federated-service.go | ||
federation-apiserver.go | ||
federation-authn.go | ||
federation-daemonset.go | ||
federation-deployment.go | ||
federation-event.go | ||
federation-replicaset.go | ||
federation-util-14.go | ||
federation-util.go | ||
garbage_collector.go | ||
generated_clientset.go | ||
gke_local_ssd.go | ||
gke_node_pools.go | ||
google_compute.go | ||
ha_master.go | ||
horizontal_pod_autoscaling.go | ||
ingress.go | ||
ingress_utils.go | ||
initial_resources.go | ||
job.go | ||
kibana_logging.go | ||
kube_proxy.go | ||
kubectl.go | ||
kubelet.go | ||
kubelet_perf.go | ||
limit_range.go | ||
load.go | ||
logging_soak.go | ||
mesos.go | ||
metrics_grabber_test.go | ||
monitoring.go | ||
namespace.go | ||
network_partition.go | ||
networking.go | ||
networking_perf.go | ||
node_problem_detector.go | ||
nodeoutofdisk.go | ||
opaque_resource.go | ||
pd.go | ||
persistent_volumes.go | ||
petset.go | ||
pod_gc.go | ||
pods.go | ||
portforward.go | ||
pre_stop.go | ||
proxy.go | ||
rc.go | ||
reboot.go | ||
replica_set.go | ||
rescheduler.go | ||
resize_nodes.go | ||
resource_quota.go | ||
restart.go | ||
scheduler_predicates.go | ||
security_context.go | ||
service.go | ||
service_accounts.go | ||
service_latency.go | ||
serviceloadbalancers.go | ||
ssh.go | ||
third-party.go | ||
ubernetes_lite.go | ||
util_iperf.go | ||
volume_provisioning.go | ||
volumes.go |