Skip to content

Commit 6e03c91

Browse files
authored
Merge pull request #231482 from TimShererWithAquent/us2036655a
WIP Freshness Pass User Story: 2036655 (several articles)
2 parents c1b22b0 + 4cce0da commit 6e03c91

File tree

3 files changed

+226
-210
lines changed

3 files changed

+226
-210
lines changed

articles/networking/troubleshoot-failed-state.md

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,82 @@
11
---
22
title: 'Troubleshoot Azure Microsoft.Network failed Provisioning State'
3-
description: Learn how to troubleshoot Azure Microsoft.Network failed Provisioning State.
3+
description: Learn about the meaning of various provisioning states and how to troubleshoot Azure Microsoft.Network failed Provisioning State.
44
services: networking
55
author: stegag
6-
76
ms.service: virtual-network
87
ms.custom: devx-track-azurepowershell
98
ms.topic: how-to
10-
ms.date: 04/08/2022
9+
ms.date: 03/21/2023
1110
ms.author: stegag
1211
---
1312

1413
# Troubleshoot Azure Microsoft.Network failed provisioning state
1514

16-
This article helps understand the meaning of various provisioning states for Microsoft.Network resources and how to effectively troubleshoot situations when the state is **Failed**.
15+
This article helps you understand the meaning of various provisioning states for Microsoft.Network resources. You can effectively troubleshoot situations when the state is **Failed**.
1716

1817
[!INCLUDE [support-disclaimer](../../includes/support-disclaimer.md)]
1918

2019
## Provisioning states
2120

22-
The provisioning state is the status of a user-initiated, control-plane operation on an Azure Resource Manager resource.
21+
The provisioning state is the status of a user-initiated, control-plane operation on an Azure Resource Manager resource.
2322

2423
| Provisioning state | Description |
2524
|---|---|
2625
| Updating | Resource is being created or updated. |
27-
| Failed | Last operation on the resource was not successful. |
28-
| Succeeded | Last operation on the resource was successful. |
29-
| Deleting | Resource is being deleted. |
30-
| Migrating | Seen when migrating from Azure Service Manager to Azure Resource Manager. |
26+
| Failed | Last operation on the resource wasn't successful. |
27+
| Succeeded | Last operation on the resource was successful. |
28+
| Deleting | Resource is being deleted. |
29+
| Migrating | Seen when migrating from Azure Service Manager to Azure Resource Manager. |
3130

32-
These states are just metadata properties of the resource and are independent from the functionality of the resource itself.
33-
Being in a failed state does not necessarily mean that the resource is not functional, in fact in most cases it can continue operating and servicing traffic without issues.
31+
These states are metadata properties of the resource. They're independent from the functionality of the resource itself. Being in the failed state doesn't necessarily mean that the resource isn't functional. In most cases, it can continue operating and serving traffic without issues.
3432

35-
However in several scenarios further operations on the resource or on other resources that depend on it may fail if the resource is in failed state, so the state needs to be reverted back to succeeded before executing other operations.
33+
In several scenarios, if the resource is in the failed state, further operations on the resource or on other resources that depend on it might fail. You need to revert the state back to succeeded before running other operations.
3634

37-
For example, you cannot execute an operation on a VirtualNetworkGateway if it has a dependent VirtualNetworkGatewayConnection object in failed state and viceversa.
35+
For example, you can't run an operation on a `VirtualNetworkGateway` if it has a dependent `VirtualNetworkGatewayConnection` object in failed state.
3836

3937
## Restoring succeeded state through a PUT operation
4038

41-
The correct way to restore succeeded state is to execute another write (PUT) operation on the resource.
39+
To restore succeeded state, run another write (`PUT`) operation on the resource.
4240

43-
Most times, the issue that caused the previous operation might no longer be current, hence the newer write operation should be successful and restore the provisioning state.
41+
The issue that caused the previous operation might no longer be current. The newer write operation should be successful and restore the provisioning state.
4442

45-
The easiest way to achieve this task is to use Azure PowerShell. You will need to issue a resource-specific "Get" command that fetches all the current configuration for the impacted resource as it is deployed. Next, you can execute a "Set" command (or equivalent) to commit to Azure a write operation containing all the resource properties as they are currently configured.
43+
The easiest way to achieve this task is to use Azure PowerShell. Issue a resource-specific *Get* command that fetches all the current configuration for the resource. Next, run a *Set* command, or equivalent, to commit to Azure a write operation that contains all the resource properties as currently configured.
4644

4745
> [!IMPORTANT]
48-
> 1. Executing a "Set" command on the resource without running a "Get" first will result in overwriting the resource with default settings which might be different from those you currently have configured. Do not just run a "Set" command unless resetting settings is intentional.
49-
> 2. Executing a "Get" and "Set" operation using third party software or otherwise any tool using older API version may also result in loss of some settings, as those may not be present in the API version with which you have executed the command.
46+
>
47+
> - Running a `Set` command on the resource without first running a `Get` results in overwriting the resource with default settings. Those settings might be different from the ones you currently have configured. Don't just run a `Set` command unless you intend to reset to default.
48+
> - Running a `Get` and `Set` operation using third party software or any tool using older API version might also result in loss of some settings. Those settings might not be present in the API version with which you run the command.
5049
>
5150
## Azure PowerShell cmdlets to restore succeeded provisioning state
5251

5352
[!INCLUDE [updated-for-az](../../includes/hybrid-az-ps.md)]
5453

5554
### Preliminary operations
5655

57-
1. Install the latest version of the Azure Resource Manager PowerShell cmdlets. For more information, see [Install and configure Azure PowerShell](/powershell/azure/install-az-ps).
56+
1. Install the latest version of the Azure Resource Manager PowerShell cmdlets. For more information, see [Install the Azure Az PowerShell module](/powershell/azure/install-az-ps).
5857

5958
2. Open your PowerShell console with elevated privileges, and connect to your account. Use the following example to help you connect:
6059

6160
```azurepowershell-interactive
6261
Connect-AzAccount
6362
```
63+
6464
3. If you have multiple Azure subscriptions, check the subscriptions for the account.
6565

6666
```azurepowershell-interactive
6767
Get-AzSubscription
6868
```
69+
6970
4. Specify the subscription that you want to use.
7071

7172
```azurepowershell-interactive
7273
Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"
7374
```
74-
5. Run the resource-specific commands listed below to reset the provisioning state to succeeded.
75-
75+
76+
5. Run the resource-specific commands in the following sections to reset the provisioning state.
77+
7678
> [!NOTE]
77-
>Every sample command in this article uses "your_resource_name" for the name of the Resource and "your_resource_group_name" for the name of the Resource Group. Make sure to replace these strings with the appropriate Resource and Resource Group names according to your deployment.
79+
> Every sample command in this article uses `your_resource_name` for the name of the resource and `your_resource_group_name` for the name of the resource group. Make sure to replace these strings with the appropriate resource and resource group names for your deployment.
7880
7981
### Microsoft.Network/applicationGateways
8082

@@ -87,11 +89,13 @@ Get-AzApplicationGateway -Name "your_resource_name" -ResourceGroupName "your_res
8789
```azurepowershell-interactive
8890
Get-AzApplicationGatewayFirewallPolicy -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzApplicationGatewayFirewallPolicy
8991
```
92+
9093
### Microsoft.Network/azureFirewalls
9194

9295
```azurepowershell-interactive
9396
Get-AzFirewall -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzFirewall
9497
```
98+
9599
### Microsoft.Network/bastionHosts
96100

97101
```azurepowershell-interactive
@@ -119,7 +123,7 @@ Get-AzExpressRouteGateway -Name "your_resource_name" -ResourceGroupName "your_re
119123
```
120124

121125
> [!NOTE]
122-
> **Microsoft.Network/expressRouteGateways** are those gateways deployed within a Virtual WAN. If you have a standalone gateway of ExpressRoute type in your Virtual Network you need to execute the commands related to [Microsoft.Network/virtualNetworkGateways](#microsoftnetworkvirtualnetworkgateways).
126+
> `Microsoft.Network/expressRouteGateways` are deployed within a Virtual WAN. If you have a standalone ExpressRoute gateway in your virtual network, run the commands related to [Microsoft.Network/virtualNetworkGateways](#microsoftnetworkvirtualnetworkgateways).
123127
124128
### Microsoft.Network/expressRoutePorts
125129

@@ -168,9 +172,10 @@ Get-AzNetworkSecurityGroup -Name "your_resource_name" -ResourceGroupName "your_r
168172
```azurepowershell-interactive
169173
Get-AzNetworkVirtualAppliance -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzNetworkVirtualAppliance
170174
```
175+
171176
> [!NOTE]
172-
> Most Virtual WAN related resources such as networkVirtualAppliances leverage the "Update" cmdlet and not the "Set" for write operations.
173-
>
177+
> Most Virtual WAN related resources, such as networkVirtualAppliances, use the `Update` cmdlet, not the `Set`, for write operations.
178+
174179
### Microsoft.Network/privateDnsZones
175180

176181
```azurepowershell-interactive
@@ -212,9 +217,10 @@ Get-AzRouteTable -Name "your_resource_name" -ResourceGroupName "your_resource_gr
212217
```azurepowershell-interactive
213218
Get-AzVirtualHub -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVirtualHub
214219
```
220+
215221
> [!NOTE]
216-
> Most Virtual WAN related resources such as virtualHubs leverage the "Update" cmdlet and not the "Set" for write operations.
217-
>
222+
> Most Virtual WAN related resources, such as virtualHubs, use the `Update` cmdlet, not the `Set`, for write operations.
223+
218224
### Microsoft.Network/virtualNetworkGateways
219225

220226
```azurepowershell-interactive
@@ -232,32 +238,33 @@ Get-AzVirtualNetwork -Name "your_resource_name" -ResourceGroupName "your_resourc
232238
```azurepowershell-interactive
233239
Get-AzVirtualWan -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVirtualWan
234240
```
241+
235242
> [!NOTE]
236-
> Most Virtual WAN related resources such as virtualWans leverage the "Update" cmdlet and not the "Set" for write operations.
243+
> Most Virtual WAN related resources, such as virtualWans, use the `Update` cmdlet, not the `Set`, for write operations.
237244
238245
### Microsoft.Network/vpnGateways
239246

240247
```azurepowershell-interactive
241248
Get-AzVpnGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVpnGateway
242249
```
250+
243251
> [!NOTE]
244-
> 1. **Microsoft.Network/vpnGateways** are those gateways deployed within a Virtual WAN. If you have a standalone gateway of VPN type in your Virtual Network you need to execute the commands related to [Microsoft.Network/virtualNetworkGateways](#microsoftnetworkvirtualnetworkgateways).
245-
> 2. Most Virtual WAN related resources such as vpnGateways leverage the "Update" cmdlet and not the "Set" for write operations.
252+
>
253+
> - `Microsoft.Network/vpnGateways` are deployed within a Virtual WAN. If you have a standalone VPN gateway in your virtual network, run the commands related to [Microsoft.Network/virtualNetworkGateways](#microsoftnetworkvirtualnetworkgateways).
254+
> - Most Virtual WAN related resources, such as vpnGateways, use the `Update` cmdlet, not the `Set` for write operations.
246255
247256
### Microsoft.Network/vpnSites
248257

249258
```azurepowershell-interactive
250259
Get-AzVpnSite -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVpnSite
251260
```
252-
> [!NOTE]
253-
> Most Virtual WAN related resources such as vpnSites leverage the "Update" cmdlet and not the "Set" for write operations.
254-
255261

262+
> [!NOTE]
263+
> Most Virtual WAN related resources, such as vpnSites, use the `Update` cmdlet, not the `Set`, for write operations.
256264
257265
## Next steps
258266

259-
If the command executed didn't fix the failed state, it should return an error code for you.
267+
If the command that you ran didn't resolve the failed state, it should return an error code.
260268
Most error codes contain a detailed description of what the problem might be and offer hints to solve it.
261269

262-
Open a support ticket with [Microsoft support](https://portal.azure.com/?#blade/Microsoft_Azure_Support/HelpAndSupportBlade) if you're still experiencing issues.
263-
Make sure you specify to the Support Agent both the error code you received in the latest operation, as well as the timestamp of when the operation was executed.
270+
If you're still experiencing issues, open a support ticket with [Microsoft support](https://portal.azure.com/?#blade/Microsoft_Azure_Support/HelpAndSupportBlade). Specify to the support agent both the error code that you received in the latest operation and the timestamp when you ran the operation.

0 commit comments

Comments
 (0)