diff --git a/hack/jenkins/e2e.sh b/hack/jenkins/e2e.sh index c6e23b6854a..c74276f6055 100755 --- a/hack/jenkins/e2e.sh +++ b/hack/jenkins/e2e.sh @@ -105,6 +105,17 @@ GCE_FLAKY_TESTS=( "allows\sscheduling\sof\spods\son\sa\sminion\safter\sit\srejoins\sthe\scluster" # file: resize_nodes.go, issue: #13258 ) +# The following tests are known to be slow running (> 2 min), and are +# thus run only in their own -slow- build variants. Note that tests +# can be slow by explicit design (e.g. some soak tests), or slow +# through poor implementation. Please indicate which applies in the +# comments below, and for poorly implemented tests, please quote the +# issue number tracking speed improvements. +GCE_SLOW_TESTS=( + "SchedulerPredicates\svalidates\sMaxPods\slimit " # 8 min, file: scheduler_predicates.go, PR: #13315 + "Nodes\sResize" # 3 min 30 sec, file: resize_nodes.go, issue: #13323 + ) + # Tests which are not able to be run in parallel. GCE_PARALLEL_SKIP_TESTS=( ${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} @@ -153,7 +164,7 @@ GCE_RELEASE_SKIP_TESTS=( # Define environment variables based on the Jenkins project name. case ${JOB_NAME} in - # Runs all non-flaky tests on GCE, sequentially. + # Runs all non-flaky, non-slow tests on GCE, sequentially. kubernetes-e2e-gce) : ${E2E_CLUSTER_NAME:="jenkins-gce-e2e"} : ${E2E_DOWN:="false"} @@ -161,6 +172,7 @@ case ${JOB_NAME} in : ${GINKGO_TEST_ARGS:="--ginkgo.skip=$(join_regex_allow_empty \ ${GCE_DEFAULT_SKIP_TESTS[@]:+${GCE_DEFAULT_SKIP_TESTS[@]}} \ ${GCE_FLAKY_TESTS[@]:+${GCE_FLAKY_TESTS[@]}} \ + ${GCE_SLOW_TESTS[@]:+${GCE_SLOW_TESTS[@]}} \ )"} : ${KUBE_GCE_INSTANCE_PREFIX="e2e-gce"} : ${PROJECT:="k8s-jkns-e2e-gce"} @@ -202,6 +214,18 @@ case ${JOB_NAME} in : ${PROJECT:="k8s-jkns-e2e-gce-flaky"} ;; + # Runs slow tests on GCE, sequentially. + kubernetes-e2e-gce-slow) + : ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-slow"} + : ${E2E_DOWN:="false"} + : ${E2E_NETWORK:="e2e-slow"} + : ${GINKGO_TEST_ARGS:="--ginkgo.focus=$(join_regex_no_empty \ + ${GCE_SLOW_TESTS[@]:+${GCE_SLOW_TESTS[@]}} \ + )"} + : ${KUBE_GCE_INSTANCE_PREFIX:="e2e-slow"} + : ${PROJECT:="k8s-jkns-e2e-gce-slow"} + ;; + # Runs all non-flaky tests on GCE in parallel. kubernetes-e2e-gce-parallel) : ${E2E_CLUSTER_NAME:="jenkins-gce-e2e-parallel"}