Managing zone allocation strategies
Zone allocation strategies define how logical networks distribute their resources across availability zones. You can configure them on both logical network profiles (as templates) and directly on logical networks (for per-network overrides).
What zones are
Section titled “What zones are”In MetalSoft, a zone represents an availability boundary within a fabric — typically corresponding to a rack, a group of switches, or a failure domain. Zones ensure that MetalSoft distributes network resources (such as VLAN/VNI allocations) across these boundaries according to a defined strategy.
Zone allocation strategies work alongside the existing VLAN, VNI, and IPv4/IPv6 allocation strategies on logical networks and profiles. While those strategies control what resources MetalSoft allocates, zone strategies control where MetalSoft allocates them.
Allocation strategy kinds
Section titled “Allocation strategy kinds”| Kind | Description |
|---|---|
| auto | MetalSoft automatically assigns zones based on available resources and placement rules. You only need to specify the scope. |
| manual | You explicitly specify the zone name to use. This gives full control over which zone receives the resource. |
Each strategy also has a scope that limits where it applies:
| Scope | Description |
|---|---|
global | Applies across all fabrics and sites |
site_group | Applies to a group of sites |
site | Applies to a single site |
fabric_group | Applies to a group of fabrics |
fabric | Applies to a single fabric |
rack | Applies to a single rack |
device_group | Applies to a group of network devices |
network_device | Applies to a single network device |
Zone allocation on logical network profiles
Section titled “Zone allocation on logical network profiles”Zone allocation strategies on a logical network profile serve as a template. When you create a logical network from the profile, it inherits the zone strategies.
Creating a zone allocation strategy on a profile
Section titled “Creating a zone allocation strategy on a profile”# Automatic zone allocationcurl -X POST "https://<your-server>/api/v2/logical-network-profiles/{id}/zone/zone-allocation-strategies" \ -H "Content-Type: application/json" \ -d '{ "kind": "auto", "scope": { "kind": "fabric", "resourceId": 1 } }'
# Manual zone allocationcurl -X POST "https://<your-server>/api/v2/logical-network-profiles/{id}/zone/zone-allocation-strategies" \ -H "Content-Type: application/json" \ -d '{ "kind": "manual", "zoneName": "zone-a", "scope": { "kind": "fabric", "resourceId": 1 } }'Listing zone allocation strategies on a profile
Section titled “Listing zone allocation strategies on a profile”curl "https://<your-server>/api/v2/logical-network-profiles/{id}/zone/zone-allocation-strategies"Getting a specific strategy
Section titled “Getting a specific strategy”curl "https://<your-server>/api/v2/logical-network-profiles/{id}/zone/zone-allocation-strategies/{allocationStrategyId}"Replacing a strategy
Section titled “Replacing a strategy”Use PUT to replace an existing strategy entirely:
curl -X PUT "https://<your-server>/api/v2/logical-network-profiles/{id}/zone/zone-allocation-strategies/{allocationStrategyId}" \ -H "Content-Type: application/json" \ -d '{ "kind": "manual", "zoneName": "zone-b", "scope": { "kind": "fabric", "resourceId": 1 } }'Deleting a strategy
Section titled “Deleting a strategy”curl -X DELETE "https://<your-server>/api/v2/logical-network-profiles/{id}/zone/zone-allocation-strategies/{allocationStrategyId}"Zone allocation on logical networks
Section titled “Zone allocation on logical networks”Logical networks have their own zone allocation strategies under their config. You can inherit these from the profile or set them independently.
The API nests these endpoints under the logical network’s config, following the same pattern:
Creating a zone allocation strategy on a logical network
Section titled “Creating a zone allocation strategy on a logical network”curl -X POST "https://<your-server>/api/v2/logical-networks/{id}/config/zone/zone-allocation-strategies" \ -H "Content-Type: application/json" \ -d '{ "kind": "auto", "scope": { "kind": "fabric", "resourceId": 1 } }'Listing, getting, replacing, and deleting
Section titled “Listing, getting, replacing, and deleting”# List allcurl "https://<your-server>/api/v2/logical-networks/{id}/config/zone/zone-allocation-strategies"
# Get onecurl "https://<your-server>/api/v2/logical-networks/{id}/config/zone/zone-allocation-strategies/{allocationStrategyId}"
# Replacecurl -X PUT "https://<your-server>/api/v2/logical-networks/{id}/config/zone/zone-allocation-strategies/{allocationStrategyId}" \ -H "Content-Type: application/json" \ -d '{ "kind": "manual", "zoneName": "zone-c", "scope": { "kind": "rack", "resourceId": 5 } }'
# Deletecurl -X DELETE "https://<your-server>/api/v2/logical-networks/{id}/config/zone/zone-allocation-strategies/{allocationStrategyId}"Zone allocations
Section titled “Zone allocations”Once you define zone strategies and deploy a logical network, MetalSoft creates zone allocations — the actual zone assignments. These are visible on the logical network’s zone property:
curl "https://<your-server>/api/v2/logical-networks/{id}"The zone.zones array contains the allocated zones, each with:
| Field | Description |
|---|---|
id | Unique ID of the zone allocation |
scope | The scope this allocation applies to |
status | Allocation status: allocated, pending_allocation or deleting |
zoneName | The name of the allocated zone |
The zone.zoneAllocationStrategies array shows the strategies that produced these allocations.
Specifying zones at logical network creation
Section titled “Specifying zones at logical network creation”You can also set zone allocation strategies inline when creating a logical network:
curl -X POST "https://<your-server>/api/v2/logical-networks" \ -H "Content-Type: application/json" \ -d '{ "label": "my-network", "name": "My Network", "networkProfileId": 1, "zone": { "zoneAllocationStrategies": [ { "kind": "auto", "scope": { "kind": "fabric", "resourceId": 1 } } ] } }'This is equivalent to creating the logical network and then adding the strategy separately.
Related topics
Section titled “Related topics”- Managing Network Profiles — configuring VLAN, VNI and IP allocation strategies on profiles
- Creating a Logical Network — creating logical networks from profiles
- Managing Route Domains — L3 allocation strategies (VRF, L3 VLAN, L3 VNI) which follow a similar pattern