Skip to content
Open
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
478305a
Add Azure Terraform inputs for security performance eval
charleswool Sep 22, 2025
64617a6
Add azure.json for Terraform test inputs
charleswool Sep 22, 2025
b12654e
Update security performance evaluation configuration
charleswool Sep 22, 2025
1780efb
Modify AKS configuration for performance testing
charleswool Sep 22, 2025
a23d91b
Configure performance evaluation schedules and parameters
charleswool Sep 22, 2025
e313ad0
Adjust nodeCountMax and maxPods in azure.tfvars
charleswool Sep 22, 2025
a7855a8
Update azure.tfvars
charleswool Sep 22, 2025
5b8c7e1
Update pipelines/system/new-pipeline-test.yml
charleswool Sep 22, 2025
f18b35a
Update pipelines/system/new-pipeline-test.yml
charleswool Sep 22, 2025
6548bd5
Update pipelines/system/new-pipeline-test.yml
charleswool Sep 22, 2025
a1d019d
Update azure.tfvars
charleswool Sep 22, 2025
69f508e
Update azure.tfvars
charleswool Sep 22, 2025
439c1ff
Update azure.tfvars
charleswool Sep 22, 2025
d1e33e1
Update azure.tfvars
charleswool Sep 22, 2025
589f2e3
Update azure.tfvars
charleswool Sep 22, 2025
2718dde
Update azure.tfvars
charleswool Sep 22, 2025
abbdb89
Update azure.tfvars
charleswool Sep 22, 2025
65570a0
Update azure.tfvars
charleswool Sep 22, 2025
86935c9
Update new-pipeline-test.yml
charleswool Sep 24, 2025
ff3b86e
Update azure.tfvars
charleswool Sep 24, 2025
ee81dcd
Update new-pipeline-test.yml
charleswool Sep 24, 2025
a27aea4
Update new-pipeline-test.yml
charleswool Sep 24, 2025
cb309b0
Update cron schedules and related conditions
charleswool Sep 24, 2025
21b24b8
Update azure-1000nodes.tfvars
charleswool Sep 24, 2025
5f94df6
Adjust max_count for user pools in Azure config
charleswool Sep 24, 2025
37aa737
Reduce node and pod count to 1000
charleswool Sep 24, 2025
eb35a7f
Update azure.tfvars
charleswool Sep 24, 2025
8c1b841
Add service CIDR and DNS service IP to azure.tfvars
charleswool Sep 24, 2025
cf3e4c2
Update azure.tfvars
charleswool Sep 24, 2025
771d42d
Update azure.tfvars
charleswool Sep 24, 2025
17fcfa2
Update azure.tfvars
charleswool Sep 24, 2025
0677b1c
Update azure.tfvars
charleswool Sep 25, 2025
347609a
Update azure.tfvars
charleswool Sep 25, 2025
322f0ae
Update new-pipeline-test.yml
charleswool Sep 25, 2025
64b9412
Update azure.tfvars
charleswool Sep 25, 2025
d408197
Update azure.tfvars
charleswool Sep 25, 2025
e4d4a83
Adjust node and pod counts in new pipeline test
charleswool Sep 25, 2025
fb0d046
Update new-pipeline-test.yml
charleswool Sep 25, 2025
6324604
Update azure.tfvars
charleswool Sep 29, 2025
84832d0
Change node_count for scalepool1 to 251
charleswool Sep 29, 2025
4123e2d
Fix formatting issue in azure.tfvars
charleswool Sep 29, 2025
7807656
Update azure.tfvars
charleswool Sep 29, 2025
e324ee1
Update azure.tfvars
charleswool Oct 2, 2025
ea543a2
Update new-pipeline-test.yml
charleswool Oct 2, 2025
2a6bbbd
Update new-pipeline-test.yml
charleswool Oct 2, 2025
e5a0d5c
Update AKS role and name in azure.tfvars
charleswool Oct 2, 2025
47ab516
Remove unnecessary blank lines in YAML file
charleswool Oct 2, 2025
e52c0f8
Create karpenter_nodepool.azure.yml
charleswool Oct 2, 2025
4c0b013
Merge branch 'main' into security-perf
charleswool Oct 2, 2025
d82a292
Add disable-ssh-benchmark.yml for security evaluation
charleswool Oct 2, 2025
8e813c3
Update new-pipeline-test.yml
charleswool Oct 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
141 changes: 125 additions & 16 deletions pipelines/system/new-pipeline-test.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,134 @@
trigger: none
schedules:
# Azure Small Scale(10) Schedule
- cron: "0 2 * * *"
displayName: "2:00 AM Daily"
branches:
include:
- main
always: true
# Azure Medium Scale(500) Schedule
- cron: "0 11 * * *"
displayName: "Every day at 11:00 AM"
branches:
include:
- main
always: true
# Azure Large Scale(1000) Schedule
- cron: "0 23 * * *"
displayName: "Every day at 11:00 PM"
branches:
include:
- main
always: true

variables:
SCENARIO_TYPE: <scenario-type>
SCENARIO_NAME: <scenario-name>
SCENARIO_TYPE: perf-eval
SCENARIO_NAME: security-perf

stages:
- stage: <stage-name> # format: <cloud>[_<region>]+ (e.g. azure_eastus2, aws_eastus_westus)
- stage: azure_eastus2_small_scale
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], '2:00 AM Daily'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml # must keep as is
- template: /jobs/competitive-test.yml
parameters:
cloud: <cloud> # e.g. azure, aws
regions: # list of regions
- region1 # e.g. eastus2
topology: <topology> # e.g. cluster-autoscaler
engine: <engine> # e.g. clusterloader2
matrix: # list of test parameters to customize the provisioned resources
<case-name>:
<key1>: <value1>
<key2>: <value2>
max_parallel: <number of concurrent jobs> # required
credential_type: service_connection # required
cloud: azure
regions:
- eastus2
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250423"
topology: cluster-autoscaler
matrix:
small-scale-on-demand:
cpu_per_node: 4
node_count: 11
pod_count: 110
scale_up_timeout: "15m"
scale_down_timeout: "15m"
node_label_selector: "cas = dedicated"
node_selector: "{cas: dedicated}"
loop_count: 5
warmup_deployment: false
capacity_type: on-demand
max_parallel: 1
timeout_in_minutes: 360
credential_type: service_connection
ssh_key_enabled: false

- stage: azure_australiaeast_medium_scale
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 11:00 AM'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml
parameters:
cloud: azure
regions:
- australiaeast
terraform_input_file_mapping:
- australiaeast: "scenarios/perf-eval/security-perf/terraform-inputs/azure.tfvars"
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250423"
topology: cluster-autoscaler
matrix:
medium-scale-on-demand:
cpu_per_node: 2
node_count: 501
pod_count: 501
scale_up_timeout: "40m"
scale_down_timeout: "40m"
node_label_selector: "cas = dedicated"
node_selector: "{cas: dedicated}"
loop_count: 1
warmup_deployment: false
capacity_type: on-demand
max_parallel: 1
timeout_in_minutes: 360
credential_type: service_connection
ssh_key_enabled: false

- stage: azure_australiaeast_large_scale
condition: |
or(
eq(variables['Build.CronSchedule.DisplayName'], 'Every day at 11:00 PM'),
eq(variables['Build.Reason'], 'Manual')
)
dependsOn: []
jobs:
- template: /jobs/competitive-test.yml
parameters:
cloud: azure
regions:
- australiaeast
terraform_input_file_mapping:
- australiaeast: "scenarios/perf-eval/security-perf/terraform-inputs/azure.tfvars"
engine: clusterloader2
engine_input:
image: "ghcr.io/azure/clusterloader2:v20250423"
topology: cluster-autoscaler
matrix:
large-scale-demand:
cpu_per_node: 2
node_count: 1000
pod_count: 1000
scale_up_timeout: "60m"
scale_down_timeout: "60m"
node_label_selector: "cas = dedicated"
node_selector: "{cas: dedicated}"
loop_count: 1
warmup_deployment: false
capacity_type: on-demand
max_parallel: 1
timeout_in_minutes: 360
credential_type: service_connection
ssh_key_enabled: false
timeout_in_minutes: 60 # if not specified, default is 60
90 changes: 90 additions & 0 deletions scenarios/perf-eval/security-perf/terraform-inputs/azure.tfvars
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
scenario_type = "perf-eval"
scenario_name = "security-perf"
deletion_delay = "2h"
owner = "aks"

aks_cli_config_list = [
{
role = "cas"
aks_name = "cas"
dns_prefix = "cas"
subnet_name = "aks-network"
sku_tier = "standard"
kubernetes_version = "1.33"
use_aks_preview_cli_extension = true

aks_custom_headers = [
"AKSHTTPCustomFeatures=Microsoft.ContainerService/DisableSSHPreview"
]

default_node_pool = {
name = "system"
node_count = 5
vm_size = "Standard_D4_v5"
}

extra_node_pool = [
{
name = "scalepool1"
node_count = 1
vm_size = "Standard_D2ds_v4"
optional_parameters = [
{
name = "ssh-access"
value = "disabled"
},
{
name = "min-count"
value = 1
},
{
name = "max-count"
value = 501
},
{
name = "max-pods"
value = 110
},
{
name = "labels"
value = "cas=dedicated"
},
{
name = "enable-cluster-autoscaler"
value = ""
}
]
}
]
optional_parameters = [
{
name = "network-plugin"
value = "azure"
},
{
name = "network-plugin-mode"
value = "overlay"
},
{
name = "node-init-taints"
value = "CriticalAddonsOnly=true:NoSchedule"
},
{
name = "pod-cidr"
value = "10.0.0.0/9"
},
{
name = "service-cidr"
value = "192.168.0.0/11"
},
{
name = "dns-service-ip"
value = "192.168.0.10"
},
{
name = "ssh-access"
value = "disabled"
}
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"run_id" : "123456789",
"region" : "eastus2"
}