Skip to content

Commit 644bf64

Browse files
authored
Merge pull request #302981 from b-ahibbard/edit-net-features
Edit net features - portal/cli/api
2 parents 768f679 + 8be4986 commit 644bf64

File tree

4 files changed

+140
-56
lines changed

4 files changed

+140
-56
lines changed

articles/azure-netapp-files/azure-netapp-files-configure-nfsv41-domain.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ You can specify a desired NFSv4.1 ID domain for all non-LDAP volumes using the A
4444

4545
Azure NetApp Files supports the ability to set the NFSv4.1 ID domain for all non-LDAP volumes in a subscription using the Azure portal. This feature is currently in preview. You need to register the feature before using it for the first time. After registration, the feature is enabled and works in the background.
4646

47-
1. Register the feature
47+
1. Register the feature:
4848

4949
```azurepowershell-interactive
5050
Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFNFSV4IDDomain
@@ -53,7 +53,7 @@ Azure NetApp Files supports the ability to set the NFSv4.1 ID domain for all non
5353
2. Check the status of the feature registration:
5454
5555
> [!NOTE]
56-
> The **RegistrationState** may be in the `Registering` state for up to 60 minutes before changing to `Registered`. Wait until the status is `Registered` before continuing.
56+
> The **RegistrationState** can remain in the `Registering` state for up to 60 minutes before changing to `Registered`. Wait until the status is `Registered` before continuing.
5757
5858
```azurepowershell-interactive
5959
Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFNFSV4IDDomain

articles/azure-netapp-files/configure-network-features.md

Lines changed: 131 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: azure-netapp-files
55
author: b-hchen
66
ms.service: azure-netapp-files
77
ms.topic: how-to
8-
ms.date: 03/04/2025
8+
ms.date: 08/08/2025
99
ms.custom: references_regions
1010
ms.author: anfdocs
1111
# Customer intent: As an Azure NetApp Files administrator, I want to configure network features for my volumes, so that I can optimize resource allocation and leverage VNet capabilities based on my workload requirements.
@@ -19,12 +19,12 @@ The **Network Features** functionality enables you to indicate whether you want
1919
Two settings are available for network features:
2020

2121
* ***Standard***
22-
This setting enables VNet features for the volume. Standard network features is the default and preferred setting.
22+
This setting enables VNet features for the volume. The default and preferred setting is Standard network features.
2323

2424
If you need higher IP limits or VNet features such as [network security groups (NSGs)](../virtual-network/network-security-groups-overview.md), [user-defined routes](../virtual-network/virtual-networks-udr-overview.md#user-defined), or additional connectivity patterns, set **Network Features** to *Standard*.
2525

2626
* ***Basic***
27-
This setting provides reduced IP limits (<1000) and no additional VNet features for the volumes.
27+
This setting provides reduced IP limits (less than 1,000 IP addresses) and no additional VNet features for the volumes.
2828

2929
You should set **Network Features** to *Basic* if you don't require VNet features.
3030

@@ -59,52 +59,144 @@ This section shows you how to set the network features option when you create a
5959

6060
[ ![Screenshot that shows the Volumes page displaying the network features setting.](./media/configure-network-features/network-features-volume-list.png)](./media/configure-network-features/network-features-volume-list.png#lightbox)
6161

62-
## Edit network features option for existing volumes
62+
## Edit network features for existing volumes
6363

6464
You can edit the network features option of existing volumes from *Basic* to *Standard* network features. The change you make applies to all volumes in the same *network sibling set* (or *siblings*). Siblings are determined by their network IP address relationship. They share the same network interface card (NIC) for mounting the volume to the client or connecting to the remote share of the volume. At the creation of a volume, its siblings are determined by a placement algorithm that aims for reusing the IP address where possible.
6565

66-
>[!IMPORTANT]
67-
>It's not recommended that you use the edit network features option with Terraform-managed volumes due to risks. You must follow separate instructions if you use Terraform-managed volumes. For more information see, [Update Terraform-managed Azure NetApp Files volume from Basic to Standard](#update-terraform-managed-azure-netapp-files-volume-from-basic-to-standard).
68-
69-
7066
### Considerations when editing networking features
7167

72-
* If you enabled both the `ANFStdToBasicNetworkFeaturesRevert` and `ANFBasicToStdNetworkFeaturesUpgrade` AFECs and are using 1 or 2-TiB capacity pools, see [Resize a capacity pool or a volume](azure-netapp-files-resize-capacity-pools-or-volumes.md) for information about sizing your capacity pools.
7368
* <a name="no-downtime"></a> Azure NetApp Files supports a non-disruptive upgrade to Standard network features and a revert to Basic network features. This operation is expected to take at least 15 minutes. You can't create a regular or data protection volume or application volume group in the targeted network sibling set while the operation completes.
69+
* If you revert from Standard to Basic network features, considerations apply and require careful planning. See [Guidelines for Azure NetApp Files network planning](azure-netapp-files-network-topologies.md#constraints) for constraints and supported network topologies about Standard and Basic network features.
7470

75-
> [!NOTE]
76-
> You need to submit a waitlist request for accessing the feature through the **[Azure NetApp Files standard networking features (edit volumes) Request Form](https://aka.ms/anfeditnetworkfeaturespreview)**. The feature can take approximately one week to be enabled after you submit the waitlist request. You can check the status of feature registration by using the following command:
77-
>
78-
> ```azurepowershell-interactive
79-
> Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFBasicToStdNetworkFeaturesUpgrade
80-
>
81-
> FeatureName ProviderName RegistrationState
82-
> ----------- ------------ -----------------
83-
> ANFBasicToStdNetworkFeaturesUpgrade Microsoft.NetApp Registered
84-
> ```
71+
### Register the feature
8572

86-
> [!NOTE]
87-
> You can also revert the option from *Standard* back to *Basic* network features. Before performing the revert operation, you must submit a waitlist request through the **[Azure NetApp Files standard networking features (edit volumes) Request Form](https://aka.ms/anfeditnetworkfeatures)**. The revert capability can take approximately one week to be enabled after you submit the waitlist request. You can check the status of the registration by using the following command:
73+
Before editing network features on an existing volume, you need to register the feature. Ensure you are using the correct feature name for the change in network features you want to perform.
74+
75+
* To upgrade to Standard network features from Basic, use the feature name `ANFBasicToStdNetworkFeaturesUpgrade`.
76+
77+
1. Register the feature:
78+
79+
```azurepowershell-interactive
80+
Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFBasicToStdNetworkFeaturesUpgrade
81+
```
82+
83+
2. Check the status of the feature registration:
84+
85+
> [!NOTE]
86+
> The **RegistrationState** can remain in the `Registering` state for up to 60 minutes before changing to `Registered`. Wait until the status is `Registered` before continuing.
87+
88+
```azurepowershell-interactive
89+
Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFBasicToStdNetworkFeaturesUpgrade
90+
```
8891
92+
You can also use [Azure CLI commands](/cli/azure/feature) `az feature register` and `az feature show` to register the feature and display the registration status.
8993
94+
95+
> [!NOTE]
96+
> To revert from *Standard* to *Basic* network features, you must also register the feature.
97+
> Submit a waitlist request through the **[Azure NetApp Files standard networking features (edit volumes) Request Form](https://aka.ms/anfeditnetworkfeatures)**. The revert capability can take approximately one week to be enabled after you submit the waitlist request. Check the status of the registration with the following command.
9098
>
9199
> ```azurepowershell-interactive
92-
> Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFStdToBasicNetworkFeaturesRevert
100+
> Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFStdToBasicNetworkFeaturesRevert
101+
>```
93102
>
94-
> FeatureName ProviderName RegistrationState
95-
> ----------- ------------ -----------------
96-
> ANFStdToBasicNetworkFeaturesRevert Microsoft.NetApp Registered
97-
> ```
103+
> When the `RegistrationState` displays Registered, the feature is approved for use.
98104
>
99105
> If you revert, considerations apply and require careful planning. See [Guidelines for Azure NetApp Files network planning](azure-netapp-files-network-topologies.md#constraints) for constraints and supported network topologies about Standard and Basic network features.
100106
101-
### Edit network features
107+
### <a name="edit"></a> Edit network features
108+
109+
# [Portal](#tab/portal)
102110
103111
1. Navigate to the volume for which you want to change the network features option.
104112
1. Select **Change network features**.
105-
1. The **Edit network features** window displays the volumes that are in the same network sibling set. Confirm whether you want to modify the network features option.
113+
1. The Edit network features window displays the volumes that are in the same network sibling set. Select **Save** to proceed with the operation.
114+
1. Select **Yes** to confirm you want to modify the network features option.
115+
116+
# [Azure CLI](#tab/cli)
117+
118+
You should be running the latest version of the Azure CLI. Confirm the version with the `az version` command. If necessary, see [How to update the Azure CLI](/cli/azure/update-azure-cli).
119+
120+
1. List volumes in the capacity pool. Capture the network sibling set ID of the volume whose network features you want to update.
121+
122+
```azurecli-interactive
123+
az netappfiles volume list --account-name <account> --resource-group <resourceGroup> --pool-name <capacityPool>
124+
```
125+
126+
1. Query the network sibling set. Capture the network sibling set state ID for the network sibling set you want to update.
127+
128+
```azurecli-interactive
129+
az netappfiles query-network-sibling-set --network-sibling-set-id <networkSiblingSetID> --subnet-id <subnetID>
130+
```
131+
132+
1. Run the following command to update the network features on a volume:
133+
134+
```azurecli-interactive
135+
az netappfiles update-network-sibling-set --network-sibling-set-id <networkSiblingSetID> --network-sibling-set-state-id=<stateID> --subnet-id <subnetID> --location <location> --network-features Standard|Basic
136+
```
137+
138+
1. Confirm the operation succeeded by checking the network features of the volume:
139+
140+
```azurecli
141+
az netappfiles volume show -g <resourceGroup> --account-name <account> --pool-name <capacityPool> --name <volumeName>
142+
```
106143
107-
### Update Terraform-managed Azure NetApp Files volume from Basic to Standard
144+
# [PowerShell](#tab/powershell)
145+
146+
1. List the volumes in the capacity pool. Capture the network sibling set ID of the volume whose network features you want to update.
147+
148+
```azurepowershell-interactive
149+
Get-AzNetAppFilesVolume -ResourceGroupName "<resourceGroup> -AccountName "<accountName>" -PoolName "<capacityPool>" -Name "<volume>"
150+
```
151+
152+
1. Query the network sibling set. Capture the network sibling set state ID for the network sibling set you want to update.
153+
154+
```azurepowershell-interactive
155+
Get-AzNetAppFilesNetworkSiblingSet -Location "<location>" -SubnetId "<subnetID>" -NetworkSiblingSetId "<networkSiblingSetID>"
156+
```
157+
158+
1. Update the network sibling set.
159+
160+
```azurepowershell-interactive
161+
Update-AzNetAppFilesNetworkSiblingSet -Location "<location>" -SubnetId "<subscription>" -NetworkSiblingSetId "<networkSiblingSetID>" -NetworkSiblingSetStateId "<networkSiblingSetID>" -NetworkFeature "<Standard|Basic>"
162+
```
163+
164+
1. Confirm the volume has the correct network features setting.
165+
166+
```azurepowershell-interactive
167+
Get-AzNetAppFilesVolume -ResourceGroupName "<resourceGroup> -AccountName "<accountName>" -PoolName "<capacityPool>" -Name "<volume>"
168+
```
169+
170+
# [REST API](#tab/rest-api)
171+
172+
You should be using the [latest version of the Azure NetApp Files REST API](/rest/api/netapp/operation-groups).
173+
174+
1. Query the network sibling set. Take note of the network sibling set ID and network sibling set state ID.
175+
176+
```http
177+
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/queryNetworkSiblingSet?api-version=2025-03-01
178+
```
179+
180+
1. Send a PATCH request to update the network features. Set the "networkFeatures" property to Basic or Standard.
181+
182+
```http
183+
PATCH https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/updateNetworkSiblingSet
184+
```
185+
186+
```json
187+
{
188+
"networkSiblingSetId": "<networkSiblingSetID>",
189+
"subnetId": "<subnetID>",
190+
"networkSiblingSetStateId": "<siblingSetStateID>",
191+
"networkFeatures": "<Basic|Standard>"
192+
}
193+
```
194+
195+
1. Confirm the network features changed with a GET request.
196+
197+
---
198+
<!-- terraform
199+
### <a name="terraform"></a> Update Terraform-managed Azure NetApp Files volume from Basic to Standard
108200
109201
If your Azure NetApp Files volume is managed using Terraform, editing the network features requires additional steps. Terraform-managed Azure resources store their state in a local file, which is in your Terraform module or in Terraform Cloud.
110202
@@ -122,8 +214,6 @@ The name of the state file in your Terraform module is `terraform.tfstate`. It c
122214
123215
Do ***not*** manually update the `terraform.tfstate` file. Likewise, the `network_features` argument in the `*.tf` and `*.tf.json` configuration files should also not be updated until you follow the steps outlined here as this would cause a mismatch in the arguments of the remote volume and the local configuration file representing that remote volume. When Terraform detects a mismatch between the arguments of remote resources and local configuration files representing those remote resources, Terraform can destroy the remote resources and reprovision them with the arguments in the local configuration files. This can cause data loss in a volume.
124216
125-
By following the steps outlined here, the `network_features` argument in the `terraform.tfstate` file is automatically updated by Terraform to have the value of "Standard" without destroying the remote volume, thus indicating the network features has been successfully updated to Standard.
126-
127217
>[!NOTE]
128218
> It's recommended to always use the latest Terraform version and the latest version of the `azurerm` Terraform module.
129219
@@ -148,11 +238,16 @@ All Terraform configuration files that define these volumes need to be updated,
148238
You must modify the configuration files for each affected volume managed by Terraform that you discovered. Failing to update the configuration file can destroy the volume or result in data loss.
149239
150240
>[!IMPORTANT]
151-
>Depending on your volume’s lifecycle configuration block settings in your Terraform configuration file, your volume can be destroyed, including possible data loss upon running `terraform apply`. Ensure you know which affected volumes are managed by Terraform and which are not.
241+
>Depending on your volume’s lifecycle configuration block settings in your Terraform configuration file, your volume can be destroyed, including possible data loss upon running `terraform apply`. Ensure you know which affected volumes are managed by Terraform.
152242
153243
1. Locate the affected Terraform-managed volumes configuration files.
154-
1. Add the `ignore_changes = [network_features]` to the volume's `lifecycle` configuration block. If the `lifecycle` block doesn't exist in that volume’s configuration, add it.
155-
244+
1. Add or modify the `lifecycle` block in the volume’s configuration to include the `ignore_changes = [network_features]`. The `lifecycle` configuration block must include the following settings:
245+
```
246+
lifecycle {
247+
prevent_destroy = true
248+
ignore_changes = [network_features]
249+
}
250+
```
156251
:::image type="content" source="./media/configure-network-features/terraform-lifecycle.png" alt-text="Screenshot of the lifecycle configuration." lightbox="./media/configure-network-features/terraform-lifecycle.png":::
157252
158253
1. Repeat for each affected Terraform-managed volume.
@@ -180,21 +275,10 @@ The `ignore_changes` feature is intended to be used when a resource’s referenc
180275
181276
Repeat for all modules containing affected volumes.
182277
183-
Observe the change in the value of the `network_features` argument in the `terraform.tfstate` files, which changed from "Basic" to "Standard":
278+
The terraform.tfstate file doesn't reflect the change. Don't change the `network_features` parameter in the configuration file.
184279
185280
:::image type="content" source="./media/configure-network-features/updated-terraform-module.png" alt-text="Screenshot of updated Terraform module." lightbox="./media/configure-network-features/updated-terraform-module.png":::
186-
187-
#### Update Terraform-managed Azure NetApp Files volumes’ configuration file for configuration parity
188-
189-
Once you've update the volumes' network features, you must also modify the `network_features` arguments and `lifecycle blocks` in all configuration files of affected Terraform-managed volumes. This update ensures that if you have to recreate or update the volume, it maintains its Standard network features setting.
190-
191-
1. In the configuration file, set `network_features` to "Standard" and remove the `ignore_changes = [network_features]` line from the `lifecycle` block.
192-
193-
:::image type="content" source="./media/configure-network-features/terraform-network-features-standard.png" alt-text="Screenshot of Terraform module with Standard network features." lightbox="./media/configure-network-features/terraform-network-features-standard.png":::
194-
195-
1. Repeat for each affected Terraform-managed volume.
196-
1. Verify that the updated configuration files accurately represent the configuration of the remote resources by running `terraform plan`. Confirm the output reads "No changes."
197-
1. To complete the update, run `terraform apply`.
281+
-->
198282
199283
## Next steps
200284

articles/azure-netapp-files/terraform-manage-volume.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,6 @@ The following instructions are a high-level overview of the steps required to up
4848
4949
## Next steps
5050
51-
* [Update Terraform-Managed Azure NetApp Files Volume Network Feature from Basic to Standard](configure-network-features.md#update-terraform-managed-azure-netapp-files-volume-from-basic-to-standard)
51+
<!-- * [Update Terraform-Managed Azure NetApp Files Volume Network Feature from Basic to Standard](configure-network-features.md#terraform) -->
5252
* [Populate Availability Zone for Terraform-Managed Azure NetApp Files Volume](manage-availability-zone-volume-placement.md#populate-availability-zone-for-terraform-managed-volumes)
5353
* [Managing Azure NetApp Files preview features with Terraform Cloud and AzAPI Provider](https://techcommunity.microsoft.com/t5/azure-architecture-blog/managing-azure-netapp-files-preview-features-with-terraform/ba-p/3657714)

0 commit comments

Comments
 (0)