Skip to content

feat: Add support for new GCP and Azure features [COMP-1463, COMP-1464]#606

Open
cristianrcv wants to merge 8 commits intomasterfrom
feat/COMP-1464-add-support-for-new-gcp-and-azure-features
Open

feat: Add support for new GCP and Azure features [COMP-1463, COMP-1464]#606
cristianrcv wants to merge 8 commits intomasterfrom
feat/COMP-1464-add-support-for-new-gcp-and-azure-features

Conversation

@cristianrcv
Copy link
Copy Markdown
Contributor

@cristianrcv cristianrcv commented Apr 10, 2026

Summary GCP

Closes COMP-1463 — Make new platform features available via CLI.

  • WIF credentials: --mode=workload-identity with --service-account-email, --workload-identity-provider, --token-audience options for Google credentials (PR #10346)
  • Network tags: --network-tags (comma-separated) with --network / --subnetwork options and GCP format validation (PR #10416)
  • Machine types: --head-job-machine-type (single) and --compute-jobs-machine-type (comma-separated, wildcard support), mutually exclusive with instance templates (PRs #10488, #10532)
  • Boot disk image: --boot-disk-image with format validation for project paths, family paths, and batch short names (PR #10484)
  • Fusion Snapshots: --fusion-snapshots toggle requiring --fusion-v2 (PR #10751)

All features include CLI-side validation matching backend/frontend rules.

Summary Azure

  • Add Azure Entra (service principal) credentials support (tw credentials add azure-entra)
  • Add managed identity options for head/pool client IDs and resource IDs in Forge and Manual Azure Batch CEs
  • Add VNet/subnet support (--subnet-id) for private network isolation
  • Add dual pool mode (--dual-pool) with separate head and worker pool configuration for Forge, and --worker-pool for Manual mode
  • Add job max wall clock time (--job-max-wall-clock-time)
  • Replace JobCleanupPolicy enum with 3 boolean toggles: --delete-jobs-on-completion, --delete-tasks-on-completion, --terminate-jobs-on-completion

Note: Requires tower-java-sdk bump to >= 1.133.0 for new model fields. Code will not compile until the SDK is updated.

Platform PRs implemented

  • #10519 — Entra credentials for Azure Batch Forge and Fusion v2
  • #10577 — Separate Azure managed identities for head and compute jobs
  • #10541 — Private VNet/subnet support for Azure Batch CEs
  • #10636 — Separate head and worker pools for Azure Batch
  • #10708 — jobMaxWallClockTime for Azure Batch CEs
  • #10681 — Replace JobCleanupPolicy enum with boolean toggles

ramonamela and others added 7 commits April 10, 2026 12:14
- WIF (Workload Identity Federation) support for Google credentials
  with --mode=workload-identity, --service-account-email,
  --workload-identity-provider, and --token-audience options
- Network tags (--network-tags) with VPC requirement and GCP format
  validation, plus --network and --subnetwork options
- Machine type selection: --head-job-machine-type (single) and
  --compute-jobs-machine-type (comma-separated list with wildcard
  support), mutually exclusive with instance templates
- Boot disk image (--boot-disk-image) with format validation for
  projects/*/global/images/*, family paths, and batch-* short names
- Fusion Snapshots (--fusion-snapshots) toggle requiring Fusion v2

All features include CLI validation matching backend/frontend rules.
Code will compile once tower-java-sdk is bumped to include the new
fields on GoogleSecurityKeys and GoogleBatchConfig.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Upgrade tower-java-sdk from 1.114.0 to 1.133.0 to include new fields
  on GoogleSecurityKeys and GoogleBatchConfig
- Add bash integration test script for all COMP-1463 features

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add Azure Entra (service principal) credentials support (add/update)
- Add managed identity options (head/pool client IDs and resource IDs)
  for both Forge and Manual Azure Batch compute environments
- Add VNet/subnet support (--subnet-id) for private network isolation
- Add dual pool mode (--dual-pool) with separate head and worker pool
  configuration for Forge mode, and --worker-pool for Manual mode
- Add job max wall clock time option (--job-max-wall-clock-time)
- Replace JobCleanupPolicy enum with 3 boolean toggles:
  --delete-jobs-on-completion, --delete-tasks-on-completion,
  --terminate-jobs-on-completion

Note: requires tower-java-sdk bump to >= 1.133.0 for new model fields.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Bump tower-java-sdk from 1.114.0 to 1.133.0 for new Azure Batch
  model fields (managed identity, subnet, dual pool, wall clock time,
  cleanup toggles)
- Add bash integration test script for all new Azure Batch CLI features

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…DK 1.133.0 bump

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix AzBatchConfig.deleteJobsOnCompletion mock response: changed from
  string "on_success" to boolean true after field type change in SDK
- Switch request body matchers from exact string to json() partial
  matching for pipeline and label mocks to handle new serialized fields
  in WorkflowLaunchRequest, AssociatePipelineLabelsRequest, and
  CreateLabelRequest

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…eflection

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cristianrcv cristianrcv force-pushed the feat/COMP-1464-add-support-for-new-gcp-and-azure-features branch from fda15a9 to 07e1f8b Compare April 10, 2026 10:14
@cristianrcv cristianrcv requested review from a team and jonmarti April 10, 2026 10:22
…aalVM reflection

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.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.

2 participants