Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 51 additions & 15 deletions operator-nexus/howto-network-fabric-quality-of-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,72 @@ Users can enable or disable QoS via Azure CLI.
## Prerequisites

- Use supported API and Fabric version.
- Fabric must be in a state that allows updates (not in an immutable provisioning phase).


## Option 1—Azure CLI
- Fabric must be in a state that allows updates (not in an immutable provisioning phase).
- States that allow fabric update:

#### Network Fabric Update (PATCH) — Allowed & Blocked States

##### Configuration State

| Allowed ✅ | Blocked ❌ |
|-----------|-----------|
| Succeeded | Provisioning |
| Provisioned | Deprovisioning |
| Deprovisioned | Rejected |
| ErrorProvisioning | DeferredControl |
| ErrorDeprovisioning | PendingCommit |
| Accepted | PendingAdministrativeUpdate |
| Failed | CommitStaged |
| | CommitStageFailed |
| | CommitRollbackFailed |
| | Initializing |

##### Lock States

| Lock Type | Allowed ✅ | Blocked ❌ |
|-----------|-----------|-----------|
| Administrative Lock | Disabled | Enabled |
| Configuration Lock (Commit Lock) | Disabled | Enabled |

##### Under Maintenance — Exempted Reasons (PATCH still allowed)

| Reason |
|--------|
| NniUpdateInProgress |
| ControlPlaneAclsUpdated |
| TrustedIpPrefixesUpdated |

Any other `UnderMaintenance` reason → ❌ PATCH blocked

### Enable (or disable) QoS on a fabric:
```Azure CLI
az networkfabric fabric update \
--subscription XXX_SUBSCRIPTION_ID \
--resource-group XXX_RESOURCE_GROUP \
--resource-name XXX_FABRIC_NAME \
az networkfabric fabric update \
--subscription XXX_SUBSCRIPTION_ID \
--resource-group XXX_RESOURCE_GROUP \
--resource-name XXX_FABRIC_NAME \
--qos-configuration "{qosConfigurationState:'Enabled'}"
```
Use 'Disabled' to turn QoS off

### Enable configuration lock:
Comment thread
rkaraddi marked this conversation as resolved.
```Azure CLI
az networkfabric fabric configuration-lock enable \
--subscription XXX_SUBSCRIPTION_ID \
--resource-group XXX_RESOURCE_GROUP \
--resource-name XXX_FABRIC_NAME
az networkfabric fabric lock-fabric \
--subscription XXX_SUBSCRIPTION_ID \
--resource-group XXX_RESOURCE_GROUP \
--network-fabric-name XXX_FABRIC_NAME \
--lock-type Configuration \
--action Lock
```
### Commit configuration:
```Azure CLI
az networkfabric fabric commit \
--subscription XXX_SUBSCRIPTION_ID \
--resource-group XXX_RESOURCE_GROUP \
az networkfabric fabric commit-configuration \
--subscription XXX_SUBSCRIPTION_ID \
--resource-group XXX_RESOURCE_GROUP \
--resource-name XXX_FABRIC_NAME
```

Note: The commit-configuration will remove the Configuration lock on Fabric

## Feature behavior & traffic classification

- Each packet is classified into a Traffic Class (TC); egress queues prevent low‑priority traffic from blocking high‑priority traffic.
Expand Down