k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/config/jobs/kubernetes/sig-scalability/sig-scalability-presubmit-jobs.yaml (about) 1 presubmits: 2 kubernetes/kubernetes: 3 # This job is lighweight version of release blocking periodic job 'ci-kubernetes-e2e-gci-gce-scalability'. 4 # Some elements (like access tokens) are removed to speed up testing. 5 - name: pull-kubernetes-e2e-gce-100-performance 6 cluster: k8s-infra-prow-build 7 always_run: false 8 skip_report: false 9 max_concurrency: 12 10 skip_branches: 11 - release-\d+\.\d+ # per-release image 12 decorate: true 13 path_alias: k8s.io/kubernetes 14 decoration_config: 15 timeout: 120m 16 extra_refs: 17 - org: kubernetes 18 repo: perf-tests 19 base_ref: master 20 path_alias: k8s.io/perf-tests 21 - org: kubernetes 22 repo: release 23 base_ref: master 24 path_alias: k8s.io/release 25 labels: 26 preset-service-account: "true" 27 preset-k8s-ssh: "true" 28 preset-dind-enabled: "true" 29 preset-e2e-scalability-common: "true" 30 preset-e2e-scalability-presubmits: "true" 31 annotations: 32 fork-per-release: "true" 33 testgrid-dashboards: presubmits-kubernetes-scalability 34 testgrid-tab-name: pull-kubernetes-e2e-gce-100-performance 35 spec: 36 containers: 37 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 38 command: 39 - runner.sh 40 - /workspace/scenarios/kubernetes_e2e.py 41 args: 42 - --build=quick 43 - --cluster= 44 - --env=HEAPSTER_MACHINE_TYPE=e2-standard-8 45 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=80 --max-mutating-requests-inflight=0 --profiling --contention-profiling 46 - --extract=local 47 - --flush-mem-after-build=true 48 - --gcp-node-image=gci 49 - --gcp-nodes=100 50 - --gcp-project-type=scalability-project 51 - --gcp-zone=us-east1-b 52 - --provider=gce 53 - --stage=gs://kubernetes-release-pull/ci/pull-kubernetes-e2e-gce-100-performance 54 - --tear-down-previous 55 - --env=CL2_ENABLE_DNS_PROGRAMMING=true 56 - --env=CL2_SCHEDULER_THROUGHPUT_THRESHOLD=0 57 - --env=CL2_ENABLE_API_AVAILABILITY_MEASUREMENT=true 58 - --env=CL2_API_AVAILABILITY_PERCENTAGE_THRESHOLD=99.5 59 - --test=false 60 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 61 - --test-cmd-args=cluster-loader2 62 - --test-cmd-args=--nodes=100 63 - --test-cmd-args=--provider=gce 64 - --test-cmd-args=--experimental-gcp-snapshot-prometheus-disk=true 65 - --test-cmd-args=--experimental-prometheus-disk-snapshot-name=$(JOB_NAME)-$(BUILD_ID) 66 - --test-cmd-args=--experimental-prometheus-snapshot-to-report-dir=true 67 - --test-cmd-args=--prometheus-scrape-kubelets=true 68 - --test-cmd-args=--prometheus-scrape-node-exporter 69 - --test-cmd-args=--report-dir=$(ARTIFACTS) 70 - --test-cmd-args=--testconfig=testing/load/config.yaml 71 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 72 - --test-cmd-args=--testoverrides=./testing/experiments/enable_restart_count_check.yaml 73 - --test-cmd-args=--testoverrides=./testing/experiments/use_simple_latency_query.yaml 74 - --test-cmd-args=--testoverrides=./testing/overrides/load_throughput.yaml 75 - --test-cmd-name=ClusterLoaderV2 76 - --timeout=100m 77 - --use-logexporter 78 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 79 resources: 80 # Using 6 CPU to speed up bazel build phase (2 is enough for the test itself) 81 limits: 82 cpu: 6 83 memory: "14Gi" 84 requests: 85 cpu: 6 86 memory: "14Gi" 87 securityContext: 88 privileged: true 89 90 - name: pull-kubernetes-e2e-gce-big-performance 91 always_run: false 92 max_concurrency: 1 93 branches: 94 # TODO(releng): Remove once repo default branch has been renamed 95 - master 96 - main 97 decorate: true 98 path_alias: k8s.io/kubernetes 99 decoration_config: 100 timeout: 270m 101 extra_refs: 102 - org: kubernetes 103 repo: perf-tests 104 base_ref: master 105 path_alias: k8s.io/perf-tests 106 - org: kubernetes 107 repo: release 108 base_ref: master 109 path_alias: k8s.io/release 110 labels: 111 preset-service-account: "true" 112 preset-k8s-ssh: "true" 113 preset-dind-enabled: "true" 114 preset-e2e-scalability-common: "true" 115 preset-e2e-scalability-presubmits: "true" 116 annotations: 117 testgrid-dashboards: presubmits-kubernetes-scalability 118 testgrid-tab-name: pull-kubernetes-e2e-gce-big-performance 119 spec: 120 containers: 121 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 122 command: 123 - runner.sh 124 - /workspace/scenarios/kubernetes_e2e.py 125 args: 126 - --build=quick 127 - --cluster= 128 - --env=HEAPSTER_MACHINE_TYPE=e2-standard-4 129 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=160 --max-mutating-requests-inflight=0 --profiling --contention-profiling 130 - --extract=local 131 - --flush-mem-after-build=true 132 - --gcp-nodes=500 133 - --gcp-project-type=scalability-presubmit-5k-project 134 - --gcp-zone=us-east1-b 135 - --provider=gce 136 - --stage=gs://kubernetes-release-pull/ci/pull-kubernetes-e2e-gce-big-performance 137 - --tear-down-previous 138 - --test=false 139 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 140 - --test-cmd-args=cluster-loader2 141 - --test-cmd-args=--nodes=500 142 - --test-cmd-args=--provider=gce 143 - --test-cmd-args=--report-dir=$(ARTIFACTS) 144 - --test-cmd-args=--testconfig=testing/load/config.yaml 145 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 146 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 147 - --test-cmd-name=ClusterLoaderV2 148 - --timeout=240m 149 - --use-logexporter 150 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 151 resources: 152 limits: 153 # Using 6 CPU to speed up bazel build phase (4 is enough for the test itself) 154 cpu: 6 155 memory: "16Gi" 156 requests: 157 cpu: 6 158 memory: "16Gi" 159 securityContext: 160 privileged: true 161 162 # This is an equivalent of the ci-kubernetes-e2e-gce-scale-correctness test 163 # at 100 node scale. It's an optional presubmit to simplify testing changes 164 # that affect the releasing blocking ci correctness tests. 165 - name: pull-kubernetes-e2e-gce-correctness 166 cluster: k8s-infra-prow-build 167 always_run: false 168 optional: true 169 decorate: true 170 path_alias: k8s.io/kubernetes 171 decoration_config: 172 timeout: 270m 173 extra_refs: 174 - org: kubernetes 175 repo: release 176 base_ref: master 177 path_alias: k8s.io/release 178 labels: 179 preset-service-account: "true" 180 preset-k8s-ssh: "true" 181 preset-dind-enabled: "true" 182 preset-e2e-scalability-common: "true" 183 annotations: 184 testgrid-dashboards: presubmits-kubernetes-scalability 185 testgrid-tab-name: pull-kubernetes-e2e-gce-correctness 186 spec: 187 containers: 188 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 189 command: 190 - runner.sh 191 - /workspace/scenarios/kubernetes_e2e.py 192 args: 193 - --build=quick 194 - --cluster=gce-cluster 195 - --env=CONCURRENT_SERVICE_SYNCS=20 # support 20 LoadBalancer Services in parallel to deal with existing CI load #122286 196 - --env=HEAPSTER_MACHINE_TYPE=e2-standard-2 197 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=80 --max-mutating-requests-inflight=0 --profiling --contention-profiling 198 - --extract=local 199 - --gcp-master-image=gci 200 - --gcp-node-image=gci 201 - --gcp-node-size=e2-small 202 - --gcp-nodes=100 203 - --gcp-project-type=scalability-project 204 - --gcp-ssh-proxy-instance-name=gce-cluster-master 205 - --gcp-zone=us-east1-b 206 - --ginkgo-parallel=40 207 - --provider=gce 208 - --stage=gs://kubernetes-release-pull/ci/pull-kubernetes-e2e-gce-correctness 209 - --test_args=--ginkgo.skip=\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:([^L].*|L[^o].*|Lo[^a].*|Loa[^d].*)\] --minStartupPods=8 --node-schedulable-timeout=90m 210 - --timeout=240m 211 - --use-logexporter 212 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 213 resources: 214 limits: 215 cpu: 6 216 memory: "16Gi" 217 requests: 218 cpu: 6 219 memory: "16Gi" 220 securityContext: 221 privileged: true 222 223 - name: pull-kubernetes-e2e-gce-scale-performance-manual 224 always_run: false 225 max_concurrency: 1 226 branches: 227 # TODO(releng): Remove once repo default branch has been renamed 228 - master 229 - main 230 decorate: true 231 path_alias: k8s.io/kubernetes 232 decoration_config: 233 timeout: 450m 234 extra_refs: 235 - org: kubernetes 236 repo: perf-tests 237 base_ref: master 238 path_alias: k8s.io/perf-tests 239 - org: kubernetes 240 repo: release 241 base_ref: master 242 path_alias: k8s.io/release 243 labels: 244 preset-service-account: "true" 245 preset-k8s-ssh: "true" 246 preset-dind-enabled: "true" 247 preset-e2e-scalability-common: "true" 248 preset-e2e-scalability-presubmits: "true" 249 annotations: 250 testgrid-dashboards: presubmits-kubernetes-scalability 251 testgrid-tab-name: pull-kubernetes-e2e-gce-large-performance 252 spec: 253 containers: 254 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 255 command: 256 - runner.sh 257 - /workspace/scenarios/kubernetes_e2e.py 258 args: 259 - --build=quick 260 - --cluster= 261 - --env=HEAPSTER_MACHINE_TYPE=e2-standard-32 262 # TODO(mborsz): Adjust or remove this change once we understand coredns 263 # memory usage regression. 264 - --env=KUBE_DNS_MEMORY_LIMIT=300Mi 265 - --extract=local 266 - --flush-mem-after-build=true 267 - --gcp-nodes=5000 268 - --gcp-project-type=scalability-presubmit-5k-project 269 - --gcp-zone=us-east1-b 270 - --provider=gce 271 - --stage=gs://kubernetes-release-pull/ci/pull-kubernetes-e2e-gce-scale-performance-manual 272 - --metadata-sources=cl2-metadata.json 273 - --env=CL2_LOAD_TEST_THROUGHPUT=50 274 - --env=CL2_DELETE_TEST_THROUGHPUT=50 275 - --env=CL2_RATE_LIMIT_POD_CREATION=false 276 - --env=KUBE_CONTROLLER_MANAGER_TEST_ARGS=--endpointslice-updates-batch-period=500ms --endpoint-updates-batch-period=500ms 277 # Overrides CONTROLLER_MANAGER_TEST_ARGS from preset-e2e-scalability-periodics. 278 - --env=CONTROLLER_MANAGER_TEST_ARGS=--profiling --contention-profiling --kube-api-qps=100 --kube-api-burst=100 279 # Overrides SCHEDULER_TEST_ARGS from preset-e2e-scalability-periodics. 280 # TODO(#1311): Clean this up after the experiment - it should allow 281 # to hugely decrease pod-startup-latency across the whole test. 282 # Given that individual controllers have separate QPS limits, we allow 283 # scheduler to keep up with the load from deployment, daemonset and job 284 # performing pod creations at once. 285 - --env=SCHEDULER_TEST_ARGS=--profiling --contention-profiling --kube-api-qps=500 --kube-api-burst=500 286 # With APF only sum of --max-requests-inflight and --max-mutating-requests-inflight matters, so set --max-mutating-requests-inflight to 0. 287 - --env=APISERVER_TEST_ARGS=--max-requests-inflight=640 --max-mutating-requests-inflight=0 --profiling --contention-profiling 288 - --env=CL2_ENABLE_API_AVAILABILITY_MEASUREMENT=true 289 - --env=CL2_API_AVAILABILITY_PERCENTAGE_THRESHOLD=99.5 290 - --test=false 291 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 292 - --test-cmd-args=cluster-loader2 293 - --test-cmd-args=--experimental-gcp-snapshot-prometheus-disk=true 294 - --test-cmd-args=--experimental-prometheus-disk-snapshot-name=$(JOB_NAME)-$(BUILD_ID) 295 - --test-cmd-args=--experimental-prometheus-snapshot-to-report-dir=true 296 - --test-cmd-args=--nodes=5000 297 - --test-cmd-args=--prometheus-scrape-node-exporter 298 - --test-cmd-args=--provider=gce 299 - --test-cmd-args=--report-dir=$(ARTIFACTS) 300 - --test-cmd-args=--testconfig=testing/load/config.yaml 301 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 302 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 303 - --test-cmd-args=--testoverrides=./testing/experiments/enable_restart_count_check.yaml 304 - --test-cmd-args=--testoverrides=./testing/experiments/ignore_known_gce_container_restarts.yaml 305 - --test-cmd-args=--testoverrides=./testing/overrides/5000_nodes.yaml 306 - --test-cmd-name=ClusterLoaderV2 307 - --timeout=420m 308 - --use-logexporter 309 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 310 resources: 311 limits: 312 # Using 6 CPU to speed up bazel build phase (4 is enough for the test itself) 313 cpu: 6 314 memory: "16Gi" 315 requests: 316 cpu: 6 317 memory: "16Gi" 318 securityContext: 319 privileged: true 320 321 - name: pull-kubernetes-kubemark-e2e-gce-big 322 cluster: k8s-infra-prow-build 323 always_run: false 324 optional: true 325 skip_report: false 326 max_concurrency: 12 327 skip_branches: 328 - release-\d+\.\d+ # per-release image 329 decorate: true 330 path_alias: k8s.io/kubernetes 331 decoration_config: 332 timeout: 120m 333 extra_refs: 334 - org: kubernetes 335 repo: perf-tests 336 base_ref: master 337 path_alias: k8s.io/perf-tests 338 - org: kubernetes 339 repo: release 340 base_ref: master 341 path_alias: k8s.io/release 342 labels: 343 preset-service-account: "true" 344 preset-k8s-ssh: "true" 345 preset-dind-enabled: "true" 346 preset-e2e-kubemark-common: "true" 347 preset-e2e-scalability-presubmits: "true" 348 annotations: 349 fork-per-release: "true" 350 testgrid-dashboards: presubmits-kubernetes-scalability 351 testgrid-tab-name: pull-kubernetes-kubemark-e2e-gce-big 352 spec: 353 containers: 354 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 355 command: 356 - runner.sh 357 - /workspace/scenarios/kubernetes_e2e.py 358 args: 359 - --build=quick 360 - --cluster= 361 - --extract=local 362 - --flush-mem-after-build=true 363 - --gcp-master-size=n2-standard-4 364 - --gcp-node-size=e2-standard-8 365 - --gcp-nodes=7 366 - --gcp-project-type=scalability-project 367 - --gcp-zone=us-east1-b 368 - --kubemark 369 - --kubemark-nodes=500 370 - --kubemark-master-size=n2-standard-16 371 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=160 --max-mutating-requests-inflight=0 --profiling --contention-profiling 372 - --provider=gce 373 - --stage=gs://kubernetes-release-pull/ci/pull-kubernetes-kubemark-e2e-gce-big 374 - --tear-down-previous 375 - --test=false 376 - --test_args=--ginkgo.focus=xxxx 377 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 378 - --test-cmd-args=cluster-loader2 379 - --test-cmd-args=--experimental-gcp-snapshot-prometheus-disk=true 380 - --test-cmd-args=--experimental-prometheus-disk-snapshot-name=$(JOB_NAME)-$(BUILD_ID) 381 - --test-cmd-args=--experimental-prometheus-snapshot-to-report-dir=true 382 - --test-cmd-args=--nodes=500 383 - --test-cmd-args=--provider=kubemark 384 - --test-cmd-args=--report-dir=$(ARTIFACTS) 385 - --test-cmd-args=--testconfig=testing/load/config.yaml 386 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 387 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 388 - --test-cmd-args=--testoverrides=./testing/experiments/enable_restart_count_check.yaml 389 - --test-cmd-args=--testoverrides=./testing/experiments/use_simple_latency_query.yaml 390 - --test-cmd-args=--testoverrides=./testing/overrides/kubemark_500_nodes.yaml 391 - --test-cmd-name=ClusterLoaderV2 392 - --timeout=100m 393 - --use-logexporter 394 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 395 # TODO(krzyzacy): Figure out bazel built kubemark image 396 #env: 397 # - name: KUBEMARK_BAZEL_BUILD 398 # value: "y" 399 resources: 400 limits: 401 # Using 6 CPU to speed up bazel build phase (4 is enough for the test itself) 402 cpu: 6 403 memory: 16Gi 404 requests: 405 cpu: 6 406 memory: 16Gi 407 securityContext: 408 privileged: true 409 410 - name: pull-kubernetes-kubemark-e2e-gce-scale 411 cluster: k8s-infra-prow-build 412 always_run: false 413 max_concurrency: 1 414 branches: 415 # TODO(releng): Remove once repo default branch has been renamed 416 - master 417 - main 418 decorate: true 419 path_alias: k8s.io/kubernetes 420 decoration_config: 421 timeout: 1100m 422 extra_refs: 423 - org: kubernetes 424 repo: perf-tests 425 base_ref: master 426 path_alias: k8s.io/perf-tests 427 - org: kubernetes 428 repo: release 429 base_ref: master 430 path_alias: k8s.io/release 431 labels: 432 preset-service-account: "true" 433 preset-k8s-ssh: "true" 434 preset-dind-enabled: "true" 435 preset-e2e-kubemark-common: "true" 436 preset-e2e-kubemark-gce-scale: "true" 437 preset-e2e-scalability-presubmits: "true" 438 annotations: 439 fork-per-release: "true" 440 testgrid-dashboards: presubmits-kubernetes-scalability 441 testgrid-tab-name: pull-kubernetes-kubemark-e2e-gce-scale 442 spec: 443 containers: 444 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 445 command: 446 - runner.sh 447 - /workspace/scenarios/kubernetes_e2e.py 448 args: 449 - --build=quick 450 - --cluster= 451 - --extract=local 452 - --flush-mem-after-build=true 453 - --gcp-node-size=e2-standard-8 454 - --gcp-nodes=84 455 - --gcp-project-type=scalability-project 456 - --gcp-zone=us-east1-b 457 - --kubemark 458 - --kubemark-nodes=5000 459 - --kubemark-master-size=n2-standard-64 460 - --provider=gce 461 - --stage=gs://kubernetes-release-pull/ci/pull-kubernetes-kubemark-e2e-gce-scale 462 # With APF only sum of --max-requests-inflight and --max-mutating-requests-inflight matters, so set --max-mutating-requests-inflight to 0. 463 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=640 --max-mutating-requests-inflight=0 --profiling --contention-profiling 464 - --test=false 465 - --test_args=--ginkgo.focus=xxxx 466 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 467 - --test-cmd-args=cluster-loader2 468 - --test-cmd-args=--experimental-gcp-snapshot-prometheus-disk=true 469 - --test-cmd-args=--experimental-prometheus-disk-snapshot-name=$(JOB_NAME)-$(BUILD_ID) 470 - --test-cmd-args=--experimental-prometheus-snapshot-to-report-dir=true 471 - --test-cmd-args=--nodes=5000 472 - --test-cmd-args=--provider=kubemark 473 - --test-cmd-args=--report-dir=$(ARTIFACTS) 474 - --test-cmd-args=--testconfig=testing/load/config.yaml 475 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 476 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 477 - --test-cmd-name=ClusterLoaderV2 478 - --timeout=1080m 479 - --use-logexporter 480 - --logexporter-gcs-path=gs://k8s-infra-scalability-tests-logs/$(JOB_NAME)/$(BUILD_ID) 481 # TODO(krzyzacy): Figure out bazel built kubemark image 482 #env: 483 # - name: KUBEMARK_BAZEL_BUILD 484 # value: "y" 485 resources: 486 limits: 487 # Using 6 CPU to speed up bazel build phase (4 is enough for the test itself) 488 cpu: 6 489 memory: "16Gi" 490 requests: 491 cpu: 6 492 memory: "16Gi" 493 securityContext: 494 privileged: true 495 496 kubernetes/perf-tests: 497 - name: pull-perf-tests-benchmark-kube-dns 498 cluster: k8s-infra-prow-build 499 always_run: false 500 skip_report: false 501 max_concurrency: 3 502 branches: 503 - master 504 decorate: true 505 path_alias: k8s.io/perf-tests 506 decoration_config: 507 timeout: 140m 508 extra_refs: 509 - org: kubernetes 510 repo: release 511 base_ref: master 512 path_alias: k8s.io/release 513 annotations: 514 testgrid-dashboards: presubmits-kubernetes-scalability 515 testgrid-tab-name: pull-perf-tests-benchmark-kube-dns 516 labels: 517 preset-service-account: "true" 518 preset-k8s-ssh: "true" 519 run_if_changed: ^dns/.*$ 520 spec: 521 containers: 522 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 523 command: 524 - runner.sh 525 - /workspace/scenarios/kubernetes_e2e.py 526 args: 527 - --check-leaked-resources 528 - --cluster=kube-dns-benchmark 529 - --extract=ci/latest 530 - --gcp-nodes=3 531 - --gcp-zone=us-east1-b 532 - --provider=gce 533 - --test=false 534 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 535 - --test-cmd-args=kube-dns 536 - --test-cmd-args=$(ARTIFACTS)/out 537 - --test-cmd-args=$(ARTIFACTS) 538 - --test-cmd-name=KubeDnsBenchmark 539 - --timeout=120m 540 resources: 541 limits: 542 cpu: 4 543 memory: "12Gi" 544 requests: 545 cpu: 4 546 memory: "12Gi" 547 548 - name: pull-perf-tests-clusterloader2 549 cluster: k8s-infra-prow-build 550 always_run: false 551 skip_report: false 552 max_concurrency: 3 553 branches: 554 - master 555 decorate: true 556 path_alias: k8s.io/perf-tests 557 decoration_config: 558 timeout: 120m 559 extra_refs: 560 - org: kubernetes 561 repo: release 562 base_ref: master 563 path_alias: k8s.io/release 564 labels: 565 preset-service-account: "true" 566 preset-k8s-ssh: "true" 567 preset-e2e-scalability-common: "true" 568 preset-e2e-scalability-presubmits: "true" 569 annotations: 570 fork-per-release: "true" 571 testgrid-dashboards: presubmits-kubernetes-scalability 572 testgrid-tab-name: pull-perf-tests-clusterloader2 573 run_if_changed: ^clusterloader2/.*$ 574 spec: 575 containers: 576 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 577 command: 578 - runner.sh 579 - /workspace/scenarios/kubernetes_e2e.py 580 args: 581 - --cluster= 582 - --env=HEAPSTER_MACHINE_TYPE=e2-standard-8 583 - --extract=ci/latest 584 - --gcp-nodes=100 585 - --gcp-project-type=scalability-project 586 - --gcp-zone=us-east1-b 587 - --provider=gce 588 - --tear-down-previous 589 - --env=CL2_ENABLE_DNS_PROGRAMMING=true 590 - --env=CL2_SCHEDULER_THROUGHPUT_THRESHOLD=0 591 - --env=CL2_ENABLE_API_AVAILABILITY_MEASUREMENT=true 592 - --env=CL2_API_AVAILABILITY_PERCENTAGE_THRESHOLD=99.5 593 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=80 --max-mutating-requests-inflight=0 --profiling --contention-profiling 594 - --test=false 595 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 596 - --test-cmd-args=cluster-loader2 597 - --test-cmd-args=--nodes=100 598 - --test-cmd-args=--prometheus-scrape-node-exporter 599 - --test-cmd-args=--provider=gce 600 - --test-cmd-args=--report-dir=$(ARTIFACTS) 601 - --test-cmd-args=--testconfig=testing/load/config.yaml 602 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 603 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 604 - --test-cmd-args=--testoverrides=./testing/experiments/enable_restart_count_check.yaml 605 - --test-cmd-args=--testoverrides=./testing/experiments/use_simple_latency_query.yaml 606 - --test-cmd-args=--testoverrides=./testing/overrides/load_throughput.yaml 607 - --test-cmd-name=ClusterLoaderV2 608 - --timeout=100m 609 - --use-logexporter 610 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 611 resources: 612 limits: 613 cpu: 2 614 memory: "6Gi" 615 requests: 616 cpu: 2 617 memory: "6Gi" 618 619 - name: pull-perf-tests-clusterloader2-kubemark 620 cluster: k8s-infra-prow-build 621 always_run: false 622 skip_report: false 623 max_concurrency: 3 624 branches: 625 - master 626 decorate: true 627 path_alias: k8s.io/perf-tests 628 decoration_config: 629 timeout: 120m 630 extra_refs: 631 - org: kubernetes 632 repo: release 633 base_ref: master 634 path_alias: k8s.io/release 635 labels: 636 preset-service-account: "true" 637 preset-k8s-ssh: "true" 638 preset-dind-enabled: "true" 639 preset-e2e-kubemark-common: "true" 640 preset-e2e-scalability-presubmits: "true" 641 annotations: 642 fork-per-release: "true" 643 testgrid-dashboards: presubmits-kubernetes-scalability 644 testgrid-tab-name: pull-perf-tests-clusterloader2-kubemark 645 run_if_changed: ^clusterloader2/.*$ 646 spec: 647 containers: 648 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 649 command: 650 - runner.sh 651 - /workspace/scenarios/kubernetes_e2e.py 652 args: 653 - --cluster= 654 - --extract=ci/latest 655 - --gcp-master-size=n2-standard-2 656 - --gcp-node-size=e2-standard-4 657 - --gcp-nodes=4 658 - --gcp-project-type=scalability-project 659 - --gcp-zone=us-east1-b 660 - --kubemark 661 - --kubemark-nodes=100 662 - --kubemark-master-size=n2-standard-8 663 - --env=KUBEMARK_APISERVER_TEST_ARGS=--max-requests-inflight=80 --max-mutating-requests-inflight=0 --profiling --contention-profiling 664 - --provider=gce 665 - --tear-down-previous 666 - --test=false 667 - --test_args=--ginkgo.focus=xxxx 668 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 669 - --test-cmd-args=cluster-loader2 670 - --test-cmd-args=--nodes=100 671 - --test-cmd-args=--prometheus-scrape-node-exporter 672 - --test-cmd-args=--provider=kubemark 673 - --env=CL2_ENABLE_DNS_PROGRAMMING=true 674 - --env=CL2_ENABLE_API_AVAILABILITY_MEASUREMENT=true 675 - --test-cmd-args=--report-dir=$(ARTIFACTS) 676 - --test-cmd-args=--testconfig=testing/load/config.yaml 677 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 678 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 679 - --test-cmd-args=--testoverrides=./testing/experiments/enable_restart_count_check.yaml 680 - --test-cmd-args=--testoverrides=./testing/experiments/use_simple_latency_query.yaml 681 - --test-cmd-args=--testoverrides=./testing/overrides/kubemark_load_throughput.yaml 682 - --test-cmd-name=ClusterLoaderV2 683 - --timeout=100m 684 - --use-logexporter 685 - --logexporter-gcs-path=gs://sig-scalability-logs/$(JOB_NAME)/$(BUILD_ID) 686 resources: 687 limits: 688 cpu: 2 689 memory: "6Gi" 690 requests: 691 cpu: 2 692 memory: "6Gi" 693 securityContext: 694 privileged: true 695 696 # Fork of kubernetes/kubernetes: pull-kubernetes-e2e-gce-scale-performance-manual 697 - name: pull-perf-tests-clusterloader2-e2e-gce-scale-performance-manual 698 cluster: k8s-infra-prow-build 699 always_run: false 700 max_concurrency: 1 701 branches: 702 - master 703 decorate: true 704 path_alias: k8s.io/perf-tests 705 decoration_config: 706 timeout: 450m 707 extra_refs: 708 - org: kubernetes 709 repo: release 710 base_ref: master 711 path_alias: k8s.io/release 712 labels: 713 preset-service-account: "true" 714 preset-k8s-ssh: "true" 715 preset-dind-enabled: "true" 716 preset-e2e-scalability-common: "true" 717 preset-e2e-scalability-presubmits: "true" 718 annotations: 719 testgrid-dashboards: presubmits-kubernetes-scalability 720 testgrid-tab-name: pull-perf-tests-clusterloader2-e2e-gce-scale-performance 721 spec: 722 containers: 723 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 724 command: 725 - runner.sh 726 - /workspace/scenarios/kubernetes_e2e.py 727 args: 728 - --cluster= 729 - --env=HEAPSTER_MACHINE_TYPE=e2-standard-32 730 # TODO(mborsz): Adjust or remove this change once we understand coredns 731 # memory usage regression. 732 - --env=KUBE_DNS_MEMORY_LIMIT=300Mi 733 - --extract=ci/fast/latest-fast 734 - --extract-ci-bucket=k8s-release-dev 735 - --gcp-nodes=5000 736 - --gcp-project-type=scalability-scale-project 737 - --gcp-zone=us-east1-b 738 - --provider=gce 739 - --metadata-sources=cl2-metadata.json 740 - --env=CL2_LOAD_TEST_THROUGHPUT=50 741 - --env=CL2_DELETE_TEST_THROUGHPUT=50 742 - --env=CL2_RATE_LIMIT_POD_CREATION=false 743 - --env=KUBE_CONTROLLER_MANAGER_TEST_ARGS=--endpointslice-updates-batch-period=500ms --endpoint-updates-batch-period=500ms 744 # Overrides CONTROLLER_MANAGER_TEST_ARGS from preset-e2e-scalability-periodics. 745 - --env=CONTROLLER_MANAGER_TEST_ARGS=--profiling --contention-profiling --kube-api-qps=100 --kube-api-burst=100 746 # Overrides SCHEDULER_TEST_ARGS from preset-e2e-scalability-periodics. 747 # TODO(#1311): Clean this up after the experiment - it should allow 748 # to hugely decrease pod-startup-latency across the whole test. 749 # Given that individual controllers have separate QPS limits, we allow 750 # scheduler to keep up with the load from deployment, daemonset and job 751 # performing pod creations at once. 752 - --env=SCHEDULER_TEST_ARGS=--profiling --contention-profiling --kube-api-qps=500 --kube-api-burst=500 753 # With APF only sum of --max-requests-inflight and --max-mutating-requests-inflight matters, so set --max-mutating-requests-inflight to 0. 754 - --env=APISERVER_TEST_ARGS=--max-requests-inflight=640 --max-mutating-requests-inflight=0 --profiling --contention-profiling 755 - --env=CL2_ENABLE_API_AVAILABILITY_MEASUREMENT=true 756 - --env=CL2_API_AVAILABILITY_PERCENTAGE_THRESHOLD=99.5 757 - --test=false 758 - --test-cmd=$GOPATH/src/k8s.io/perf-tests/run-e2e.sh 759 - --test-cmd-args=cluster-loader2 760 - --test-cmd-args=--experimental-gcp-snapshot-prometheus-disk=true 761 - --test-cmd-args=--experimental-prometheus-disk-snapshot-name=$(JOB_NAME)-$(BUILD_ID) 762 - --test-cmd-args=--experimental-prometheus-snapshot-to-report-dir=true 763 - --test-cmd-args=--nodes=5000 764 - --test-cmd-args=--prometheus-scrape-node-exporter 765 - --test-cmd-args=--provider=gce 766 - --test-cmd-args=--report-dir=$(ARTIFACTS) 767 - --test-cmd-args=--testconfig=testing/load/config.yaml 768 - --test-cmd-args=--testconfig=testing/huge-service/config.yaml 769 - --test-cmd-args=--testconfig=testing/access-tokens/config.yaml 770 - --test-cmd-args=--testoverrides=./testing/experiments/enable_restart_count_check.yaml 771 - --test-cmd-args=--testoverrides=./testing/experiments/ignore_known_gce_container_restarts.yaml 772 - --test-cmd-args=--testoverrides=./testing/overrides/5000_nodes.yaml 773 - --test-cmd-name=ClusterLoaderV2 774 - --timeout=420m 775 resources: 776 limits: 777 # Using 6 CPU to speed up bazel build phase (4 is enough for the test itself) 778 cpu: 6 779 memory: "16Gi" 780 requests: 781 cpu: 6 782 memory: "16Gi" 783 securityContext: 784 privileged: true 785 786 - name: pull-perf-tests-util-images 787 cluster: k8s-infra-prow-build 788 always_run: false 789 skip_report: false 790 max_concurrency: 10 791 run_if_changed: ^util-images/.*$ 792 branches: 793 - master 794 labels: 795 preset-service-account: "true" 796 preset-dind-enabled: "true" 797 decorate: true 798 path_alias: k8s.io/perf-tests 799 decoration_config: 800 timeout: 60m 801 annotations: 802 testgrid-dashboards: presubmits-kubernetes-scalability 803 testgrid-tab-name: pull-perf-tests-util-images 804 spec: 805 containers: 806 - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master 807 command: 808 - runner.sh 809 args: 810 - /home/prow/go/src/k8s.io/perf-tests/util-images/presubmit.sh 811 # docker-in-docker needs privileged mode 812 securityContext: 813 privileged: true 814 resources: 815 requests: 816 cpu: 1 817 memory: "2Gi" 818 limits: 819 cpu: 1 820 memory: "2Gi" 821 822 - name: pull-perf-tests-verify-all-python 823 cluster: k8s-infra-prow-build 824 decorate: true 825 always_run: true 826 skip_branches: 827 - release-1.1[2-9] # Presubmit has been implemented for 1.20+ releases 828 path_alias: "k8s.io/perf-tests" 829 annotations: 830 testgrid-dashboards: presubmits-kubernetes-scalability 831 testgrid-tab-name: pull-perf-tests-verify-python-all 832 spec: 833 containers: 834 - image: python:3 835 command: 836 - make 837 args: 838 - verify-all-python 839 resources: 840 requests: 841 cpu: 1 842 memory: "2Gi" 843 limits: 844 cpu: 1 845 memory: "2Gi" 846 847 - name: pull-perf-tests-verify-test 848 cluster: k8s-infra-prow-build 849 decorate: true 850 always_run: true 851 skip_branches: 852 - release-1.19 # We use verify-all for that branch 853 path_alias: "k8s.io/perf-tests" 854 annotations: 855 testgrid-dashboards: presubmits-kubernetes-scalability 856 testgrid-tab-name: pull-perf-tests-verify-test 857 spec: 858 containers: 859 - image: public.ecr.aws/docker/library/golang:1.20 860 command: 861 - verify/test.sh 862 resources: 863 requests: 864 cpu: 1 865 memory: "2Gi" 866 limits: 867 cpu: 1 868 memory: "2Gi" 869 870 - name: pull-perf-tests-verify-dashboard 871 cluster: k8s-infra-prow-build 872 decorate: true 873 run_if_changed: ^clusterloader2/pkg/prometheus/manifests/dashboards/.*\.json$ 874 skip_branches: 875 - release-1.1[2-8] # Presubmit has been implemented for 1.19+ releases 876 path_alias: "k8s.io/perf-tests" 877 annotations: 878 testgrid-dashboards: presubmits-kubernetes-scalability 879 testgrid-tab-name: pull-perf-tests-verify-dashboard 880 spec: 881 containers: 882 - image: python:3.7 883 command: 884 - make 885 args: 886 - verify-dashboard 887 resources: 888 requests: 889 cpu: 1 890 memory: "2Gi" 891 limits: 892 cpu: 1 893 memory: "2Gi" 894 895 - name: pull-perf-tests-verify-lint 896 cluster: k8s-infra-prow-build 897 decorate: true 898 always_run: true 899 skip_branches: 900 - release-1.1[2-8] # Presubmit has been implemented for 1.19+ releases 901 path_alias: "k8s.io/perf-tests" 902 annotations: 903 testgrid-dashboards: presubmits-kubernetes-scalability 904 testgrid-tab-name: pull-perf-tests-verify-lint 905 spec: 906 containers: 907 - image: golangci/golangci-lint:v1.51.2 908 command: 909 - make 910 args: 911 - verify-lint 912 resources: 913 requests: 914 cpu: 2 915 memory: "2Gi" 916 limits: 917 cpu: 2 918 memory: "2Gi"