Managing Zone Allocation Strategies
Zone allocation strategies define how logical networks distribute their resources across availability zones. They can be configured on both logical network profiles (as templates) and directly on logical networks (for per-network overrides).
What are zones?
Section titled “What are zones?”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 network resources (such as VLAN/VNI allocations) are distributed 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 are allocated, zone strategies control where they are allocated.
Allocation strategy kinds
Section titled “Allocation strategy kinds”| Kind | Description |
|---|---|
| auto | The system 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 is also associated with 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 a logical network is created 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. These can be inherited from the profile or set independently.
The API endpoints follow the same pattern but are nested under the logical network’s config:
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 zone strategies are defined and a logical network is deployed, the system 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”Zone allocation strategies can also be set 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