Allow configuring subnetworks in GCP settings - #4274
Draft
jagretti wants to merge 1 commit into
Draft
Conversation
Similarly to `vpc_name`, allow selecting specific subnets dstack provisions instances and gateways in, mapped per region. Regions not mapped keep using any usable subnet of the VPC. Closes dstackai#4254 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #4254
Adds an optional
subnetworksfield to the GCP backend config — a mapping from regions to subnet names in the VPC specified byvpc_name:Previously,
dstackalways provisioned in the first usable subnet returned byListUsableSubnetworksfor the VPC and region, with no way to influence the choice. This is limiting when a VPC has multiple subnets in the same region serving different purposes — especially for private gateways and fleets withpublic_ip: false, where clients can only reach the VMs if they land in a subnet the client network routes to.Behavior
subnetworksunset, behavior is identical to before.subnetworksis set withoutvpc_name, if it's keyed by a region not inregions, or if a mapped subnet doesn't exist in its region (the error lists the available subnets).extra_vpcs/roce_vpcssubnet selection is unchanged (out of scope).The field shape and behavior mirror the Azure
subnet_idssetting (#3955).Testing
TestGetVpcSubnetOrError) and configurator validation;uv run pytest src/tests/_internal/core/backends/gcp/passes.concepts/backends.md; the reference page picks up the field description from the model schema.🤖 Generated with Claude Code