Skip to content

[CTM-343] Filter out ai zones when getting compute zones#3549

Merged
lucymcnatt merged 4 commits intodevelopfrom
CTM-343-ai-zones
Jan 28, 2026
Merged

[CTM-343] Filter out ai zones when getting compute zones#3549
lucymcnatt merged 4 commits intodevelopfrom
CTM-343-ai-zones

Conversation

@lucymcnatt
Copy link
Contributor

@lucymcnatt lucymcnatt commented Jan 28, 2026

Ticket: https://broadworkbench.atlassian.net/browse/CTM-343

This is due to Google's addition of new AI zones, are not being recognized by Google Batch, see error below

Job gets no longer retryable information Batch Error: code - CODE_GCE_BAD_REQUEST, description - googleapi: Error 400: Invalid value for field 'resource.distributionPolicy.zones[1].zone': 'zones/us-central1-ai1a'. Zone (us-central1-ai1a) must be a valid zone in region us-central1., invalid, already retried 3 times, errors record CODE_GCE_BAD_REQUEST.

This filters out ai zones when getting the compute zones for a region, which effectively means that when we submit a Batch request, this ai zone is excluded


PR checklist

  • Include the JIRA issue number in the PR description and title
  • Make sure Swagger is updated if API changes
    • ...and Orchestration's Swagger too!
  • If you changed anything in model/, then you should publish a new official rawls-model and perform the corresponding dependency updates as specified in the README:
    • in the automation subdirectory
    • in workbench-libs
    • in firecloud-orchestration
  • Get two thumbsworth of PR review
  • Verify all tests go green, including CI tests
  • Squash commits and merge to develop (branches are automatically deleted after merging)
  • Inform other teams of any substantial changes via Slack and/or email

@lucymcnatt lucymcnatt requested a review from a team as a code owner January 28, 2026 17:00
@lucymcnatt lucymcnatt requested review from davidangb and rjohanek and removed request for a team January 28, 2026 17:00
git add core/src/main/scala/org/broadinstitute/dsde/rawls/dataaccess/HttpGoogleServicesDAO.scala
// `getZones()` returns the zones as resource urls of form `https://www.googleapis.com/compute/v1/projects/project_id/zones/us-central1-b",
// Hence split it by `/` and get last element of array to get the zone
zonesAsResourceUrls.map(_.split("/").last)
// the filter is due to new AI zones in these regions are not accepted by GCP Batch
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: are not -> not being?

Copy link
Contributor

@LizBaldo LizBaldo left a comment

Choose a reason for hiding this comment

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

LGTM. I have a small comment, and maybe add a unit test if it is easy?

@lucymcnatt lucymcnatt merged commit 933a009 into develop Jan 28, 2026
25 checks passed
@lucymcnatt lucymcnatt deleted the CTM-343-ai-zones branch January 28, 2026 22:15
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