From c2e28b7418f48bdb029fccc4786782731713b015 Mon Sep 17 00:00:00 2001 From: Guoqing Geng Date: Fri, 12 Dec 2025 05:45:43 +0000 Subject: [PATCH 1/6] add registry details --- jobs/competitive-test.yml | 5 + .../clusterloader2/cri/config/config.yaml | 2 + .../cri/config/deployment_template.yaml | 9 +- modules/python/clusterloader2/cri/cri.py | 5 +- modules/python/tests/test_cri.py | 9 +- .../CRI Benchmark/cri-resource-consume.yml | 5 + pipelines/system/new-pipeline-test.yml | 262 ++++++++++++++++-- steps/cloud/aws/collect-cloud-info.yml | 3 + steps/cloud/azure/collect-cloud-info.yml | 17 ++ steps/cloud/gcp/collect-cloud-info.yml | 3 + steps/engine/clusterloader2/cri/collect.yml | 4 + steps/engine/clusterloader2/cri/execute.yml | 5 + steps/execute-tests.yml | 3 + steps/publish-results.yml | 4 + .../collect-clusterloader2.yml | 4 + .../execute-clusterloader2.yml | 4 + 16 files changed, 321 insertions(+), 23 deletions(-) diff --git a/jobs/competitive-test.yml b/jobs/competitive-test.yml index 4f2c6a08f2..614da70285 100644 --- a/jobs/competitive-test.yml +++ b/jobs/competitive-test.yml @@ -3,6 +3,9 @@ parameters: type: string - name: regions type: object +- name: registry + type: string + default: '' - name: topology type: string - name: engine @@ -88,6 +91,7 @@ jobs: topology: ${{ parameters.topology }} engine: ${{ parameters.engine }} regions: ${{ parameters.regions }} + registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} - template: /steps/publish-results.yml parameters: @@ -95,6 +99,7 @@ jobs: topology: ${{ parameters.topology }} engine: ${{ parameters.engine }} regions: ${{ parameters.regions }} + registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} credential_type: ${{ parameters.credential_type }} - template: /steps/cleanup-resources.yml diff --git a/modules/python/clusterloader2/cri/config/config.yaml b/modules/python/clusterloader2/cri/config/config.yaml index 745175fc64..6b30350f65 100644 --- a/modules/python/clusterloader2/cri/config/config.yaml +++ b/modules/python/clusterloader2/cri/config/config.yaml @@ -18,6 +18,7 @@ name: resource-consumer {{$loadType := DefaultParam .CL2_LOAD_TYPE "memory"}} {{$provider := DefaultParam .CL2_PROVIDER "aks"}} +{{$registry := DefaultParam .CL2_REGISTRY "akscritelescope" }} {{$osType := DefaultParam .CL2_OS_TYPE "linux"}} {{$scrapeKubelets := DefaultParam .CL2_SCRAPE_KUBELETS false}} {{$hostNetwork := DefaultParam .CL2_HOST_NETWORK "true"}} @@ -99,6 +100,7 @@ steps: CPURequest: {{$cpu}}m LoadType: {{$loadType}} Provider: {{$provider}} + Registry: {{$registry}} OSType: {{$osType}} HostNetwork: {{$hostNetwork}} diff --git a/modules/python/clusterloader2/cri/config/deployment_template.yaml b/modules/python/clusterloader2/cri/config/deployment_template.yaml index 1b7ab8dbd8..807ae979f0 100644 --- a/modules/python/clusterloader2/cri/config/deployment_template.yaml +++ b/modules/python/clusterloader2/cri/config/deployment_template.yaml @@ -4,6 +4,7 @@ {{$CPURequest := DefaultParam .CPURequest "100m"}} {{$LoadType := DefaultParam .LoadType "memory"}} {{$Provider := DefaultParam .Provider "aks"}} +{{$Registry := DefaultParam .Registry "akscritelescope"}} {{$OSType := DefaultParam .OSType "linux"}} {{$HostNetwork := DefaultParam .HostNetwork "true"}} @@ -32,7 +33,7 @@ spec: - name: resource-consumer-memory imagePullPolicy: IfNotPresent {{if eq $OSType "windows"}} - image: akscritelescope.azurecr.io/e2e-test-images/resource-consumer:1.13-windows-amd64-ltsc2022 + image: {{$Registry}}.azurecr.io/e2e-test-images/resource-consumer:1.13-windows-amd64-ltsc2022 command: - testlimit.exe args: @@ -46,7 +47,7 @@ spec: - "1" {{else}} {{if eq $Provider "aks"}} - image: akscritelescope.azurecr.io/e2e-test-images/resource-consumer:1.13 + image: {{$Registry}}.azurecr.io/e2e-test-images/resource-consumer:1.13 {{else}} image: registry.k8s.io/e2e-test-images/resource-consumer:1.13 {{end}} @@ -70,12 +71,12 @@ spec: - name: resource-consumer-cpu imagePullPolicy: IfNotPresent {{if eq $OSType "windows"}} - image: akscritelescope.azurecr.io/e2e-test-images/resource-consumer:1.13-windows-amd64-ltsc2022 + image: {{$Registry}}.azurecr.io/e2e-test-images/resource-consumer:1.13-windows-amd64-ltsc2022 command: - /consume-cpu/consume-cpu.exe {{else}} {{if eq $Provider "aks"}} - image: akscritelescope.azurecr.io/e2e-test-images/resource-consumer:1.13 + image: {{$Registry}}.azurecr.io/e2e-test-images/resource-consumer:1.13 {{else}} image: registry.k8s.io/e2e-test-images/resource-consumer:1.13 {{end}} diff --git a/modules/python/clusterloader2/cri/cri.py b/modules/python/clusterloader2/cri/cri.py index 9cebebf502..334cbe9e4c 100644 --- a/modules/python/clusterloader2/cri/cri.py +++ b/modules/python/clusterloader2/cri/cri.py @@ -17,7 +17,7 @@ def override_config_clusterloader2( node_count, node_per_step, max_pods, repeats, operation_timeout, load_type, scale_enabled, pod_startup_latency_threshold, provider, - os_type, scrape_kubelets, host_network, override_file): + registry, os_type, scrape_kubelets, host_network, override_file): client = KubernetesClient(os.path.expanduser("~/.kube/config")) nodes = client.get_nodes(label_selector="cri-resource-consume=true") if len(nodes) == 0: @@ -88,6 +88,7 @@ def override_config_clusterloader2( file.write("CL2_PROMETHEUS_NODE_SELECTOR: \"prometheus: \\\"true\\\"\"\n") file.write(f"CL2_POD_STARTUP_LATENCY_THRESHOLD: {pod_startup_latency_threshold}\n") file.write(f"CL2_PROVIDER: {provider}\n") + file.write(f"CL2_REGISTRY: {registry}\n") file.write(f"CL2_OS_TYPE: {os_type}\n") file.write(f"CL2_SCRAPE_KUBELETS: {str(scrape_kubelets).lower()}\n") file.write(f"CL2_HOST_NETWORK: {str(host_network).lower()}\n") @@ -248,6 +249,7 @@ def main(): help="Pod startup latency threshold", ) parser_override.add_argument("--provider", type=str, help="Cloud provider name") + parser_override.add_argument("--registry", type=str, help="Container image registry") parser_override.add_argument( "--os_type", type=str, choices=["linux", "windows"], default="linux" ) @@ -342,6 +344,7 @@ def main(): args.scale_enabled, args.pod_startup_latency_threshold, args.provider, + args.registry, args.os_type, args.scrape_kubelets, args.host_network, diff --git a/modules/python/tests/test_cri.py b/modules/python/tests/test_cri.py index 4c1ab63709..f39c3788ff 100644 --- a/modules/python/tests/test_cri.py +++ b/modules/python/tests/test_cri.py @@ -60,6 +60,7 @@ def test_override_config_clusterloader2(self, mock_kubernetes_client, mock_open) scale_enabled=False, pod_startup_latency_threshold="15s", provider="aks", + registry="akscritelescope", os_type="linux", scrape_kubelets=True, host_network=True, @@ -86,6 +87,7 @@ def test_override_config_clusterloader2(self, mock_kubernetes_client, mock_open) handle.write.assert_any_call("CL2_PROMETHEUS_NODE_SELECTOR: \"prometheus: \\\"true\\\"\"\n") handle.write.assert_any_call("CL2_POD_STARTUP_LATENCY_THRESHOLD: 15s\n") handle.write.assert_any_call("CL2_PROVIDER: aks\n") + handle.write.assert_any_call("CL2_REGISTRY: akscritelescope\n") handle.write.assert_any_call("CL2_OS_TYPE: linux\n") handle.write.assert_any_call("CL2_SCRAPE_KUBELETS: true\n") handle.write.assert_any_call("CL2_HOST_NETWORK: true\n") @@ -114,6 +116,7 @@ def test_override_config_clusterloader2_host_network_false(self, mock_kubernetes scale_enabled=False, pod_startup_latency_threshold="15s", provider="aks", + registry="akscritelescope", os_type="linux", scrape_kubelets=False, host_network=False, @@ -228,6 +231,7 @@ def test_override_command(self, mock_override): "--scale_enabled", "True", "--pod_startup_latency_threshold", "10s", "--provider", "aws", + "--registry", "", "--os_type", "linux", "--scrape_kubelets", "False", "--host_network", "False", @@ -236,7 +240,7 @@ def test_override_command(self, mock_override): with patch.object(sys, 'argv', test_args): main() mock_override.assert_called_once_with( - 5, 1, 110, 3, "2m", "cpu", True, "10s", "aws", "linux", False, False, "/tmp/override.yaml" + 5, 1, 110, 3, "2m", "cpu", True, "10s", "aws", "", "linux", False, False, "/tmp/override.yaml" ) @patch("clusterloader2.cri.cri.override_config_clusterloader2") @@ -253,6 +257,7 @@ def test_override_command_default_host_network(self, mock_override): "--scale_enabled", "True", "--pod_startup_latency_threshold", "10s", "--provider", "aws", + "--registry", "", "--os_type", "linux", "--scrape_kubelets", "False", "--cl2_override_file", "/tmp/override.yaml" @@ -260,7 +265,7 @@ def test_override_command_default_host_network(self, mock_override): with patch.object(sys, 'argv', test_args): main() mock_override.assert_called_once_with( - 5, 1, 110, 3, "2m", "cpu", True, "10s", "aws", "linux", False, True, "/tmp/override.yaml" + 5, 1, 110, 3, "2m", "cpu", True, "10s", "aws", "", "linux", False, True, "/tmp/override.yaml" ) @patch("clusterloader2.cri.cri.execute_clusterloader2") diff --git a/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml b/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml index 9bef16a152..52ce2575d3 100644 --- a/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml +++ b/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml @@ -20,6 +20,7 @@ stages: cloud: azure regions: - swedencentral + registry: akscritelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" @@ -100,6 +101,7 @@ stages: cloud: azure regions: - swedencentral + registry: akscritelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" @@ -142,6 +144,7 @@ stages: cloud: azure regions: - swedencentral + registry: akscritelescope terraform_input_file_mapping: - swedencentral: "scenarios/perf-eval/cri-resource-consume/terraform-inputs/azure-ubuntu2404.tfvars" engine: clusterloader2 @@ -183,6 +186,7 @@ stages: cloud: azure regions: - swedencentral + registry: akscritelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" @@ -225,6 +229,7 @@ stages: cloud: aws regions: - eu-west-1 + registry: null engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" diff --git a/pipelines/system/new-pipeline-test.yml b/pipelines/system/new-pipeline-test.yml index 63d55f02d9..6e80554bb4 100644 --- a/pipelines/system/new-pipeline-test.yml +++ b/pipelines/system/new-pipeline-test.yml @@ -1,25 +1,255 @@ trigger: none variables: - SCENARIO_TYPE: - SCENARIO_NAME: + SCENARIO_TYPE: perf-eval + SCENARIO_NAME: cri-resource-consume stages: - - stage: # format: [_]+ (e.g. azure_eastus2, aws_eastus_westus) + - stage: azure_swedencentral_managed_vs_ephemeral_1_31 dependsOn: [] 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 + cloud: azure + regions: + - swedencentral + registry: acrtelescope + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250513" + topology: cri-resource-consume + matrix: + n10-p300-memory-ephemeral: + node_count: 10 + max_pods: 30 + repeats: 1 + operation_timeout: 3m + load_type: memory + kubernetes_version: "1.31" + scrape_kubelets: True + n10-p700-memory-ephemeral: + node_count: 10 + max_pods: 70 + repeats: 1 + operation_timeout: 7m + load_type: memory + kubernetes_version: "1.31" + scrape_kubelets: True + n10-p1100-memory-ephemeral: + node_count: 10 + max_pods: 110 + repeats: 1 + operation_timeout: 11m + load_type: memory + kubernetes_version: "1.31" + scrape_kubelets: True + n10-p300-memory-managed: + node_count: 10 + max_pods: 30 + repeats: 1 + operation_timeout: 3m + load_type: memory + kubernetes_version: "1.31" + k8s_os_disk_type: Managed + scrape_kubelets: True + n10-p700-memory-managed: + node_count: 10 + max_pods: 70 + repeats: 1 + operation_timeout: 7m + load_type: memory + kubernetes_version: "1.31" + k8s_os_disk_type: Managed + scrape_kubelets: True + n10-p1100-memory-managed: + node_count: 10 + max_pods: 110 + repeats: 1 + operation_timeout: 11m + load_type: memory + kubernetes_version: "1.31" + k8s_os_disk_type: Managed + scrape_kubelets: True + n10-p2500-memory-ephemeral: + node_count: 10 + max_pods: 250 + repeats: 1 + operation_timeout: 11m + load_type: memory + kubernetes_version: "1.31" + k8s_machine_type: Standard_D32ds_v6 + scrape_kubelets: True + max_parallel: 3 + timeout_in_minutes: 120 + credential_type: service_connection + ssh_key_enabled: false + + - stage: azure_swedencentral_disabled_parallel_pull_1_31 + dependsOn: [] + variables: + - group: Parallel-Pull-Disabled + jobs: + - template: /jobs/competitive-test.yml + parameters: + cloud: azure + regions: + - swedencentral + registry: acrtelescope + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250513" + topology: cri-resource-consume + matrix: + n10-p300-memory-1-31: + node_count: 10 + max_pods: 30 + repeats: 1 + operation_timeout: 3m + load_type: memory + kubernetes_version: "1.31" + scrape_kubelets: True + n10-p700-memory-1-31: + node_count: 10 + max_pods: 70 + repeats: 1 + operation_timeout: 7m + load_type: memory + kubernetes_version: "1.31" + scrape_kubelets: True + n10-p1100-memory-1-31: + node_count: 10 + max_pods: 110 + repeats: 1 + operation_timeout: 11m + load_type: memory + kubernetes_version: "1.31" + scrape_kubelets: True + max_parallel: 1 + timeout_in_minutes: 120 + credential_type: service_connection + ssh_key_enabled: false + + - stage: azure_swedencentral_ubuntu2404_1_32 + dependsOn: [] + jobs: + - template: /jobs/competitive-test.yml + parameters: + cloud: azure + regions: + - swedencentral + registry: acrtelescope + terraform_input_file_mapping: + - swedencentral: "scenarios/perf-eval/cri-resource-consume/terraform-inputs/azure-ubuntu2404.tfvars" + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250513" + topology: cri-resource-consume + matrix: + n10-p300-memory: + node_count: 10 + max_pods: 30 + repeats: 1 + operation_timeout: 3m + load_type: memory + scrape_kubelets: True + n10-p700-memory: + node_count: 10 + max_pods: 70 + repeats: 1 + operation_timeout: 7m + load_type: memory + scrape_kubelets: True + n10-p1100-memory: + node_count: 10 + max_pods: 110 + repeats: 1 + operation_timeout: 11m + load_type: memory + scrape_kubelets: True + max_parallel: 1 + timeout_in_minutes: 120 + credential_type: service_connection + ssh_key_enabled: false + + - stage: azure_swedencentral_1_33 + dependsOn: [] + jobs: + - template: /jobs/competitive-test.yml + parameters: + cloud: azure + regions: + - swedencentral + registry: acrtelescope + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250513" + topology: cri-resource-consume + matrix: + n10-p300-memory: + node_count: 10 + max_pods: 30 + repeats: 1 + operation_timeout: 3m + load_type: memory + kubernetes_version: "1.33" + scrape_kubelets: True + n10-p700-memory: + node_count: 10 + max_pods: 70 + repeats: 1 + operation_timeout: 7m + load_type: memory + kubernetes_version: "1.33" + scrape_kubelets: True + n10-p1100-memory: + node_count: 10 + max_pods: 110 + repeats: 1 + operation_timeout: 11m + load_type: memory + kubernetes_version: "1.33" + scrape_kubelets: True + max_parallel: 1 + timeout_in_minutes: 120 + credential_type: service_connection + ssh_key_enabled: false + + - stage: aws_westeurope + dependsOn: [] + jobs: + - template: /jobs/competitive-test.yml + parameters: + cloud: aws + regions: + - eu-west-1 + registry: null + engine: clusterloader2 + engine_input: + image: "ghcr.io/azure/clusterloader2:v20250513" + topology: cri-resource-consume + matrix: + n10-p300-memory: + node_count: 10 + max_pods: 30 + repeats: 1 + operation_timeout: 3m + load_type: memory + scrape_kubelets: True + n10-p700-memory: + node_count: 10 + max_pods: 70 + repeats: 1 + operation_timeout: 7m + load_type: memory + scrape_kubelets: True + n10-p1100-memory: + node_count: 10 + max_pods: 110 + repeats: 1 + operation_timeout: 11m + load_type: memory + scrape_kubelets: True + max_parallel: 3 + timeout_in_minutes: 120 + credential_type: service_connection ssh_key_enabled: false - timeout_in_minutes: 60 # if not specified, default is 60 diff --git a/steps/cloud/aws/collect-cloud-info.yml b/steps/cloud/aws/collect-cloud-info.yml index 9470a1fe69..bd7ed6605b 100644 --- a/steps/cloud/aws/collect-cloud-info.yml +++ b/steps/cloud/aws/collect-cloud-info.yml @@ -1,6 +1,9 @@ parameters: - name: region type: string +- name: registry + type: string + default: '' steps: - script: | diff --git a/steps/cloud/azure/collect-cloud-info.yml b/steps/cloud/azure/collect-cloud-info.yml index da9b2d1978..442084d572 100644 --- a/steps/cloud/azure/collect-cloud-info.yml +++ b/steps/cloud/azure/collect-cloud-info.yml @@ -1,6 +1,9 @@ parameters: - name: region type: string +- name: registry + type: string + default: '' steps: - script: | @@ -10,6 +13,17 @@ steps: --resource-group $RUN_ID --query "[0].name" --location $REGION --output tsv) aks_info=$(az aks show --resource-group $RUN_ID --name $aks_name --output json) + echo "Collecting registry $REGISTRY info (empty name and cross-region registry allowed)" + az config unset defaults.location + acr_name=$(az resource list --resource-type Microsoft.ContainerRegistry/registries \ + --name $REGISTRY --query "[0].name" --output tsv) + acr_info="{}" + if [ -n "$acr_name" ]; then + acr_info=$(az acr show --name $acr_name --output json \ + --query "{name:name, anonymousPullEnabled:anonymousPullEnabled, dataEndpointEnabled:dataEndpointEnabled, encryption:encryption, location:location, privateEndpointConnections:privateEndpointConnections, publicNetworkAccess:publicNetworkAccess, sku:sku}") + fi + az config set defaults.location="$REGION" + cloud_info=$(jq -n \ --arg cloud "azure" \ --arg region "$(echo $aks_info | jq -r .location)" \ @@ -18,6 +32,7 @@ steps: --arg sku_tier "$(echo $aks_info | jq -r .sku.tier)" \ --arg subscription "$(az account show --query id --output tsv)" \ --arg edge_zone "$(echo $aks_info | jq -r .extendedLocation.name)" \ + --arg registry "$(echo $acr_info | jq -c .)" \ --arg network_profile "$(echo $aks_info | jq -r .networkProfile)" \ --arg agentpool_profile "$(echo $aks_info | jq -r .agentPoolProfiles)" \ '{ @@ -28,6 +43,7 @@ steps: sku_tier: $sku_tier, subscription: $subscription, edge_zone: $edge_zone, + registry: $registry, network_profile: $network_profile, agentpool_profile: $agentpool_profile }') @@ -37,3 +53,4 @@ steps: displayName: 'Collect Cloud Info for Azure' env: REGION: ${{ parameters.region }} + REGISTRY: ${{ parameters.registry }} diff --git a/steps/cloud/gcp/collect-cloud-info.yml b/steps/cloud/gcp/collect-cloud-info.yml index aef5ead386..679433ffbc 100644 --- a/steps/cloud/gcp/collect-cloud-info.yml +++ b/steps/cloud/gcp/collect-cloud-info.yml @@ -1,6 +1,9 @@ parameters: - name: region type: string +- name: registry + type: string + default: '' steps: - script: | diff --git a/steps/engine/clusterloader2/cri/collect.yml b/steps/engine/clusterloader2/cri/collect.yml index 19e47820ea..2cf290471a 100644 --- a/steps/engine/clusterloader2/cri/collect.yml +++ b/steps/engine/clusterloader2/cri/collect.yml @@ -2,6 +2,9 @@ parameters: - name: cloud type: string default: "" + - name: registry + type: string + default: "" - name: engine_input type: object default: {} @@ -12,6 +15,7 @@ steps: - template: /steps/cloud/${{ parameters.cloud }}/collect-cloud-info.yml parameters: region: ${{ parameters.region }} + registry: ${{ parameters.registry }} - script: | set -eo pipefail diff --git a/steps/engine/clusterloader2/cri/execute.yml b/steps/engine/clusterloader2/cri/execute.yml index 45456ee0b2..3941813fae 100644 --- a/steps/engine/clusterloader2/cri/execute.yml +++ b/steps/engine/clusterloader2/cri/execute.yml @@ -7,6 +7,9 @@ parameters: default: {} - name: region type: string + - name: registry + type: string + default: "" steps: - script: | @@ -22,6 +25,7 @@ steps: --scale_enabled ${SCALE_ENABLED:-False} \ --pod_startup_latency_threshold ${POD_STARTUP_LATENCY_THRESHOLD:-15s} \ --provider $CLOUD \ + --registry $REGISTRY \ --os_type ${OS_TYPE:-linux} \ --scrape_kubelets ${SCRAPE_KUBELETS:-False} \ --host_network ${HOST_NETWORK:-True} \ @@ -39,6 +43,7 @@ steps: CLOUD: aks ${{ else }}: CLOUD: ${{ parameters.cloud }} + REGISTRY: ${{ parameters.registry }} REGION: ${{ parameters.region }} PYTHON_SCRIPT_FILE: $(Pipeline.Workspace)/s/modules/python/clusterloader2/cri/cri.py CL2_IMAGE: ${{ parameters.engine_input.image }} diff --git a/steps/execute-tests.yml b/steps/execute-tests.yml index 84b6e92a2b..9bb7e7c623 100644 --- a/steps/execute-tests.yml +++ b/steps/execute-tests.yml @@ -11,10 +11,13 @@ parameters: - name: regions type: object default: {} +- name: registry + type: string steps: - template: /steps/topology/${{ parameters.topology }}/execute-${{ parameters.engine }}.yml@self parameters: cloud: ${{ parameters.cloud }} + registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} regions: ${{ parameters.regions }} diff --git a/steps/publish-results.yml b/steps/publish-results.yml index 69231cd898..87cd2df415 100644 --- a/steps/publish-results.yml +++ b/steps/publish-results.yml @@ -7,6 +7,9 @@ parameters: type: string - name: regions type: object +- name: registry + type: string + default: '' - name: engine_input type: object default: {} @@ -18,6 +21,7 @@ steps: parameters: cloud: ${{ parameters.cloud }} regions: ${{ parameters.regions }} + registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} - template: /steps/collect-telescope-metadata.yml diff --git a/steps/topology/cri-resource-consume/collect-clusterloader2.yml b/steps/topology/cri-resource-consume/collect-clusterloader2.yml index ee0c8a1bb1..eecef2670f 100644 --- a/steps/topology/cri-resource-consume/collect-clusterloader2.yml +++ b/steps/topology/cri-resource-consume/collect-clusterloader2.yml @@ -8,6 +8,9 @@ parameters: - name: regions type: object default: {} +- name: registry + type: string + default: '' steps: - template: /steps/engine/clusterloader2/cri/collect.yml @@ -15,3 +18,4 @@ steps: cloud: ${{ parameters.cloud }} engine_input: ${{ parameters.engine_input }} region: ${{ parameters.regions[0] }} + registry: ${{ parameters.registry }} diff --git a/steps/topology/cri-resource-consume/execute-clusterloader2.yml b/steps/topology/cri-resource-consume/execute-clusterloader2.yml index fcdab04dbe..0b822f202b 100644 --- a/steps/topology/cri-resource-consume/execute-clusterloader2.yml +++ b/steps/topology/cri-resource-consume/execute-clusterloader2.yml @@ -8,10 +8,14 @@ parameters: - name: regions type: object default: {} +- name: registry + type: string + default: '' steps: - template: /steps/engine/clusterloader2/cri/execute.yml parameters: cloud: ${{ parameters.cloud }} + registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} region: ${{ parameters.regions[0] }} From e43f82be8bf3ed5e523a8923af7ed331abeacc80 Mon Sep 17 00:00:00 2001 From: vittoria salim Date: Thu, 8 Jan 2026 11:06:57 +1100 Subject: [PATCH 2/6] isolate registry to on job --- pipelines/system/new-pipeline-test.yml | 224 +----------------- steps/engine/clusterloader2/cri/collect.yml | 5 +- .../image-pull-acr/collect-clusterloader2.yml | 34 +++ .../image-pull-acr/execute-clusterloader2.yml | 18 ++ .../image-pull-acr/validate-resources.yml | 16 ++ 5 files changed, 71 insertions(+), 226 deletions(-) create mode 100644 steps/topology/image-pull-acr/collect-clusterloader2.yml create mode 100644 steps/topology/image-pull-acr/execute-clusterloader2.yml create mode 100644 steps/topology/image-pull-acr/validate-resources.yml diff --git a/pipelines/system/new-pipeline-test.yml b/pipelines/system/new-pipeline-test.yml index 6e80554bb4..8455b7898d 100644 --- a/pipelines/system/new-pipeline-test.yml +++ b/pipelines/system/new-pipeline-test.yml @@ -27,228 +27,8 @@ stages: load_type: memory kubernetes_version: "1.31" scrape_kubelets: True - n10-p700-memory-ephemeral: - node_count: 10 - max_pods: 70 - repeats: 1 - operation_timeout: 7m - load_type: memory - kubernetes_version: "1.31" - scrape_kubelets: True - n10-p1100-memory-ephemeral: - node_count: 10 - max_pods: 110 - repeats: 1 - operation_timeout: 11m - load_type: memory - kubernetes_version: "1.31" - scrape_kubelets: True - n10-p300-memory-managed: - node_count: 10 - max_pods: 30 - repeats: 1 - operation_timeout: 3m - load_type: memory - kubernetes_version: "1.31" - k8s_os_disk_type: Managed - scrape_kubelets: True - n10-p700-memory-managed: - node_count: 10 - max_pods: 70 - repeats: 1 - operation_timeout: 7m - load_type: memory - kubernetes_version: "1.31" - k8s_os_disk_type: Managed - scrape_kubelets: True - n10-p1100-memory-managed: - node_count: 10 - max_pods: 110 - repeats: 1 - operation_timeout: 11m - load_type: memory - kubernetes_version: "1.31" - k8s_os_disk_type: Managed - scrape_kubelets: True - n10-p2500-memory-ephemeral: - node_count: 10 - max_pods: 250 - repeats: 1 - operation_timeout: 11m - load_type: memory - kubernetes_version: "1.31" - k8s_machine_type: Standard_D32ds_v6 - scrape_kubelets: True - max_parallel: 3 - timeout_in_minutes: 120 - credential_type: service_connection - ssh_key_enabled: false - - - stage: azure_swedencentral_disabled_parallel_pull_1_31 - dependsOn: [] - variables: - - group: Parallel-Pull-Disabled - jobs: - - template: /jobs/competitive-test.yml - parameters: - cloud: azure - regions: - - swedencentral - registry: acrtelescope - engine: clusterloader2 - engine_input: - image: "ghcr.io/azure/clusterloader2:v20250513" - topology: cri-resource-consume - matrix: - n10-p300-memory-1-31: - node_count: 10 - max_pods: 30 - repeats: 1 - operation_timeout: 3m - load_type: memory - kubernetes_version: "1.31" - scrape_kubelets: True - n10-p700-memory-1-31: - node_count: 10 - max_pods: 70 - repeats: 1 - operation_timeout: 7m - load_type: memory - kubernetes_version: "1.31" - scrape_kubelets: True - n10-p1100-memory-1-31: - node_count: 10 - max_pods: 110 - repeats: 1 - operation_timeout: 11m - load_type: memory - kubernetes_version: "1.31" - scrape_kubelets: True - max_parallel: 1 - timeout_in_minutes: 120 - credential_type: service_connection - ssh_key_enabled: false - - - stage: azure_swedencentral_ubuntu2404_1_32 - dependsOn: [] - jobs: - - template: /jobs/competitive-test.yml - parameters: - cloud: azure - regions: - - swedencentral - registry: acrtelescope - terraform_input_file_mapping: - - swedencentral: "scenarios/perf-eval/cri-resource-consume/terraform-inputs/azure-ubuntu2404.tfvars" - engine: clusterloader2 - engine_input: - image: "ghcr.io/azure/clusterloader2:v20250513" - topology: cri-resource-consume - matrix: - n10-p300-memory: - node_count: 10 - max_pods: 30 - repeats: 1 - operation_timeout: 3m - load_type: memory - scrape_kubelets: True - n10-p700-memory: - node_count: 10 - max_pods: 70 - repeats: 1 - operation_timeout: 7m - load_type: memory - scrape_kubelets: True - n10-p1100-memory: - node_count: 10 - max_pods: 110 - repeats: 1 - operation_timeout: 11m - load_type: memory - scrape_kubelets: True - max_parallel: 1 - timeout_in_minutes: 120 - credential_type: service_connection - ssh_key_enabled: false - - - stage: azure_swedencentral_1_33 - dependsOn: [] - jobs: - - template: /jobs/competitive-test.yml - parameters: - cloud: azure - regions: - - swedencentral - registry: acrtelescope - engine: clusterloader2 - engine_input: - image: "ghcr.io/azure/clusterloader2:v20250513" - topology: cri-resource-consume - matrix: - n10-p300-memory: - node_count: 10 - max_pods: 30 - repeats: 1 - operation_timeout: 3m - load_type: memory - kubernetes_version: "1.33" - scrape_kubelets: True - n10-p700-memory: - node_count: 10 - max_pods: 70 - repeats: 1 - operation_timeout: 7m - load_type: memory - kubernetes_version: "1.33" - scrape_kubelets: True - n10-p1100-memory: - node_count: 10 - max_pods: 110 - repeats: 1 - operation_timeout: 11m - load_type: memory - kubernetes_version: "1.33" - scrape_kubelets: True - max_parallel: 1 - timeout_in_minutes: 120 - credential_type: service_connection - ssh_key_enabled: false - - - stage: aws_westeurope - dependsOn: [] - jobs: - - template: /jobs/competitive-test.yml - parameters: - cloud: aws - regions: - - eu-west-1 - registry: null - engine: clusterloader2 - engine_input: - image: "ghcr.io/azure/clusterloader2:v20250513" - topology: cri-resource-consume - matrix: - n10-p300-memory: - node_count: 10 - max_pods: 30 - repeats: 1 - operation_timeout: 3m - load_type: memory - scrape_kubelets: True - n10-p700-memory: - node_count: 10 - max_pods: 70 - repeats: 1 - operation_timeout: 7m - load_type: memory - scrape_kubelets: True - n10-p1100-memory: - node_count: 10 - max_pods: 110 - repeats: 1 - operation_timeout: 11m - load_type: memory - scrape_kubelets: True + scrape_acr: True + registry_endpoint: "acrtelescope.azurecr.io" max_parallel: 3 timeout_in_minutes: 120 credential_type: service_connection diff --git a/steps/engine/clusterloader2/cri/collect.yml b/steps/engine/clusterloader2/cri/collect.yml index 2cf290471a..6865317250 100644 --- a/steps/engine/clusterloader2/cri/collect.yml +++ b/steps/engine/clusterloader2/cri/collect.yml @@ -2,9 +2,6 @@ parameters: - name: cloud type: string default: "" - - name: registry - type: string - default: "" - name: engine_input type: object default: {} @@ -15,7 +12,6 @@ steps: - template: /steps/cloud/${{ parameters.cloud }}/collect-cloud-info.yml parameters: region: ${{ parameters.region }} - registry: ${{ parameters.registry }} - script: | set -eo pipefail @@ -30,6 +26,7 @@ steps: --run_url $RUN_URL \ --result_file $TEST_RESULTS_FILE \ --scrape_kubelets ${SCRAPE_KUBELETS:-False} + --registry_endpoint ${REGISTRY_ENFPOINT:-"akscri.azurecr.io"} workingDirectory: modules/python env: CLOUD: ${{ parameters.cloud }} diff --git a/steps/topology/image-pull-acr/collect-clusterloader2.yml b/steps/topology/image-pull-acr/collect-clusterloader2.yml new file mode 100644 index 0000000000..ed42a56215 --- /dev/null +++ b/steps/topology/image-pull-acr/collect-clusterloader2.yml @@ -0,0 +1,34 @@ +parameters: +- name: cloud + type: string + default: '' +- name: engine_input + type: object + default: {} +- name: regions + type: object + default: {} + +steps: +- script: | + if [ "$SCRAPE_ACR" = "true" ]; then + echo "Scraping ACR info of $REGISTRY_ENDPOINT..." + registry_info="acr info for bla bla bla" + else + echo "SCRAPE_ACR is false — skipping" + fi + + echo "##vso[task.setvariable variable=registry_info;isOutput=true]$registry_info" + name: collectRegistry + workingDirectory: modules/python + env: + CLOUD: ${{ parameters.cloud }} + RUN_URL: $(RUN_URL) + displayName: "Collect ACR Info" +- template: /steps/engine/clusterloader2/cri/collect.yml + parameters: + cloud: ${{ parameters.cloud }} + engine_input: ${{ parameters.engine_input }} + region: ${{ parameters.regions[0] }} + registry: ${{ dependencies.collectRegistry.outputs['collectRegistry.registry_info'] }} + diff --git a/steps/topology/image-pull-acr/execute-clusterloader2.yml b/steps/topology/image-pull-acr/execute-clusterloader2.yml new file mode 100644 index 0000000000..600c1db006 --- /dev/null +++ b/steps/topology/image-pull-acr/execute-clusterloader2.yml @@ -0,0 +1,18 @@ +parameters: +- name: cloud + type: string + default: '' +- name: engine_input + type: object + default: {} +- name: regions + type: object + default: {} + +steps: +- template: /steps/engine/clusterloader2/cri/execute.yml + parameters: + cloud: ${{ parameters.cloud }} + engine_input: ${{ parameters.engine_input }} + region: ${{ parameters.regions[0] }} + diff --git a/steps/topology/image-pull-acr/validate-resources.yml b/steps/topology/image-pull-acr/validate-resources.yml new file mode 100644 index 0000000000..000578974b --- /dev/null +++ b/steps/topology/image-pull-acr/validate-resources.yml @@ -0,0 +1,16 @@ +parameters: +- name: cloud + type: string +- name: engine + type: string +- name: regions + type: object + +steps: +- template: /steps/cloud/${{ parameters.cloud }}/update-kubeconfig.yml + parameters: + role: client + region: ${{ parameters.regions[0] }} +- template: /steps/engine/clusterloader2/large-cluster/validate.yml + parameters: + desired_nodes: 14 From ff6e287a339ca2b21a3a2fd105023e46f6b5b05e Mon Sep 17 00:00:00 2001 From: vittoria salim Date: Thu, 8 Jan 2026 11:13:09 +1100 Subject: [PATCH 3/6] remove registry info from cri --- jobs/competitive-test.yml | 5 ----- .../CRI Benchmark/cri-resource-consume.yml | 1 - pipelines/system/new-pipeline-test.yml | 1 - steps/cloud/aws/collect-cloud-info.yml | 3 --- steps/cloud/azure/collect-cloud-info.yml | 17 ----------------- steps/cloud/gcp/collect-cloud-info.yml | 3 --- steps/engine/clusterloader2/cri/execute.yml | 5 +---- steps/execute-tests.yml | 3 --- .../collect-clusterloader2.yml | 5 +---- .../execute-clusterloader2.yml | 4 ---- 10 files changed, 2 insertions(+), 45 deletions(-) diff --git a/jobs/competitive-test.yml b/jobs/competitive-test.yml index 614da70285..4f2c6a08f2 100644 --- a/jobs/competitive-test.yml +++ b/jobs/competitive-test.yml @@ -3,9 +3,6 @@ parameters: type: string - name: regions type: object -- name: registry - type: string - default: '' - name: topology type: string - name: engine @@ -91,7 +88,6 @@ jobs: topology: ${{ parameters.topology }} engine: ${{ parameters.engine }} regions: ${{ parameters.regions }} - registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} - template: /steps/publish-results.yml parameters: @@ -99,7 +95,6 @@ jobs: topology: ${{ parameters.topology }} engine: ${{ parameters.engine }} regions: ${{ parameters.regions }} - registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} credential_type: ${{ parameters.credential_type }} - template: /steps/cleanup-resources.yml diff --git a/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml b/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml index 52ce2575d3..6f082e1e1b 100644 --- a/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml +++ b/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml @@ -20,7 +20,6 @@ stages: cloud: azure regions: - swedencentral - registry: akscritelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" diff --git a/pipelines/system/new-pipeline-test.yml b/pipelines/system/new-pipeline-test.yml index 8455b7898d..f19d60f5f3 100644 --- a/pipelines/system/new-pipeline-test.yml +++ b/pipelines/system/new-pipeline-test.yml @@ -13,7 +13,6 @@ stages: cloud: azure regions: - swedencentral - registry: acrtelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" diff --git a/steps/cloud/aws/collect-cloud-info.yml b/steps/cloud/aws/collect-cloud-info.yml index bd7ed6605b..9470a1fe69 100644 --- a/steps/cloud/aws/collect-cloud-info.yml +++ b/steps/cloud/aws/collect-cloud-info.yml @@ -1,9 +1,6 @@ parameters: - name: region type: string -- name: registry - type: string - default: '' steps: - script: | diff --git a/steps/cloud/azure/collect-cloud-info.yml b/steps/cloud/azure/collect-cloud-info.yml index 442084d572..da9b2d1978 100644 --- a/steps/cloud/azure/collect-cloud-info.yml +++ b/steps/cloud/azure/collect-cloud-info.yml @@ -1,9 +1,6 @@ parameters: - name: region type: string -- name: registry - type: string - default: '' steps: - script: | @@ -13,17 +10,6 @@ steps: --resource-group $RUN_ID --query "[0].name" --location $REGION --output tsv) aks_info=$(az aks show --resource-group $RUN_ID --name $aks_name --output json) - echo "Collecting registry $REGISTRY info (empty name and cross-region registry allowed)" - az config unset defaults.location - acr_name=$(az resource list --resource-type Microsoft.ContainerRegistry/registries \ - --name $REGISTRY --query "[0].name" --output tsv) - acr_info="{}" - if [ -n "$acr_name" ]; then - acr_info=$(az acr show --name $acr_name --output json \ - --query "{name:name, anonymousPullEnabled:anonymousPullEnabled, dataEndpointEnabled:dataEndpointEnabled, encryption:encryption, location:location, privateEndpointConnections:privateEndpointConnections, publicNetworkAccess:publicNetworkAccess, sku:sku}") - fi - az config set defaults.location="$REGION" - cloud_info=$(jq -n \ --arg cloud "azure" \ --arg region "$(echo $aks_info | jq -r .location)" \ @@ -32,7 +18,6 @@ steps: --arg sku_tier "$(echo $aks_info | jq -r .sku.tier)" \ --arg subscription "$(az account show --query id --output tsv)" \ --arg edge_zone "$(echo $aks_info | jq -r .extendedLocation.name)" \ - --arg registry "$(echo $acr_info | jq -c .)" \ --arg network_profile "$(echo $aks_info | jq -r .networkProfile)" \ --arg agentpool_profile "$(echo $aks_info | jq -r .agentPoolProfiles)" \ '{ @@ -43,7 +28,6 @@ steps: sku_tier: $sku_tier, subscription: $subscription, edge_zone: $edge_zone, - registry: $registry, network_profile: $network_profile, agentpool_profile: $agentpool_profile }') @@ -53,4 +37,3 @@ steps: displayName: 'Collect Cloud Info for Azure' env: REGION: ${{ parameters.region }} - REGISTRY: ${{ parameters.registry }} diff --git a/steps/cloud/gcp/collect-cloud-info.yml b/steps/cloud/gcp/collect-cloud-info.yml index 679433ffbc..aef5ead386 100644 --- a/steps/cloud/gcp/collect-cloud-info.yml +++ b/steps/cloud/gcp/collect-cloud-info.yml @@ -1,9 +1,6 @@ parameters: - name: region type: string -- name: registry - type: string - default: '' steps: - script: | diff --git a/steps/engine/clusterloader2/cri/execute.yml b/steps/engine/clusterloader2/cri/execute.yml index 3941813fae..1a2a0d0281 100644 --- a/steps/engine/clusterloader2/cri/execute.yml +++ b/steps/engine/clusterloader2/cri/execute.yml @@ -7,9 +7,6 @@ parameters: default: {} - name: region type: string - - name: registry - type: string - default: "" steps: - script: | @@ -25,7 +22,7 @@ steps: --scale_enabled ${SCALE_ENABLED:-False} \ --pod_startup_latency_threshold ${POD_STARTUP_LATENCY_THRESHOLD:-15s} \ --provider $CLOUD \ - --registry $REGISTRY \ + --registry $REGISTRY_ENDPOINT \ --os_type ${OS_TYPE:-linux} \ --scrape_kubelets ${SCRAPE_KUBELETS:-False} \ --host_network ${HOST_NETWORK:-True} \ diff --git a/steps/execute-tests.yml b/steps/execute-tests.yml index 9bb7e7c623..84b6e92a2b 100644 --- a/steps/execute-tests.yml +++ b/steps/execute-tests.yml @@ -11,13 +11,10 @@ parameters: - name: regions type: object default: {} -- name: registry - type: string steps: - template: /steps/topology/${{ parameters.topology }}/execute-${{ parameters.engine }}.yml@self parameters: cloud: ${{ parameters.cloud }} - registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} regions: ${{ parameters.regions }} diff --git a/steps/topology/cri-resource-consume/collect-clusterloader2.yml b/steps/topology/cri-resource-consume/collect-clusterloader2.yml index eecef2670f..ac0a9d55f8 100644 --- a/steps/topology/cri-resource-consume/collect-clusterloader2.yml +++ b/steps/topology/cri-resource-consume/collect-clusterloader2.yml @@ -8,9 +8,7 @@ parameters: - name: regions type: object default: {} -- name: registry - type: string - default: '' + steps: - template: /steps/engine/clusterloader2/cri/collect.yml @@ -18,4 +16,3 @@ steps: cloud: ${{ parameters.cloud }} engine_input: ${{ parameters.engine_input }} region: ${{ parameters.regions[0] }} - registry: ${{ parameters.registry }} diff --git a/steps/topology/cri-resource-consume/execute-clusterloader2.yml b/steps/topology/cri-resource-consume/execute-clusterloader2.yml index 0b822f202b..fcdab04dbe 100644 --- a/steps/topology/cri-resource-consume/execute-clusterloader2.yml +++ b/steps/topology/cri-resource-consume/execute-clusterloader2.yml @@ -8,14 +8,10 @@ parameters: - name: regions type: object default: {} -- name: registry - type: string - default: '' steps: - template: /steps/engine/clusterloader2/cri/execute.yml parameters: cloud: ${{ parameters.cloud }} - registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} region: ${{ parameters.regions[0] }} From 1757fa0bf4c5275ac2cf0b9bec853d03edf65273 Mon Sep 17 00:00:00 2001 From: vittoria salim Date: Thu, 8 Jan 2026 11:16:24 +1100 Subject: [PATCH 4/6] add registry --- pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml | 4 ---- steps/publish-results.yml | 4 ---- .../topology/cri-resource-consume/collect-clusterloader2.yml | 1 - 3 files changed, 9 deletions(-) diff --git a/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml b/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml index 6f082e1e1b..9bef16a152 100644 --- a/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml +++ b/pipelines/perf-eval/CRI Benchmark/cri-resource-consume.yml @@ -100,7 +100,6 @@ stages: cloud: azure regions: - swedencentral - registry: akscritelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" @@ -143,7 +142,6 @@ stages: cloud: azure regions: - swedencentral - registry: akscritelescope terraform_input_file_mapping: - swedencentral: "scenarios/perf-eval/cri-resource-consume/terraform-inputs/azure-ubuntu2404.tfvars" engine: clusterloader2 @@ -185,7 +183,6 @@ stages: cloud: azure regions: - swedencentral - registry: akscritelescope engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" @@ -228,7 +225,6 @@ stages: cloud: aws regions: - eu-west-1 - registry: null engine: clusterloader2 engine_input: image: "ghcr.io/azure/clusterloader2:v20250513" diff --git a/steps/publish-results.yml b/steps/publish-results.yml index 87cd2df415..69231cd898 100644 --- a/steps/publish-results.yml +++ b/steps/publish-results.yml @@ -7,9 +7,6 @@ parameters: type: string - name: regions type: object -- name: registry - type: string - default: '' - name: engine_input type: object default: {} @@ -21,7 +18,6 @@ steps: parameters: cloud: ${{ parameters.cloud }} regions: ${{ parameters.regions }} - registry: ${{ parameters.registry }} engine_input: ${{ parameters.engine_input }} - template: /steps/collect-telescope-metadata.yml diff --git a/steps/topology/cri-resource-consume/collect-clusterloader2.yml b/steps/topology/cri-resource-consume/collect-clusterloader2.yml index ac0a9d55f8..ee0c8a1bb1 100644 --- a/steps/topology/cri-resource-consume/collect-clusterloader2.yml +++ b/steps/topology/cri-resource-consume/collect-clusterloader2.yml @@ -9,7 +9,6 @@ parameters: type: object default: {} - steps: - template: /steps/engine/clusterloader2/cri/collect.yml parameters: From 3d0aa55fec4ee75a39049940037f921152ea8444 Mon Sep 17 00:00:00 2001 From: vittoria salim Date: Thu, 8 Jan 2026 11:17:33 +1100 Subject: [PATCH 5/6] remove parameter --- steps/engine/clusterloader2/cri/execute.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/steps/engine/clusterloader2/cri/execute.yml b/steps/engine/clusterloader2/cri/execute.yml index 1a2a0d0281..b682f375c5 100644 --- a/steps/engine/clusterloader2/cri/execute.yml +++ b/steps/engine/clusterloader2/cri/execute.yml @@ -40,7 +40,6 @@ steps: CLOUD: aks ${{ else }}: CLOUD: ${{ parameters.cloud }} - REGISTRY: ${{ parameters.registry }} REGION: ${{ parameters.region }} PYTHON_SCRIPT_FILE: $(Pipeline.Workspace)/s/modules/python/clusterloader2/cri/cri.py CL2_IMAGE: ${{ parameters.engine_input.image }} From e9170f4932e288f476ba37bdb9f26fef5293f691 Mon Sep 17 00:00:00 2001 From: vittoria salim Date: Thu, 8 Jan 2026 11:25:00 +1100 Subject: [PATCH 6/6] make it clearer --- modules/python/clusterloader2/cri/cri.py | 8 +++++++- steps/engine/clusterloader2/cri/collect.yml | 8 ++++++-- steps/topology/image-pull-acr/collect-clusterloader2.yml | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/python/clusterloader2/cri/cri.py b/modules/python/clusterloader2/cri/cri.py index 334cbe9e4c..7b74ce523e 100644 --- a/modules/python/clusterloader2/cri/cri.py +++ b/modules/python/clusterloader2/cri/cri.py @@ -142,10 +142,16 @@ def collect_clusterloader2( run_id, run_url, result_file, - scrape_kubelets + scrape_kubelets, + scrape_acr_info=False, + acr_info ): if scrape_kubelets: verify_measurement() + + if scrape_acr_info: + # attach ACR info to cloud_info + # append acr info to cloud_info details = parse_xml_to_json(os.path.join(cl2_report_dir, "junit.xml"), indent = 2) json_data = json.loads(details) diff --git a/steps/engine/clusterloader2/cri/collect.yml b/steps/engine/clusterloader2/cri/collect.yml index 6865317250..2e8cabb9fc 100644 --- a/steps/engine/clusterloader2/cri/collect.yml +++ b/steps/engine/clusterloader2/cri/collect.yml @@ -7,6 +7,9 @@ parameters: default: {} - name: region type: string + - name: registry_info + type: string + default: "registry info collected" steps: - template: /steps/cloud/${{ parameters.cloud }}/collect-cloud-info.yml @@ -25,8 +28,9 @@ steps: --run_id $RUN_ID \ --run_url $RUN_URL \ --result_file $TEST_RESULTS_FILE \ - --scrape_kubelets ${SCRAPE_KUBELETS:-False} - --registry_endpoint ${REGISTRY_ENFPOINT:-"akscri.azurecr.io"} + --scrape_kubelets ${SCRAPE_KUBELETS:-False} \ + --scrape_acr_info ${SCRAPE_ACR:-False} \ + --registry_info ${REGISTRY_INFO:-""} workingDirectory: modules/python env: CLOUD: ${{ parameters.cloud }} diff --git a/steps/topology/image-pull-acr/collect-clusterloader2.yml b/steps/topology/image-pull-acr/collect-clusterloader2.yml index ed42a56215..fc13195b5a 100644 --- a/steps/topology/image-pull-acr/collect-clusterloader2.yml +++ b/steps/topology/image-pull-acr/collect-clusterloader2.yml @@ -30,5 +30,5 @@ steps: cloud: ${{ parameters.cloud }} engine_input: ${{ parameters.engine_input }} region: ${{ parameters.regions[0] }} - registry: ${{ dependencies.collectRegistry.outputs['collectRegistry.registry_info'] }} + registry_info: ${{ dependencies.collectRegistry.outputs['collectRegistry.registry_info'] }}