k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/test/integration/scheduler_perf/config/performance-config.yaml (about) 1 # The following labels are used in this file: 2 # - fast: short execution time, ideally less than 30 seconds 3 # - integration-test: used to select workloads that 4 # run in pull-kubernetes-integration. Choosing those tests 5 # is a tradeoff between code coverage and overall runtime. 6 # - performance: used to select workloads that run 7 # in ci-benchmark-scheduler-perf. Such workloads 8 # must run long enough (ideally, longer than 10 seconds) 9 # to provide meaningful samples for the pod scheduling 10 # rate. 11 # 12 # Combining "performance" and "fast" selects suitable workloads for a local 13 # before/after comparisons with benchstat. 14 15 - name: SchedulingBasic 16 defaultPodTemplatePath: config/pod-default.yaml 17 workloadTemplate: 18 - opcode: createNodes 19 countParam: $initNodes 20 - opcode: createPods 21 countParam: $initPods 22 - opcode: createPods 23 countParam: $measurePods 24 collectMetrics: true 25 workloads: 26 - name: 500Nodes 27 labels: [integration-test, fast] 28 params: 29 initNodes: 500 30 initPods: 500 31 measurePods: 1000 32 - name: 5000Nodes 33 labels: [performance, fast] 34 params: 35 initNodes: 5000 36 initPods: 1000 37 measurePods: 1000 38 39 - name: SchedulingPodAntiAffinity 40 defaultPodTemplatePath: config/pod-with-pod-anti-affinity.yaml 41 workloadTemplate: 42 - opcode: createNodes 43 countParam: $initNodes 44 - opcode: createNamespaces 45 prefix: sched 46 count: 2 47 - opcode: createPods 48 countParam: $initPods 49 namespace: sched-0 50 - opcode: createPods 51 countParam: $measurePods 52 collectMetrics: true 53 namespace: sched-1 54 workloads: 55 - name: 500Nodes 56 labels: [integration-test, fast] 57 params: 58 initNodes: 500 59 initPods: 100 60 measurePods: 400 61 - name: 5000Nodes 62 labels: [performance, fast] 63 params: 64 initNodes: 5000 65 initPods: 1000 66 measurePods: 1000 67 68 - name: SchedulingSecrets 69 defaultPodTemplatePath: config/pod-with-secret-volume.yaml 70 workloadTemplate: 71 - opcode: createNodes 72 countParam: $initNodes 73 - opcode: createPods 74 countParam: $initPods 75 - opcode: createPods 76 countParam: $measurePods 77 collectMetrics: true 78 workloads: 79 - name: 500Nodes 80 labels: [fast] 81 params: 82 initNodes: 500 83 initPods: 500 84 measurePods: 1000 85 - name: 5000Nodes 86 labels: [performance, fast] 87 params: 88 initNodes: 5000 89 initPods: 5000 90 measurePods: 1000 91 92 - name: SchedulingInTreePVs 93 labels: [performance] 94 workloadTemplate: 95 - opcode: createNodes 96 countParam: $initNodes 97 - opcode: createPods 98 countParam: $initPods 99 persistentVolumeTemplatePath: config/pv-aws.yaml 100 persistentVolumeClaimTemplatePath: config/pvc.yaml 101 - opcode: createPods 102 countParam: $measurePods 103 persistentVolumeTemplatePath: config/pv-aws.yaml 104 persistentVolumeClaimTemplatePath: config/pvc.yaml 105 collectMetrics: true 106 workloads: 107 - name: 500Nodes 108 labels: [fast] 109 params: 110 initNodes: 500 111 initPods: 500 112 measurePods: 1000 113 - name: 5000Nodes 114 params: 115 initNodes: 5000 116 initPods: 5000 117 measurePods: 1000 118 119 - name: SchedulingMigratedInTreePVs 120 labels: [performance] 121 workloadTemplate: 122 - opcode: createNodes 123 countParam: $initNodes 124 nodeTemplatePath: config/node-default.yaml 125 nodeAllocatableStrategy: 126 nodeAllocatable: 127 attachable-volumes-csi-ebs.csi.aws.com: "39" 128 csiNodeAllocatable: 129 ebs.csi.aws.com: 130 count: 39 131 migratedPlugins: 132 - "kubernetes.io/aws-ebs" 133 - opcode: createPods 134 countParam: $initPods 135 persistentVolumeTemplatePath: config/pv-aws.yaml 136 persistentVolumeClaimTemplatePath: config/pvc.yaml 137 - opcode: createPods 138 countParam: $measurePods 139 persistentVolumeTemplatePath: config/pv-aws.yaml 140 persistentVolumeClaimTemplatePath: config/pvc.yaml 141 collectMetrics: true 142 workloads: 143 - name: 500Nodes 144 labels: [fast] 145 params: 146 initNodes: 500 147 initPods: 500 148 measurePods: 1000 149 - name: 5000Nodes 150 params: 151 initNodes: 5000 152 initPods: 5000 153 measurePods: 1000 154 155 - name: SchedulingCSIPVs 156 labels: [performance] 157 workloadTemplate: 158 - opcode: createNodes 159 countParam: $initNodes 160 nodeTemplatePath: config/node-default.yaml 161 nodeAllocatableStrategy: 162 nodeAllocatable: 163 attachable-volumes-csi-ebs.csi.aws.com: "39" 164 csiNodeAllocatable: 165 ebs.csi.aws.com: 166 count: 39 167 - opcode: createPods 168 countParam: $initPods 169 persistentVolumeTemplatePath: config/pv-csi.yaml 170 persistentVolumeClaimTemplatePath: config/pvc.yaml 171 - opcode: createPods 172 countParam: $measurePods 173 persistentVolumeTemplatePath: config/pv-csi.yaml 174 persistentVolumeClaimTemplatePath: config/pvc.yaml 175 collectMetrics: true 176 workloads: 177 - name: 500Nodes 178 labels: [integration-test, fast] 179 params: 180 initNodes: 500 181 initPods: 500 182 measurePods: 1000 183 - name: 5000Nodes 184 params: 185 initNodes: 5000 186 initPods: 5000 187 measurePods: 1000 188 189 - name: SchedulingPodAffinity 190 defaultPodTemplatePath: config/pod-with-pod-affinity.yaml 191 workloadTemplate: 192 - opcode: createNodes 193 countParam: $initNodes 194 nodeTemplatePath: config/node-default.yaml 195 labelNodePrepareStrategy: 196 labelKey: "topology.kubernetes.io/zone" 197 labelValues: ["zone1"] 198 - opcode: createNamespaces 199 prefix: sched 200 count: 2 201 - opcode: createPods 202 countParam: $initPods 203 namespace: sched-0 204 - opcode: createPods 205 countParam: $measurePods 206 namespace: sched-1 207 collectMetrics: true 208 workloads: 209 - name: 500Nodes 210 labels: [fast] 211 params: 212 initNodes: 500 213 initPods: 500 214 measurePods: 1000 215 - name: 5000Nodes 216 labels: [performance, fast] 217 params: 218 initNodes: 5000 219 initPods: 5000 220 measurePods: 1000 221 222 - name: SchedulingPreferredPodAffinity 223 labels: [performance] 224 defaultPodTemplatePath: config/pod-with-preferred-pod-affinity.yaml 225 workloadTemplate: 226 - opcode: createNodes 227 countParam: $initNodes 228 - opcode: createNamespaces 229 prefix: sched 230 count: 2 231 - opcode: createPods 232 countParam: $initPods 233 namespace: sched-0 234 - opcode: createPods 235 countParam: $measurePods 236 namespace: sched-1 237 collectMetrics: true 238 workloads: 239 - name: 500Nodes 240 labels: [integration-test, fast] 241 params: 242 initNodes: 500 243 initPods: 500 244 measurePods: 1000 245 - name: 5000Nodes 246 params: 247 initNodes: 5000 248 initPods: 5000 249 measurePods: 1000 250 251 - name: SchedulingPreferredPodAntiAffinity 252 defaultPodTemplatePath: config/pod-with-preferred-pod-affinity.yaml 253 workloadTemplate: 254 - opcode: createNodes 255 countParam: $initNodes 256 - opcode: createNamespaces 257 prefix: sched 258 count: 2 259 - opcode: createPods 260 countParam: $initPods 261 namespace: sched-0 262 - opcode: createPods 263 countParam: $measurePods 264 namespace: sched-1 265 collectMetrics: true 266 workloads: 267 - name: 500Nodes 268 labels: [fast] 269 params: 270 initNodes: 500 271 initPods: 500 272 measurePods: 1000 273 - name: 5000Nodes 274 labels: [performance, fast] 275 params: 276 initNodes: 5000 277 initPods: 5000 278 measurePods: 1000 279 280 - name: SchedulingNodeAffinity 281 defaultPodTemplatePath: config/pod-with-node-affinity.yaml 282 workloadTemplate: 283 - opcode: createNodes 284 countParam: $initNodes 285 nodeTemplatePath: config/node-default.yaml 286 labelNodePrepareStrategy: 287 labelKey: "topology.kubernetes.io/zone" 288 labelValues: ["zone1"] 289 - opcode: createPods 290 countParam: $initPods 291 - opcode: createPods 292 countParam: $measurePods 293 collectMetrics: true 294 workloads: 295 - name: 500Nodes 296 labels: [fast] 297 params: 298 initNodes: 500 299 initPods: 500 300 measurePods: 1000 301 - name: 5000Nodes 302 labels: [performance, fast] 303 params: 304 initNodes: 5000 305 initPods: 5000 306 measurePods: 1000 307 308 - name: TopologySpreading 309 workloadTemplate: 310 - opcode: createNodes 311 countParam: $initNodes 312 nodeTemplatePath: config/node-default.yaml 313 labelNodePrepareStrategy: 314 labelKey: "topology.kubernetes.io/zone" 315 labelValues: ["moon-1", "moon-2", "moon-3"] 316 - opcode: createPods 317 countParam: $initPods 318 podTemplatePath: config/pod-default.yaml 319 - opcode: createPods 320 countParam: $measurePods 321 podTemplatePath: config/pod-with-topology-spreading.yaml 322 collectMetrics: true 323 workloads: 324 - name: 500Nodes 325 labels: [integration-test, fast] 326 params: 327 initNodes: 500 328 initPods: 1000 329 measurePods: 1000 330 - name: 5000Nodes 331 labels: [performance, fast] 332 params: 333 initNodes: 5000 334 initPods: 5000 335 measurePods: 2000 336 337 - name: PreferredTopologySpreading 338 labels: [performance] 339 workloadTemplate: 340 - opcode: createNodes 341 countParam: $initNodes 342 nodeTemplatePath: config/node-default.yaml 343 labelNodePrepareStrategy: 344 labelKey: "topology.kubernetes.io/zone" 345 labelValues: ["moon-1", "moon-2", "moon-3"] 346 - opcode: createPods 347 countParam: $initPods 348 podTemplatePath: config/pod-default.yaml 349 - opcode: createPods 350 countParam: $measurePods 351 podTemplatePath: config/pod-with-preferred-topology-spreading.yaml 352 collectMetrics: true 353 workloads: 354 - name: 500Nodes 355 labels: [fast] 356 params: 357 initNodes: 500 358 initPods: 1000 359 measurePods: 1000 360 - name: 5000Nodes 361 params: 362 initNodes: 5000 363 initPods: 5000 364 measurePods: 2000 365 366 - name: MixedSchedulingBasePod 367 labels: [performance] 368 defaultPodTemplatePath: config/pod-default.yaml 369 workloadTemplate: 370 - opcode: createNodes 371 countParam: $initNodes 372 nodeTemplatePath: config/node-default.yaml 373 labelNodePrepareStrategy: 374 labelKey: "topology.kubernetes.io/zone" 375 labelValues: ["zone1"] 376 - opcode: createNamespaces 377 prefix: sched 378 count: 1 379 - opcode: createPods 380 countParam: $initPods 381 namespace: sched-0 382 - opcode: createPods 383 countParam: $initPods 384 podTemplatePath: config/pod-with-pod-affinity.yaml 385 namespace: sched-0 386 - opcode: createPods 387 countParam: $initPods 388 podTemplatePath: config/pod-with-pod-anti-affinity.yaml 389 namespace: sched-0 390 - opcode: createPods 391 countParam: $initPods 392 podTemplatePath: config/pod-with-preferred-pod-affinity.yaml 393 namespace: sched-0 394 - opcode: createPods 395 countParam: $initPods 396 podTemplatePath: config/pod-with-preferred-pod-anti-affinity.yaml 397 namespace: sched-0 398 - opcode: createPods 399 countParam: $measurePods 400 collectMetrics: true 401 workloads: 402 - name: 500Nodes 403 labels: [integration-test, fast] 404 params: 405 initNodes: 500 406 initPods: 200 407 measurePods: 1000 408 - name: 5000Nodes 409 params: 410 initNodes: 5000 411 initPods: 2000 412 measurePods: 1000 413 414 - name: PreemptionBasic 415 labels: [performance] 416 workloadTemplate: 417 - opcode: createNodes 418 countParam: $initNodes 419 - opcode: createPods 420 countParam: $initPods 421 podTemplatePath: config/pod-low-priority.yaml 422 - opcode: createPods 423 countParam: $measurePods 424 podTemplatePath: config/pod-high-priority.yaml 425 collectMetrics: true 426 workloads: 427 - name: 500Nodes 428 labels: [fast] 429 params: 430 initNodes: 500 431 initPods: 2000 432 measurePods: 500 433 # This test case always seems to fail. 434 # https://github.com/kubernetes/kubernetes/issues/108308 435 # 436 # - name: 5000Nodes 437 # params: 438 # initNodes: 5000 439 # initPods: 20000 440 # measurePods: 5000 441 442 - name: PreemptionPVs 443 labels: [performance] 444 workloadTemplate: 445 - opcode: createNodes 446 countParam: $initNodes 447 - opcode: createPods 448 countParam: $initPods 449 podTemplatePath: config/pod-low-priority.yaml 450 - opcode: createPods 451 countParam: $measurePods 452 podTemplatePath: config/pod-high-priority.yaml 453 persistentVolumeTemplatePath: config/pv-aws.yaml 454 persistentVolumeClaimTemplatePath: config/pvc.yaml 455 collectMetrics: true 456 workloads: 457 - name: 500Nodes 458 labels: [fast] 459 params: 460 initNodes: 500 461 initPods: 2000 462 measurePods: 500 463 # This test case always seems to fail. 464 # https://github.com/kubernetes/kubernetes/issues/108308 465 # 466 # - name: 5000Nodes 467 # params: 468 # initNodes: 5000 469 # initPods: 20000 470 # measurePods: 5000 471 472 - name: Unschedulable 473 workloadTemplate: 474 - opcode: createNodes 475 countParam: $initNodes 476 - opcode: createPods 477 countParam: $initPods 478 podTemplatePath: config/pod-large-cpu.yaml 479 skipWaitToCompletion: true 480 - opcode: createPods 481 countParam: $measurePods 482 podTemplatePath: config/pod-default.yaml 483 collectMetrics: true 484 workloads: 485 - name: 500Nodes/200InitPods 486 labels: [fast] 487 params: 488 initNodes: 500 489 initPods: 200 490 measurePods: 1000 491 - name: 5000Nodes/200InitPods 492 labels: [performance, fast] 493 params: 494 initNodes: 5000 495 initPods: 200 496 measurePods: 5000 497 - name: 5000Nodes/2000InitPods 498 params: 499 initNodes: 5000 500 initPods: 2000 501 measurePods: 5000 502 503 - name: SchedulingWithMixedChurn 504 workloadTemplate: 505 - opcode: createNodes 506 countParam: $initNodes 507 - opcode: churn 508 mode: recreate 509 number: 1 510 templatePaths: 511 - config/churn/node-default.yaml 512 - config/pod-high-priority-large-cpu.yaml 513 - config/churn/service-default.yaml 514 intervalMilliseconds: 1000 515 - opcode: createPods 516 countParam: $measurePods 517 podTemplatePath: config/pod-default.yaml 518 collectMetrics: true 519 workloads: 520 - name: 1000Nodes 521 labels: [integration-test, fast] 522 params: 523 initNodes: 1000 524 measurePods: 1000 525 - name: 5000Nodes 526 labels: [performance, fast] 527 params: 528 initNodes: 5000 529 measurePods: 2000 530 531 - name: SchedulingRequiredPodAntiAffinityWithNSSelector 532 labels: [performance] 533 defaultPodTemplatePath: config/pod-anti-affinity-ns-selector.yaml 534 workloadTemplate: 535 - opcode: createNodes 536 countParam: $initNodes 537 - opcode: createNamespaces 538 prefix: init-ns 539 countParam: $initNamespaces 540 namespaceTemplatePath: config/namespace-with-labels.yaml 541 - opcode: createNamespaces 542 prefix: measure-ns 543 count: 1 544 namespaceTemplatePath: config/namespace-with-labels.yaml 545 - opcode: createPodSets 546 countParam: $initNamespaces 547 namespacePrefix: init-ns 548 createPodsOp: 549 opcode: createPods 550 countParam: $initPodsPerNamespace 551 - opcode: createPods 552 countParam: $measurePods 553 collectMetrics: true 554 namespace: measure-ns-0 555 workloads: 556 - name: 500Nodes 557 labels: [fast] 558 params: 559 initNodes: 500 560 initPodsPerNamespace: 4 561 initNamespaces: 10 562 measurePods: 100 563 - name: 5000Nodes 564 params: 565 initNodes: 5000 566 initPodsPerNamespace: 40 567 initNamespaces: 100 568 measurePods: 1000 569 570 - name: SchedulingPreferredAntiAffinityWithNSSelector 571 labels: [performance] 572 defaultPodTemplatePath: config/pod-preferred-anti-affinity-ns-selector.yaml 573 workloadTemplate: 574 - opcode: createNodes 575 countParam: $initNodes 576 - opcode: createNamespaces 577 prefix: init-ns 578 countParam: $initNamespaces 579 namespaceTemplatePath: config/namespace-with-labels.yaml 580 - opcode: createNamespaces 581 prefix: measure-ns 582 count: 1 583 namespaceTemplatePath: config/namespace-with-labels.yaml 584 - opcode: createPodSets 585 countParam: $initNamespaces 586 namespacePrefix: init-ns 587 createPodsOp: 588 opcode: createPods 589 countParam: $initPodsPerNamespace 590 - opcode: createPods 591 countParam: $measurePods 592 collectMetrics: true 593 namespace: measure-ns-0 594 workloads: 595 - name: 500Nodes 596 labels: [fast] 597 params: 598 initNodes: 500 599 initPodsPerNamespace: 4 600 initNamespaces: 10 601 measurePods: 100 602 - name: 5000Nodes 603 params: 604 initNodes: 5000 605 initPodsPerNamespace: 40 606 initNamespaces: 100 607 measurePods: 1000 608 609 - name: SchedulingRequiredPodAffinityWithNSSelector 610 labels: [performance] 611 defaultPodTemplatePath: config/pod-affinity-ns-selector.yaml 612 workloadTemplate: 613 - opcode: createNodes 614 countParam: $initNodes 615 labelNodePrepareStrategy: 616 labelKey: "topology.kubernetes.io/zone" 617 labelValues: ["zone1"] 618 - opcode: createNamespaces 619 prefix: init-ns 620 countParam: $initNamespaces 621 namespaceTemplatePath: config/namespace-with-labels.yaml 622 - opcode: createNamespaces 623 prefix: measure-ns 624 count: 1 625 namespaceTemplatePath: config/namespace-with-labels.yaml 626 - opcode: createPodSets 627 countParam: $initNamespaces 628 namespacePrefix: init-ns 629 createPodsOp: 630 opcode: createPods 631 countParam: $initPodsPerNamespace 632 - opcode: createPods 633 countParam: $measurePods 634 collectMetrics: true 635 namespace: measure-ns-0 636 workloads: 637 - name: 500Nodes 638 labels: [fast] 639 params: 640 initNodes: 500 641 initPodsPerNamespace: 4 642 initNamespaces: 10 643 measurePods: 100 644 - name: 5000Nodes 645 params: 646 initNodes: 5000 647 initPodsPerNamespace: 50 648 initNamespaces: 100 649 measurePods: 1000 650 651 - name: SchedulingPreferredAffinityWithNSSelector 652 labels: [performance] 653 defaultPodTemplatePath: config/pod-preferred-affinity-ns-selector.yaml 654 workloadTemplate: 655 - opcode: createNodes 656 countParam: $initNodes 657 - opcode: createNamespaces 658 prefix: init-ns 659 countParam: $initNamespaces 660 namespaceTemplatePath: config/namespace-with-labels.yaml 661 - opcode: createNamespaces 662 prefix: measure-ns 663 count: 1 664 namespaceTemplatePath: config/namespace-with-labels.yaml 665 - opcode: createPodSets 666 countParam: $initNamespaces 667 namespacePrefix: init-ns 668 createPodsOp: 669 opcode: createPods 670 countParam: $initPodsPerNamespace 671 - opcode: createPods 672 countParam: $measurePods 673 collectMetrics: true 674 namespace: measure-ns-0 675 workloads: 676 - name: 500Nodes 677 labels: [fast] 678 params: 679 initNodes: 500 680 initPodsPerNamespace: 4 681 initNamespaces: 10 682 measurePods: 100 683 - name: 5000Nodes 684 params: 685 initNodes: 5000 686 initPodsPerNamespace: 50 687 initNamespaces: 100 688 measurePods: 1000 689 690 - name: SchedulingWithNodeInclusionPolicy 691 featureGates: 692 NodeInclusionPolicyInPodTopologySpread: true 693 defaultPodTemplatePath: config/pod-with-node-inclusion-policy.yaml 694 workloadTemplate: 695 - opcode: createNodes 696 countParam: $normalNodes 697 - opcode: createNodes 698 nodeTemplatePath: config/node-with-taint.yaml 699 countParam: $taintNodes 700 - opcode: createPods 701 countParam: $measurePods 702 collectMetrics: true 703 workloads: 704 - name: 500Nodes 705 labels: [fast] 706 params: 707 taintNodes: 100 708 normalNodes: 400 709 measurePods: 400 710 - name: 5000Nodes 711 labels: [performance, fast] 712 params: 713 taintNodes: 1000 714 normalNodes: 4000 715 measurePods: 4000 716 717 # SchedulingWithResourceClaimTemplate uses a ResourceClaimTemplate 718 # and dynamically created ResourceClaim instances for each pod. 719 - name: SchedulingWithResourceClaimTemplate 720 featureGates: 721 DynamicResourceAllocation: true 722 workloadTemplate: 723 - opcode: createNodes 724 countParam: $nodesWithoutDRA 725 - opcode: createNodes 726 nodeTemplatePath: config/dra/node-with-dra-test-driver.yaml 727 countParam: $nodesWithDRA 728 - opcode: createResourceDriver 729 driverName: test-driver.cdi.k8s.io 730 nodes: scheduler-perf-dra-* 731 maxClaimsPerNodeParam: $maxClaimsPerNode 732 - opcode: createAny 733 templatePath: config/dra/resourceclass.yaml 734 - opcode: createAny 735 templatePath: config/dra/resourceclaimtemplate.yaml 736 namespace: init 737 - opcode: createPods 738 namespace: init 739 countParam: $initPods 740 podTemplatePath: config/dra/pod-with-claim-template.yaml 741 - opcode: createAny 742 templatePath: config/dra/resourceclaimtemplate.yaml 743 namespace: test 744 - opcode: createPods 745 namespace: test 746 countParam: $measurePods 747 podTemplatePath: config/dra/pod-with-claim-template.yaml 748 collectMetrics: true 749 workloads: 750 - name: fast 751 labels: [integration-test, fast] 752 params: 753 # This testcase runs through all code paths without 754 # taking too long overall. 755 nodesWithDRA: 1 756 nodesWithoutDRA: 1 757 initPods: 0 758 measurePods: 10 759 maxClaimsPerNode: 10 760 - name: 2000pods_100nodes 761 labels: [performance, fast] 762 params: 763 # In this testcase, the number of nodes is smaller 764 # than the limit for the PodScheduling slices. 765 nodesWithDRA: 100 766 nodesWithoutDRA: 0 767 initPods: 1000 768 measurePods: 1000 769 maxClaimsPerNode: 20 770 - name: 2000pods_200nodes 771 params: 772 # In this testcase, the driver and scheduler must 773 # truncate the PotentialNodes and UnsuitableNodes 774 # slices. 775 nodesWithDRA: 200 776 nodesWithoutDRA: 0 777 initPods: 1000 778 measurePods: 1000 779 maxClaimsPerNode: 10 780 781 # This similar to SchedulingWithResourceClaimTemplate, except 782 # that it uses four claims per pod, from two different drivers. 783 # This emphasizes a bit more the complexity of collaborative 784 # scheduling via PodSchedulingContext. 785 - name: SchedulingWithMultipleResourceClaims 786 featureGates: 787 DynamicResourceAllocation: true 788 workloadTemplate: 789 - opcode: createNodes 790 countParam: $nodesWithoutDRA 791 - opcode: createNodes 792 nodeTemplatePath: config/dra/node-with-dra-test-driver.yaml 793 countParam: $nodesWithDRA 794 - opcode: createResourceDriver 795 driverName: test-driver.cdi.k8s.io 796 nodes: scheduler-perf-dra-* 797 maxClaimsPerNodeParam: $maxClaimsPerNode 798 - opcode: createResourceDriver 799 driverName: another-test-driver.cdi.k8s.io 800 nodes: scheduler-perf-dra-* 801 maxClaimsPerNodeParam: $maxClaimsPerNode 802 - opcode: createAny 803 templatePath: config/dra/resourceclass.yaml 804 - opcode: createAny 805 templatePath: config/dra/another-resourceclass.yaml 806 - opcode: createAny 807 templatePath: config/dra/resourceclaimtemplate.yaml 808 namespace: init 809 - opcode: createAny 810 templatePath: config/dra/another-resourceclaimtemplate.yaml 811 namespace: init 812 - opcode: createPods 813 namespace: init 814 countParam: $initPods 815 podTemplatePath: config/dra/pod-with-many-claim-templates.yaml 816 - opcode: createAny 817 templatePath: config/dra/resourceclaimtemplate.yaml 818 namespace: test 819 - opcode: createAny 820 templatePath: config/dra/another-resourceclaimtemplate.yaml 821 namespace: test 822 - opcode: createPods 823 namespace: test 824 countParam: $measurePods 825 podTemplatePath: config/dra/pod-with-many-claim-templates.yaml 826 collectMetrics: true 827 workloads: 828 - name: fast 829 params: 830 # This testcase runs through all code paths without 831 # taking too long overall. 832 nodesWithDRA: 1 833 nodesWithoutDRA: 1 834 initPods: 0 835 measurePods: 1 836 maxClaimsPerNode: 20 837 - name: 2000pods_100nodes 838 params: 839 # In this testcase, the number of nodes is smaller 840 # than the limit for the PodScheduling slices. 841 nodesWithDRA: 100 842 nodesWithoutDRA: 0 843 initPods: 1000 844 measurePods: 1000 845 maxClaimsPerNode: 40 846 - name: 2000pods_200nodes 847 params: 848 # In this testcase, the driver and scheduler must 849 # truncate the PotentialNodes and UnsuitableNodes 850 # slices. 851 nodesWithDRA: 200 852 nodesWithoutDRA: 0 853 initPods: 1000 854 measurePods: 1000 855 maxClaimsPerNode: 20 856 857 # SchedulingWithResourceClaimTemplate uses a ResourceClaimTemplate 858 # and dynamically creates ResourceClaim instances for each pod. 859 # The driver uses structured parameters. 860 - name: SchedulingWithResourceClaimTemplateStructured 861 featureGates: 862 DynamicResourceAllocation: true 863 workloadTemplate: 864 - opcode: createNodes 865 countParam: $nodesWithoutDRA 866 - opcode: createNodes 867 nodeTemplatePath: config/dra/node-with-dra-test-driver.yaml 868 countParam: $nodesWithDRA 869 - opcode: createResourceDriver 870 driverName: test-driver.cdi.k8s.io 871 nodes: scheduler-perf-dra-* 872 maxClaimsPerNodeParam: $maxClaimsPerNode 873 structuredParameters: true 874 - opcode: createAny 875 templatePath: config/dra/resourceclass-structured.yaml 876 - opcode: createAny 877 templatePath: config/dra/resourceclaimparameters.yaml 878 namespace: init 879 - opcode: createAny 880 templatePath: config/dra/resourceclaimtemplate-structured.yaml 881 namespace: init 882 - opcode: createPods 883 namespace: init 884 countParam: $initPods 885 podTemplatePath: config/dra/pod-with-claim-template.yaml 886 - opcode: createAny 887 templatePath: config/dra/resourceclaimparameters.yaml 888 namespace: test 889 - opcode: createAny 890 templatePath: config/dra/resourceclaimtemplate-structured.yaml 891 namespace: test 892 - opcode: createPods 893 namespace: test 894 countParam: $measurePods 895 podTemplatePath: config/dra/pod-with-claim-template.yaml 896 collectMetrics: true 897 workloads: 898 - name: fast 899 labels: [integration-test, fast] 900 params: 901 # This testcase runs through all code paths without 902 # taking too long overall. 903 nodesWithDRA: 1 904 nodesWithoutDRA: 1 905 initPods: 0 906 measurePods: 10 907 maxClaimsPerNode: 10 908 - name: 2000pods_100nodes 909 labels: [performance, fast] 910 params: 911 # In this testcase, the number of nodes is smaller 912 # than the limit for the PodScheduling slices. 913 nodesWithDRA: 100 914 nodesWithoutDRA: 0 915 initPods: 1000 916 measurePods: 1000 917 maxClaimsPerNode: 20 918 - name: 2000pods_200nodes 919 params: 920 # In this testcase, the driver and scheduler must 921 # truncate the PotentialNodes and UnsuitableNodes 922 # slices. 923 nodesWithDRA: 200 924 nodesWithoutDRA: 0 925 initPods: 1000 926 measurePods: 1000 927 maxClaimsPerNode: 10