Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions eng/common/scripts/stress-testing/deploy-stress-tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,30 @@ param(

. $PSScriptRoot/stress-test-deployment-lib.ps1

# If there are local changes to values.yaml it's almost certain that the user
# is an admin and has provisioned a new stress cluster but not published a
# new addons chart with the new infra config values. In these cases we should
# just fail, as deploying without the local addons override causes misleading
# errors in the cluster with pods not able to mount storage accounts using the
# old values.yaml reference from the published stress-test-addons helm chart.
if (!$LocalAddonsPath) {
try {
$repoRoot = git -C $PSScriptRoot rev-parse --show-toplevel 2>$null
} catch {
$repoRoot = $null
}

if ($repoRoot -and (Split-Path $repoRoot -Leaf) -eq "azure-sdk-tools") {
$valuesFile = Join-Path $repoRoot "tools/stress-cluster/cluster/kubernetes/stress-test-addons/values.yaml"
if (Test-Path $valuesFile) {
$valuesStatus = git -C $repoRoot status --porcelain -- $valuesFile
if ($valuesStatus) {
$localAddonsDir = Split-Path $valuesFile -Parent
throw "Detected changes to '$valuesFile' without -LocalAddonsPath. Re-run with '-LocalAddonsPath $localAddonsDir' to apply local addon values."
}
}
}
}

CheckDependencies
DeployStressTests @PSBoundParameters
Original file line number Diff line number Diff line change
Expand Up @@ -122,21 +122,21 @@ function DeployStressTests(
if ($clusterGroup -or $subscription) {
Write-Warning "Overriding cluster group and subscription with defaults for 'pg' environment."
}
$clusterGroup = 'rg-stress-cluster-pg'
$clusterGroup = 'SSS3PT_rg-stress-cluster-pg'
$subscription = 'Azure SDK Test Resources - TME'
$tenant = '70a036f6-8e4d-4615-bad6-149c02e7720d'
} elseif ($environment -eq 'prod') {
if ($clusterGroup -or $subscription) {
Write-Warning "Overriding cluster group and subscription with defaults for 'prod' environment."
}
$clusterGroup = 'rg-stress-cluster-prod'
$clusterGroup = 'SSS3PT_rg-stress-cluster-prod'
$subscription = 'Azure SDK Test Resources - TME'
$tenant = '70a036f6-8e4d-4615-bad6-149c02e7720d'
} elseif ($environment -eq 'storage') {
if ($clusterGroup -or $subscription) {
Write-Warning "Overriding cluster group and subscription with defaults for 'storage' environment."
}
$clusterGroup = 'rg-stress-cluster-storage'
$clusterGroup = 'SSS3PT_rg-stress-cluster-storage'
$subscription = 'Azure SDK Test Resources - TME'
$tenant = '72f988bf-86f1-41af-91ab-2d7cd011db47'
} elseif (!$clusterGroup -or !$subscription -or $tenant) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: stress-test-addons
repository: https://azuresdkartifacts.z5.web.core.windows.net/stress/
version: 0.3.5
digest: sha256:5937df942b61a33d3bd0b0a029fa88998b4b42829f8cc93f0454ae1c92ac42a8
generated: "2025-02-20T16:39:45.265087453-05:00"
version: 0.3.6
digest: sha256:c4f4f2e33342a221a1b3788e10e2f9ef57cd16adacd1a781a4d8afefa8bcfd8d
generated: "2025-12-04T17:14:59.525481002-05:00"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: stress-test-addons
repository: https://azuresdkartifacts.z5.web.core.windows.net/stress/
version: 0.3.5
digest: sha256:5937df942b61a33d3bd0b0a029fa88998b4b42829f8cc93f0454ae1c92ac42a8
generated: "2025-02-20T16:39:46.060014186-05:00"
version: 0.3.6
digest: sha256:c4f4f2e33342a221a1b3788e10e2f9ef57cd16adacd1a781a4d8afefa8bcfd8d
generated: "2025-12-04T17:15:32.448365718-05:00"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: stress-test-addons
repository: https://azuresdkartifacts.z5.web.core.windows.net/stress/
version: 0.3.5
digest: sha256:5937df942b61a33d3bd0b0a029fa88998b4b42829f8cc93f0454ae1c92ac42a8
generated: "2025-02-20T16:39:46.964496792-05:00"
version: 0.3.6
digest: sha256:c4f4f2e33342a221a1b3788e10e2f9ef57cd16adacd1a781a4d8afefa8bcfd8d
generated: "2025-12-04T17:15:44.045458089-05:00"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: stress-test-addons
repository: https://azuresdkartifacts.z5.web.core.windows.net/stress/
version: 0.3.5
digest: sha256:5937df942b61a33d3bd0b0a029fa88998b4b42829f8cc93f0454ae1c92ac42a8
generated: "2025-02-26T11:19:32.957307327-05:00"
version: 0.3.6
digest: sha256:c4f4f2e33342a221a1b3788e10e2f9ef57cd16adacd1a781a4d8afefa8bcfd8d
generated: "2025-12-04T17:15:08.103265003-05:00"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies:
- name: stress-test-addons
repository: https://azuresdkartifacts.z5.web.core.windows.net/stress/
version: 0.3.5
digest: sha256:5937df942b61a33d3bd0b0a029fa88998b4b42829f8cc93f0454ae1c92ac42a8
generated: "2025-02-20T16:39:48.745789189-05:00"
version: 0.3.6
digest: sha256:c4f4f2e33342a221a1b3788e10e2f9ef57cd16adacd1a781a4d8afefa8bcfd8d
generated: "2025-12-04T17:15:19.660071464-05:00"
4 changes: 2 additions & 2 deletions tools/stress-cluster/cluster/azure/cluster/cluster.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ param updateNodes bool = false
param workspaceId string

var kubernetesVersion = '1.32.4'
var nodeResourceGroup = 'rg-nodes-${dnsPrefix}-${clusterName}-${groupSuffix}'
var nodeResourceGroup = 'SSS3PT_rg-nodes-${dnsPrefix}-${clusterName}-${groupSuffix}'

var systemAgentPool = {
name: 'systemap'
Expand Down Expand Up @@ -103,7 +103,7 @@ resource newCluster 'Microsoft.ContainerService/managedClusters@2024-10-01' = if
}
}

resource maintenanceConfig 'Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2023-05-02-preview' = if (!updateNodes) {
resource maintenanceConfig 'Microsoft.ContainerService/managedClusters/maintenanceConfigurations@2025-10-01' = if (!updateNodes) {
name: 'aksManagedNodeOSUpgradeSchedule'
parent: newCluster
properties: {
Expand Down
4 changes: 2 additions & 2 deletions tools/stress-cluster/cluster/azure/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ module keyvault 'cluster/keyvault.bicep' = {
}

module workloadAppIdentities 'cluster/workloadappidentities.bicep' = if (!updateNodes) {
name: 'workloadAppIdentities'
name: 'workloadAppIdentities-${groupSuffix}'
scope: group
params: {
groupSuffix: groupSuffix
Expand All @@ -185,7 +185,7 @@ module workloadAppIdentities 'cluster/workloadappidentities.bicep' = if (!update
}

module workloadAppRoles 'cluster/workloadapproles.bicep' = if (!updateNodes) {
name: 'workloadAppRoles'
name: 'workloadAppRoles-${groupSuffix}'
scope: subscription()
params: {
infraWorkloadAppObjectId: workloadAppIdentities.outputs.infraWorkloadAppObjectId
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ dependencies:
version: 2.6.3
- name: stress-test-addons
repository: https://azuresdkartifacts.z5.web.core.windows.net/stress/
version: 0.3.5
digest: sha256:190e048020a3e66f44c5f676e04b8b148fd7692d3d973b438f09ac24dd1a2d4c
generated: "2025-06-04T14:55:12.840254127-04:00"
version: 0.3.6
digest: sha256:59900baffdd6033b2e8d2aff959d582f06f1232816b188a90edd360c6f2036e2
generated: "2025-12-04T17:14:09.560750373-05:00"
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Release History

## 0.3.6 (2025-12-04)

### Breaking Changes

Moved all clusters to SSS3PT_ prefixed resource groups

## 0.3.5 (2025-01-23)

### Breaking Changes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ apiVersion: v2
name: stress-test-addons
description: Baseline resources and templates for stress testing clusters

version: 0.3.5
version: 0.3.6
appVersion: v0.1
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
apiVersion: v1
entries:
stress-test-addons:
- apiVersion: v2
appVersion: v0.1
created: "2025-12-04T17:11:30.367762778-05:00"
description: Baseline resources and templates for stress testing clusters
digest: 7d8f786cb2350745ece7d40ed52bf1a846b90e5e784232720c4012afa881bd6a
name: stress-test-addons
urls:
- https://azuresdkartifacts.z5.web.core.windows.net/stress/stress-test-addons-0.3.6.tgz
version: 0.3.6
- apiVersion: v2
appVersion: v0.1
created: "2025-03-04T15:53:08.158568731-05:00"
Expand All @@ -10,4 +19,4 @@ entries:
urls:
- https://azuresdkartifacts.z5.web.core.windows.net/stress/stress-test-addons-0.3.5.tgz
version: 0.3.5
generated: "2025-03-04T15:53:08.14732164-05:00"
generated: "2025-12-04T17:11:30.360627829-05:00"
Original file line number Diff line number Diff line change
@@ -1,43 +1,43 @@
env: test
appInsightsKeySecretName:
pg: appInsightsInstrumentationKey-siarlh2glzwze
prod: appInsightsInstrumentationKey-2c6jtbqddf52a
pg: appInsightsInstrumentationKey-4kuek4dgiq7vo
prod: appInsightsInstrumentationKey-tj6foiiklcb3m
dev: ""
storage: appInsightsInstrumentationKey-e27xlxyuvk34k
storage: appInsightsInstrumentationKey-lkxxtjuf245tm
appInsightsConnectionStringSecretName:
pg: appInsightsConnectionString-siarlh2glzwze
prod: appInsightsConnectionString-2c6jtbqddf52a
pg: appInsightsConnectionString-4kuek4dgiq7vo
prod: appInsightsConnectionString-tj6foiiklcb3m
dev: ""
storage: appInsightsConnectionString-e27xlxyuvk34k
storage: appInsightsConnectionString-lkxxtjuf245tm
debugStorageKeySecretName:
pg: debugStorageKey-siarlh2glzwze
prod: debugStorageKey-2c6jtbqddf52a
pg: debugStorageKey-4kuek4dgiq7vo
prod: debugStorageKey-tj6foiiklcb3m
dev: ""
storage: debugStorageKey-e27xlxyuvk34k
storage: debugStorageKey-lkxxtjuf245tm
debugStorageAccountSecretName:
pg: debugStorageAccount-siarlh2glzwze
prod: debugStorageAccount-2c6jtbqddf52a
pg: debugStorageAccount-4kuek4dgiq7vo
prod: debugStorageAccount-tj6foiiklcb3m
dev: ""
storage: debugStorageAccount-e27xlxyuvk34k
storage: debugStorageAccount-lkxxtjuf245tm
debugFileShareName:
pg: stressfilessiarlh2glzwze
prod: stressfiles2c6jtbqddf52a
pg: stressfiles4kuek4dgiq7vo
prod: stressfilestj6foiiklcb3m
dev: ""
storage: stressfilese27xlxyuvk34k
storage: stressfileslkxxtjuf245tm
staticTestSecretsKeyvaultName:
pg: stress-secrets-pg
prod: stress-secrets-prod
dev: ""
clusterTestSecretsKeyvaultName:
pg: stress-kv-siarlh2glzwze
prod: stress-kv-2c6jtbqddf52a
pg: stress-kv-4kuek4dgiq7vo
prod: stress-kv-tj6foiiklcb3m
dev: ""
storage: stress-kv-e27xlxyuvk34k
storage: stress-kv-lkxxtjuf245tm
secretProviderIdentity:
pg: 7e95466b-59cb-400e-b178-5b10ac90425b
prod: d9a57c7a-5f79-4aff-90e7-4ebdb24b81e6
pg: 34c8068f-ed92-4406-aeef-6bd22b5c5514
prod: 3ecc5fb1-bebc-4a72-8d6e-49597681796d
dev: ""
storage: 991949b1-6b69-4c93-aeb1-ab6fa4c545a0
storage: ac866d4a-5c9c-4421-bff9-49c7c977df1a
provisionerAppId:
pg: e3fdf864-b936-4279-b787-55adc0f9984a
prod: 5d3c637e-07b7-4b29-83d9-87eb050dfdfb
Expand All @@ -48,30 +48,30 @@ infraWorkloadAppServiceAccountName:
dev: ""
storage: workload-svc
infraWorkloadAppClientId:
pg: 85e72b5e-8c1e-46f9-b3f5-347d74638041
prod: 1b388c2c-1dc4-4456-a2a5-d5a4a5c7c4df
pg: 3f0eb782-ba84-45a5-abfd-be810e109a41
prod: 19c8d842-8c93-4646-858b-e75607939368
dev: ""
storage: 99fa1a45-b7b0-40ed-bb97-69cea4326003
storage: 2fb25652-3933-45ed-a462-e588b9726b29
infraWorkloadAppObjectId:
pg: 2159eeae-eaef-48fa-bb9e-2f6bd903c9b6
prod: 0dea7f23-e8fe-4dbc-9980-400480ca9966
pg: 62bfa80b-2b8d-4bcd-b50c-20db05e0ba60
prod: 2d1d5aa0-7450-466d-b97c-a74124c43f52
dev: ""
storage: 2a78a33d-851a-4d6f-a4c5-7b9e10248474
storage: 6f896977-3bca-43b6-9f77-ac8f647b9dc6
workloadAppClientNamePool:
pg: stress-app-workload-pg-0,stress-app-workload-pg-1,stress-app-workload-pg-2,stress-app-workload-pg-3,stress-app-workload-pg-4
prod: stress-app-workload-prod-0,stress-app-workload-prod-1,stress-app-workload-prod-2,stress-app-workload-prod-3,stress-app-workload-prod-4
dev:
storage: stress-app-workload-storage-0,stress-app-workload-storage-1,stress-app-workload-storage-2,stress-app-workload-storage-3,stress-app-workload-storage-4
workloadAppIssuer:
pg: https://westus3.oic.prod-aks.azure.com/70a036f6-8e4d-4615-bad6-149c02e7720d/d927d4e7-13f0-414a-8e67-a03c67e0caf9/
prod: https://westus2.oic.prod-aks.azure.com/70a036f6-8e4d-4615-bad6-149c02e7720d/3a180dd0-9ec9-490e-a0b1-03fdbbca5198/
pg: https://westus3.oic.prod-aks.azure.com/70a036f6-8e4d-4615-bad6-149c02e7720d/8aa0bb26-05cc-43b8-a4fc-026f539c94e3/
prod: https://westus2.oic.prod-aks.azure.com/70a036f6-8e4d-4615-bad6-149c02e7720d/11a94e1a-8b07-45e4-87f3-2fccbc96937d/
dev:
storage: https://southcentralus.oic.prod-aks.azure.com/70a036f6-8e4d-4615-bad6-149c02e7720d/b5e7dc96-dee7-4765-bccc-c18a50ecfa13/
storage: https://southcentralus.oic.prod-aks.azure.com/70a036f6-8e4d-4615-bad6-149c02e7720d/51ab5b08-e986-4388-a81a-0ab22fed9736/
clusterGroup:
pg: rg-stress-cluster-pg
prod: rg-stress-cluster-prod
pg: SSS3PT_rg-stress-cluster-pg
prod: SSS3PT_rg-stress-cluster-prod
dev:
storage: rg-stress-cluster-storage
storage: SSS3PT_rg-stress-cluster-storage
subscription:
pg: public
prod: public
Expand Down
27 changes: 26 additions & 1 deletion tools/stress-cluster/cluster/provision.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -226,9 +226,34 @@ function main()
throw "When using a custom environment you must set -LocalAddonsPath to provide the stress-infrastructure release with environment values"
}

# If there are local changes to values.yaml it's almost certain that the user
# is an admin and has provisioned a new stress cluster but not published a
# new addons chart with the new infra config values. In these cases we should
# just fail, as deploying without the local addons override causes misleading
# errors in the cluster with pods not able to mount storage accounts using the
# old values.yaml reference from the published stress-test-addons helm chart.
if (!$LocalAddonsPath) {
try {
$repoRoot = git -C $PSScriptRoot rev-parse --show-toplevel 2>$null
} catch {
$repoRoot = $null
}

if ($repoRoot -and (Split-Path $repoRoot -Leaf) -eq "azure-sdk-tools") {
$valuesFile = Join-Path $repoRoot "tools/stress-cluster/cluster/kubernetes/stress-test-addons/values.yaml"
if (Test-Path $valuesFile) {
$valuesStatus = git -C $repoRoot status --porcelain -- $valuesFile
if ($valuesStatus) {
$localAddonsDir = Join-Path $repoRoot "tools/stress-cluster/cluster/kubernetes/stress-test-addons"
throw "Detected changes to '$valuesFile' without -LocalAddonsPath. Re-run with '-LocalAddonsPath $localAddonsDir' to apply local addon values."
}
}
}
}

if (!$Development) {
$params = LoadEnvParams
$STRESS_CLUSTER_RESOURCE_GROUP = "rg-stress-cluster-$($params.groupSuffix)"
$STRESS_CLUSTER_RESOURCE_GROUP = "SSS3PT_rg-stress-cluster-$($params.groupSuffix)"

az account set -s $params.subscriptionId
if ($LASTEXITCODE) {
Expand Down