Skip to content

Move cobalt cloud jobs from benchmarks-ci-azure-eastus2 into benchmarks-ci-azure#2166

Merged
LoopedBard3 merged 1 commit intoaspnet:mainfrom
LoopedBard3:MoveEastUS2ToMainAzure
Apr 29, 2026
Merged

Move cobalt cloud jobs from benchmarks-ci-azure-eastus2 into benchmarks-ci-azure#2166
LoopedBard3 merged 1 commit intoaspnet:mainfrom
LoopedBard3:MoveEastUS2ToMainAzure

Conversation

@LoopedBard3
Copy link
Copy Markdown
Contributor

@LoopedBard3 LoopedBard3 commented Apr 28, 2026

The cobalt cloud machines were moved from eastus2 to westus2, co-located with the other Azure benchmark machines. This merges the separate eastus2 pipeline back into the main Azure CI pipeline.

Changes

  • Merge cobalt cloud machines into benchmarks_ci_azure.json with machine_group support for proper scheduling
  • Regenerate benchmarks-ci-azure.yml using the crank-scheduler (14 groups with intelligent dependsOn to avoid machine conflicts)
  • Update benchmarks.template.liquid header with crank-scheduler usage instructions
  • Remove EAST US 2 MACHINES section header from azure.profile.yml
  • Delete separate eastus2 files: benchmarks-ci-azure-eastus2.yml, benchmarks.matrix.azure.eastus2.yml, benchmarks_ci_azure_eastus2.json
  • Remove benchmarks.matrix.azure.yml (replaced by JSON + crank-scheduler approach)
  • Remove cobaltcloud service bus queue — cobalt jobs now use the existing azure/azurearm64 queues

How the generated pipeline works (Used approach in #2106)

  • The crank-scheduler reads benchmarks_ci_azure.json (machines + scenarios) and produces benchmarks-ci-azure.yml via the liquid template
  • Machine groups ensure cobalt cloud machines only pair with each other (shared client/db machines)
  • Jobs sharing machines (e.g. cobalt-cloud-lin-server and cobalt-cloud-lin-server-azure-linux3 both use the same client and db) are serialized via dependsOn

Notes

  • IP addresses were already updated in Update cobalt cloud VM IP addresses for new Azure region #2165
  • Relay profiles in azure.profile.yml still reference cobaltcloudlin* relay endpoints on aspnetperf.servicebus.windows.net — these are Azure Relay Hybrid Connection URLs that require infrastructure-level reconfiguration

@LoopedBard3 LoopedBard3 force-pushed the MoveEastUS2ToMainAzure branch 3 times, most recently from 66cef0b to 0cf702f Compare April 28, 2026 23:02
- Merge cobalt cloud machines into benchmarks_ci_azure.json with machine_group support
- Regenerate benchmarks-ci-azure.yml using crank-scheduler (14 groups, handles machine conflicts)
- Update benchmarks.template.liquid header with scheduler instructions
- Remove separate eastus2 pipeline files (benchmarks-ci-azure-eastus2.yml, benchmarks.matrix.azure.eastus2.yml, benchmarks_ci_azure_eastus2.json)
- Remove benchmarks.matrix.azure.yml (replaced by JSON + scheduler approach)
- Remove cobaltcloud service bus queue (cobalt jobs now use azure/azurearm64 queues)
- Remove EAST US 2 MACHINES header from azure.profile.yml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@LoopedBard3 LoopedBard3 force-pushed the MoveEastUS2ToMainAzure branch from 0cf702f to ba9a434 Compare April 28, 2026 23:08
@LoopedBard3
Copy link
Copy Markdown
Contributor Author

LoopedBard3 commented Apr 29, 2026

Verified that the pipeline still runs: https://dev.azure.com/dnceng/internal/_build/results?buildId=2963441&view=results

As part of this, I will also have the benchmarks-ci-azure-eastus2 pipeline deleted.

@LoopedBard3 LoopedBard3 marked this pull request as ready for review April 29, 2026 17:48
@LoopedBard3 LoopedBard3 self-assigned this Apr 29, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Consolidates the former benchmarks-ci-azure-eastus2 (cobalt cloud) pipeline into the main Azure CI pipeline by moving cobalt machines/scenarios into benchmarks_ci_azure.json, regenerating the combined benchmarks-ci-azure.yml, and removing the now-redundant eastus2/matrix files.

Changes:

  • Merge cobalt cloud machines + scenarios into build/benchmarks_ci_azure.json using machine_group.
  • Regenerate build/benchmarks-ci-azure.yml to include cobalt jobs and updated scheduling/serialization.
  • Remove separate eastus2 pipeline/config/matrix YAML files and clean up azure.profile.yml section header.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
build/benchmarks_ci_azure_eastus2.json Deleted legacy eastus2-only scheduler config.
build/benchmarks_ci_azure.json Adds machine_group to existing machines and introduces cobalt cloud machines + scenario targeting.
build/benchmarks.template.liquid Updates header comments to document crank-scheduler-based YAML generation.
build/benchmarks.matrix.azure.yml Deleted legacy matrix definition (superseded by JSON + scheduler).
build/benchmarks.matrix.azure.eastus2.yml Deleted legacy eastus2 matrix definition.
build/benchmarks-ci-azure.yml Regenerated combined Azure pipeline including cobalt jobs and new dependsOn sequencing.
build/benchmarks-ci-azure-eastus2.yml Deleted legacy eastus2 pipeline.
build/azure.profile.yml Removes the “EAST US 2 MACHINES” section header comment.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread build/benchmarks-ci-azure.yml
Comment thread build/benchmarks-ci-azure.yml
Comment thread build/benchmarks-ci-azure.yml
Comment thread build/benchmarks-ci-azure.yml
Comment thread build/benchmarks.template.liquid
@LoopedBard3 LoopedBard3 merged commit 8be8c1b into aspnet:main Apr 29, 2026
6 checks passed
@LoopedBard3 LoopedBard3 deleted the MoveEastUS2ToMainAzure branch April 29, 2026 19:33
LoopedBard3 added a commit to LoopedBard3/Benchmarks that referenced this pull request Apr 29, 2026
Reflects main branch changes from PR aspnet#2166:
- Merged cobalt-cloud-lin pods (eastus2) into azure config
- Removed separate benchmarks_ci_azure_eastus2_pods.json
- Fixed IDNA pod load profiles to match updated main:
  - idna-amd-lin now uses idna-amd-win as load
  - idna-intel-lin now uses idna-intel-win as load
  - idna-amd-win now uses idna-intel-lin as load
  - idna-intel-win now uses idna-amd-lin as load
- Added cobalt-cloud-lin-azl3-dual pod for type-2 scenarios
  (uses cobalt-cloud-lin-db as load instead of client)
- Total runs: 26 (matches main azure pipeline)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
LoopedBard3 added a commit to LoopedBard3/Benchmarks that referenced this pull request Apr 29, 2026
Reflects main branch changes from PR aspnet#2166:
- Merged cobalt-cloud-lin pods (eastus2) into azure config
- Removed separate benchmarks_ci_azure_eastus2_pods.json
- Kept IDNA pod load profiles on linux machines (load jobs
  require linux), reverting the main branch profile change
- Added cobalt-cloud-lin-azl3-dual pod for type-2 scenarios
  (uses cobalt-cloud-lin-db as load instead of client)
- Total runs: 26 (matches main azure pipeline)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants