Skip to content

Commit afe4be7

Browse files
Merge pull request #9499 from MicrosoftDocs/main
Auto Publish – main to live - 2025-08-11 18:00 UTC
2 parents 3ebafe5 + 23edf25 commit afe4be7

7 files changed

Lines changed: 138 additions & 6 deletions

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Troubleshoot the SubnetIsDelegated error code
3+
description: Learn how to troubleshoot the SubnetIsDelegated error when you try to create a node pool.
4+
ms.date: 08/07/2025
5+
editor: v-jsitser
6+
ms.reviewer: v-liuamson
7+
ms.service: azure-kubernetes-service
8+
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot the SubnetIsDelegated error so that I can successfully create a node pool.
9+
ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool)
10+
---
11+
# Troubleshoot the SubnetIsDelegated error code
12+
13+
This article discusses how to identify and resolve the SubnetIsDelegated error that occurs when you try to create a node pool.
14+
15+
## Prerequisites
16+
17+
- Azure CLI (version 2.0.59 or a later version)
18+
19+
## Symptoms
20+
21+
When you try to create a node pool in an AKS cluster, you receive the following error message:
22+
23+
> **Code:** **SubnetIsDelegated**
24+
>
25+
> **Message:** `AgentPoolProfile` subnet with id \<subnet-id\> cannot be used as it\'s a delegated subnet. Please check <https://aka.ms/adv-network-prerequest> for more details.
26+
27+
## Cause
28+
29+
If you try to create a node pool by using a subnet, and the subnet is delegation-enabled for a particular Azure service, the new node pool can't be integrated with the AKS service.
30+
31+
## Resolution
32+
33+
To resolve this issue, follow these steps:
34+
35+
1. Verify that the subnet is correctly delegated:
36+
37+
```bash
38+
az network vnet subnet show \
39+
--resource-group $RESOURCE_GROUP \
40+
--vnet-name $VNET_NAME \
41+
--name $SUBNET_NAME \
42+
--query delegations
43+
```
44+
45+
1. Make sure that the output shows **Microsoft.ContainerService/managedClusters** as the delegated service or no delegated service. If the output shows any other Azure service delegation, remove it by running the following command:
46+
47+
```bash
48+
az network vnet subnet update \
49+
--resource-group $RESOURCE_GROUP \
50+
--vnet-name $VNET_NAME \
51+
--name $SUBNET_NAME \
52+
--remove delegations 0
53+
```
54+
55+
1. Run the following command to add Managed Cluster delegation:
56+
57+
```bash
58+
az network vnet subnet update \
59+
--resource-group $RESOURCE_GROUP \
60+
--vnet-name $VNET_NAME \
61+
--name $SUBNET_NAME \
62+
--delegations Microsoft.ContainerService/managedClusters
63+
```
64+
65+
1. After the subnet delegation is removed, try again to create the node pool by using the `az aks nodepool add` command.
66+
67+
## References
68+
69+
- [az aks node pool examples](/cli/azure/aks/nodepool?view=azure-cli-latest#az-aks-nodepool-add-examples&preserve-view=true)
70+
71+
[!INCLUDE [azure-help-support](../../../includes/azure-help-support.md)]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: Troubleshoot the VirtualNetworkNotInSucceededState error code
3+
description: Learn how to troubleshoot the VirtualNetworkNotInSucceededState error when you create, upgrade, or scale an Azure Kubernetes Service (AKS) cluster or node pool.
4+
ms.date: 08/07/2025
5+
editor: v-jsitser
6+
ms.reviewer: v-liuamson
7+
ms.service: azure-kubernetes-service
8+
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot the VirtualNetworkNotInSucceededState error so that I can successfully create, upgrade, or scale an Azure Kubernetes Service (AKS) cluster or node pool.
9+
ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool)
10+
---
11+
# Troubleshoot the VirtualNetworkNotInSucceededState error code
12+
13+
## Symptoms
14+
15+
When you create, upgrade, or scale an Azure Kubernetes Service (AKS) cluster or node pool, the deployment fails and returns an error message that resembles the following message:
16+
17+
*Status=400 Code=\"VirtualNetworkNotInSucceededState\"*
18+
19+
*Message=\"Set virtual network ownership failed. Subscription: \<SUBSCRIPTION\>; resource group: \<RESOURCE GROUP\>; virtual network name: \<VNET NAME\>. autorest/azure: Service returned an error.
20+
Status=400 Code=\"VirtualNetworkNotInSucceededState\" Message=\"Virtual network /subscriptions/\<SUBSCRIPTION\>/resourceGroups/\<RESOURCE
21+
GROUP\>/providers/Microsoft.Network/virtualNetworks/\<VNET\> is in Updating state. It needs to be in Succeeded state in order to set resource ownership.*
22+
23+
## Cause
24+
25+
AKS can set ownership on a virtual network only if the `provisioningState` of the VNet is **Succeeded**. The request fails if the VNet is in the **Updating**, **Deleting**, or **Failed** state. Common causes for this condition include:
26+
27+
- Another create, update, or delete operation is still running on the VNet.
28+
29+
- A previous network operation failed and left the VNet in the **Failed** state.
30+
31+
- Multiple parallel cluster or node pool deployments are trying to modify the same VNet at the same time.
32+
33+
## Resolution
34+
35+
Check the current provisioning state of the VNet:
36+
37+
```dotnetcli
38+
az network vnet show -g \<resource-group\> -n \<vnet-name\> \--query \"provisioningState\" -o tsv
39+
```
40+
41+
If the command returns **Succeeded**, the VNet is fully set up and ready for use, and you can retry your AKS operation. If it returns any other value, the VNet might be in a failed or pending state that requires manual intervention. For more guidance, follow the troubleshooting steps in [Troubleshoot Azure Microsoft.Network failed provisioning state](/azure/networking/troubleshoot-failed-state).
42+
43+
[!INCLUDE [azure-help-support](../../../includes/azure-help-support.md)]

support/azure/azure-kubernetes/toc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,3 +455,7 @@
455455
href: error-codes/windows-cse-error-check-api-server-connectivity-error.md
456456
- name: ZonalAllocationFailed, AllocationFailed, or OverconstrainedAllocationRequest error
457457
href: error-codes/zonalallocation-allocationfailed-error.md
458+
- name: SubnetIsDelegated error
459+
href: error-codes/subnetisdelegated-error.md
460+
- name: VirtualNetworkNotInSucceededState error
461+
href: error-codes/virtualnetworknotinsucceededstate-error.md

support/azure/virtual-machines/linux/serial-console-linux.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.collection: linux
1212
ms.topic: article
1313
ms.tgt_pltfrm: vm-linux
1414
ms.workload: infrastructure-services
15-
ms.date: 03/11/2025
15+
ms.date: 07/29/2025
1616
ms.author: mbifeld
1717
---
1818

@@ -89,6 +89,13 @@ By default, all subscriptions have serial console access enabled. You can disabl
8989

9090
### Use Serial Console with custom boot diagnostics storage account firewall enabled
9191

92+
> [!CAUTION]
93+
> There is a known issue where Azure Serial Console may fail to connect when a custom boot diagnostics storage account has firewall restrictions. This occurs because Azure Serial Console runs in Microsoft’s internal tenant, and firewall rules on the customer-managed storage account may block its access, even with correct permissions.
94+
> To avoid connectivity issues, either [switch to managed boot diagnostics](../windows/boot-diagnostics.md#enable-boot-diagnostics-on-existing-virtual-machine) (recommended) or remove the firewall on the custom boot diagnostics storage account.
95+
96+
> [!IMPORTANT]
97+
> By the end of 2025, Azure Serial Console will no longer utilize boot diagnostics storage accounts for establishing a connection. No customer action is required for this change. This change does not affect serial logs or screenshots.
98+
9299
Serial Console uses the storage account configured for boot diagnostics in its connection workflow. When a firewall is enabled on this storage account, the Serial Console service IPs must be added as exclusions. To do this, follow these steps:
93100

94101
1. Navigate to the settings of the custom boot diagnostics storage account firewall you have enabled.

support/azure/virtual-machines/windows/serial-console-errors.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.service: azure-virtual-machines
1010
ms.topic: article
1111
ms.tgt_pltfrm: vm
1212
ms.workload: infrastructure-services
13-
ms.date: 04/07/2025
13+
ms.date: 07/29/2025
1414
ms.author: jarrettr
1515
ms.custom: sap:VM Admin - Windows (Guest OS)
1616
---
@@ -33,7 +33,7 @@ Error | Mitigation
3333
"Azure Serial Console requires boot diagnostics to be enabled. Click here to configure boot diagnostics for your virtual machine." | Ensure that the virtual machine (VM) or virtual machine scale set has [boot diagnostics](boot-diagnostics.md) enabled. When using serial console on a virtual machine scale set instance, ensure that your instance has the latest model.
3434
"Azure Serial Console requires a virtual machine to be running. Use the Start button to start your virtual machine." | The VM or virtual machine scale set instance must be in a started state to access the serial console (your VM must not be stopped or deallocated). Ensure your VM or virtual machine scale set instance is running and try again.
3535
"Azure Serial Console is not enabled for this subscription, contact your subscription administrator to enable." | The Azure Serial Console can be disabled at a subscription level. If you're a subscription administrator, you may [enable and disable the Azure Serial Console](./serial-console-enable-disable.md). If you aren't a subscription administrator, you should reach out to your subscription administrator for next steps.
36-
A "Forbidden" response was encountered when accessing this VM's boot diagnostic storage account. | This error is often caused by enabling a storage account firewall on the custom boot diagnostics account. If you're using a storage account firewall on this account, follow [Storage Account firewall configuration instructions](../linux/serial-console-linux.md#serial-console-security).
36+
A "Forbidden" response was encountered when accessing this VM's boot diagnostic storage account. | There is a known issue where Azure Serial Console may fail to connect when a custom boot diagnostics storage account has firewall restrictions. This occurs because Azure Serial Console runs in Microsoft’s internal tenant, and firewall rules on the customer-managed storage account may block its access, even with correct permissions. To avoid connectivity issues, either [switch to managed boot diagnostics](boot-diagnostics.md#enable-boot-diagnostics-on-existing-virtual-machine) (recommended) or remove the firewall on the custom boot diagnostics storage account.
3737
You don't have the required permissions to use this VM with the serial console. Ensure you have at least Virtual Machine Contributor role permissions.| The serial console access requires you to have contributor level access on your VM or virtual machine scale set. For more information, see the [overview page](serial-console-overview.md).
3838
The storage account '' used for boot diagnostics on this VM couldn't be found. Verify that boot diagnostics is enabled for this VM, this storage account has not been deleted, and you have access to this storage account. | Double check that you have not deleted the boot diagnostics storage account for your VM or virtual machine scale set
3939
The serial console connection to the VM encountered an error: 'Bad Request' (400) | This can happen if your boot diagnostics URI is incorrect. For example, "http://" was used instead of "https://". The boot diagnostics URI can be fixed with this command: `az vm boot-diagnostics enable --name vmName --resource-group rgName --storage https://<storageAccountUri>.blob.core.windows.net/`

support/azure/virtual-machines/windows/serial-console-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: azure-virtual-machines
99
ms.topic: article
1010
ms.tgt_pltfrm: vm
1111
ms.workload: infrastructure-services
12-
ms.date: 07/23/2025
12+
ms.date: 07/29/2025
1313
ms.reviewer: mbifeld, v-weizhu
1414
ms.custom: sap:VM Admin - Windows (Guest OS)
1515
---
@@ -99,7 +99,7 @@ To access the Serial Console on your VM or virtual machine scale set instance, y
9999
- Serial Console is not supported when the storage account has **Allow storage account key access** disabled.
100100

101101
> [!IMPORTANT]
102-
> Serial Console is now compatible with [managed boot diagnostics storage accounts](boot-diagnostics.md) and custom storage account firewalls.
102+
> By the end of 2025, Azure Serial Console will no longer utilize boot diagnostics storage accounts for establishing a connection. This change does not affect serial logs or screenshots.
103103
104104
## Get started with Serial Console
105105

support/azure/virtual-machines/windows/serial-console-windows.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.collection: windows
1111
ms.topic: article
1212
ms.tgt_pltfrm: vm-windows
1313
ms.workload: infrastructure-services
14-
ms.date: 04/29/2025
14+
ms.date: 07/29/2025
1515
ms.author: mbifeld
1616
ms.custom: sap:VM Admin - Windows (Guest OS)
1717
---
@@ -142,6 +142,13 @@ By default, all subscriptions have serial console access enabled. You can disabl
142142

143143
### Use Serial Console with custom boot diagnostics storage account firewall enabled
144144

145+
> [!CAUTION]
146+
> There is a known issue where Azure Serial Console may fail to connect when a custom boot diagnostics storage account has firewall restrictions. This occurs because Azure Serial Console runs in Microsoft’s internal tenant, and firewall rules on the customer-managed storage account may block its access, even with correct permissions.
147+
> To avoid connectivity issues, either [switch to managed boot diagnostics](boot-diagnostics.md#enable-boot-diagnostics-on-existing-virtual-machine) (recommended) or remove the firewall on the custom boot diagnostics storage account.
148+
149+
> [!IMPORTANT]
150+
> By the end of 2025, Azure Serial Console will no longer utilize boot diagnostics storage accounts for establishing a connection. No customer action is required for this change. This change does not affect serial logs or screenshots.
151+
145152
Serial Console uses the storage account configured for boot diagnostics in its connection workflow. When a firewall is enabled on this storage account, the Serial Console service IPs must be added as exclusions. To do this, follow these steps:
146153

147154
1. Navigate to the settings of the custom boot diagnostics storage account firewall you have enabled.

0 commit comments

Comments
 (0)