diff --git a/pipelines/perf-eval/Autoscale Benchmark/node-auto-provisioning-benchmark.yml b/pipelines/perf-eval/Autoscale Benchmark/node-auto-provisioning-benchmark.yml index d6a6b1630f..64cd0c5612 100644 --- a/pipelines/perf-eval/Autoscale Benchmark/node-auto-provisioning-benchmark.yml +++ b/pipelines/perf-eval/Autoscale Benchmark/node-auto-provisioning-benchmark.yml @@ -125,6 +125,39 @@ stages: credential_type: service_connection ssh_key_enabled: false + - stage: azure_australiaeast_small_scale_on_demand + condition: eq(variables['Build.Reason'], 'Manual') + dependsOn: [] + jobs: + - template: /jobs/competitive-test.yml + parameters: + cloud: azure + regions: + - australiaeast + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250423" + topology: karpenter + matrix: + small-scale-on-demand: + cpu_per_node: 4 + node_count: 10 + pod_count: 100 + scale_up_timeout: "15m" + scale_down_timeout: "15m" + node_label_selector: "karpenter.sh/nodepool = default" + node_selector: "{karpenter.sh/nodepool: default}" + loop_count: 5 + karpenter_cooldown: 900 #seconds + warmup_deployment: true + warmup_deployment_template: warmup_deployment.yaml + vm_size: Standard_D4ds_v4 + capacity_type: on-demand + max_parallel: 1 + timeout_in_minutes: 560 + credential_type: service_connection + ssh_key_enabled: false + - stage: azure_australiaeast_small_scale condition: | or( diff --git a/pipelines/system/new-pipeline-test.yml b/pipelines/system/new-pipeline-test.yml index 63d55f02d9..c2a9360a2d 100644 --- a/pipelines/system/new-pipeline-test.yml +++ b/pipelines/system/new-pipeline-test.yml @@ -1,25 +1,49 @@ trigger: none - +schedules: + # canadacentral - daily + - cron: "0 21 * * *" + displayName: "Every day at 9:00 PM" + branches: + include: + - main + always: true variables: - SCENARIO_TYPE: - SCENARIO_NAME: + SCENARIO_TYPE: perf-eval + SCENARIO_NAME: nap-complex stages: - - stage: # format: [_]+ (e.g. azure_eastus2, aws_eastus_westus) + - stage: azure_canadacentral_ondemand_complex_config dependsOn: [] + variables: + - group: NAP-MS-CanadaCentral jobs: - - template: /jobs/competitive-test.yml # must keep as is + - template: /jobs/competitive-test.yml parameters: - cloud: # e.g. azure, aws - regions: # list of regions - - region1 # e.g. eastus2 - topology: # e.g. cluster-autoscaler - engine: # e.g. clusterloader2 - matrix: # list of test parameters to customize the provisioned resources - : - : - : - max_parallel: # required - credential_type: service_connection # required - ssh_key_enabled: false - timeout_in_minutes: 60 # if not specified, default is 60 + cloud: azure + regions: + - canadacentral + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250912" + topology: karpenter-private-cluster + matrix: + complex-nap: + pod_count: 5000 + pod_cpu_request: 16 + pod_memory_request: "60Gi" + scale_up_timeout: "900s" # 15 minutes + scale_down_timeout: "900s" + node_selector: "{karpenter.sh/nodepool: default}" + loop_count: 1 + warmup_deployment: true + warmup_deployment_template: warmup_deployment.yaml + capacity_type: on-demand + cl2_config_file: "ms_complex_config.yaml" + enable_prometheus: True + scrape_kubelets: True + scrape_ksm: True + enable_apiserver_vnet_integration: "true" + max_parallel: 1 + timeout_in_minutes: 120 + credential_type: service_connection + ssh_key_enabled: true \ No newline at end of file diff --git a/steps/execute-tests.yml b/steps/execute-tests.yml index 84b6e92a2b..ef0c7daf38 100644 --- a/steps/execute-tests.yml +++ b/steps/execute-tests.yml @@ -13,6 +13,11 @@ parameters: default: {} steps: +- script: | + echo "Waiting 20 minutes before starting test execution..." + sleep 1200 # 20 minutes = 1200 seconds + echo "Wait period completed, proceeding with tests" + displayName: "Pre-test wait period" - template: /steps/topology/${{ parameters.topology }}/execute-${{ parameters.engine }}.yml@self parameters: cloud: ${{ parameters.cloud }}