Azure / Azure/azure-powershell

Get-AzWebAppSnapshot and Restore-AzWebAppSnapshot fail when `-UseDisasterRecovery` is passed.

Open
#26,267 2 comments 0 reactions 0 assignees View on GitHub
act-observability-squad App Services bug customer-reported Service Attention
Dominant language
C#
Stars
4.8k
Forks
4.3k
Avg merge
2d 17h
Merged PRs (30d)
51

Description

### Description

Passing `-UseDisasterRecovery` causes InternalServerError (The remote name could not be resolved: 'waws-prod-bn1-013dr.api.azurewebsites.windows.net')

This issue is also noted in the ScenarioTests:
https://github.com/Azure/azure-powershell/blob/3d831ac6827ded389166060fc67e1b40930f66ad/src/Websites/Websites.Test/ScenarioTests/WebAppBackupRestoreTests.ps1#L356C12-L356C32

### Issue script & Debug output

```powershell
$snapshot = (Get-AzWebAppSnapshot -Name $SourceName -ResourceGroupName $SourceResourceGroupName -UseDisasterRecovery -Debug)[0]

DEBUG: ============================ HTTP REQUEST ============================

HTTP Method:
GET

Absolute Uri:
https://management.azure.com/subscriptions/[redacted]/resourceGroups/[redacted]/providers/Microsoft.Web/sites/[redacted]/snapshotsdr?api-version=2021-01-15

Headers:
x-ms-client-request-id : ffd7df45-405c-49f2-a736-ba626bf83f65
Accept-Language : en-US

Body:

DEBUG: ============================ HTTP RESPONSE ============================

Status Code:
InternalServerError

Headers:
Cache-Control : no-cache
Pragma : no-cache
Strict-Transport-Security : max-age=31536000; includeSubDomains
X-AspNet-Version : 4.0.30319
X-Powered-By : ASP.NET
x-ms-failure-cause : service
x-ms-ratelimit-remaining-subscription-reads: 249
x-ms-ratelimit-remaining-subscription-global-reads: 3749
x-ms-request-id : e659fbe0-a538-4d01-9959-2f993ceb6cb6
x-ms-correlation-request-id : e659fbe0-a538-4d01-9959-2f993ceb6cb6
x-ms-routing-request-id : EASTUS:20241010T184426Z:e659fbe0-a538-4d01-9959-2f993ceb6cb6
X-Content-Type-Options : nosniff
X-Cache : CONFIG_NOCACHE
X-MSEdge-Ref : Ref A: FCBA7D33FCA746E487E6D4567DAD0586 Ref B: BL2AA2010202039 Ref C: 2024-10-10T18:44:26Z
Date : Thu, 10 Oct 2024 18:44:25 GMT

Body:
{
"Code": "InternalServerError",
"Message": "The remote name could not be resolved: 'waws-prod-bn1-013dr.api.azurewebsites.windows.net'",
"Target": null,
"Details": [
{
"Message": "The remote name could not be resolved: 'waws-prod-bn1-013dr.api.azurewebsites.windows.net'"
},
{
"Code": "InternalServerError"
},
{
"ErrorEntity": {
"Code": "InternalServerError",
"Message": "The remote name could not be resolved: 'waws-prod-bn1-013dr.api.azurewebsites.windows.net'"
}
}
],
"Innererror": null
}
```

### Environment data

```
Name Value
---- -----
PSVersion 7.2.23
PSEdition Core
GitCommitId 7.2.23
OS Microsoft Windows 10.0.22621
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
```

### Module versions

```
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Script 3.0.2 Az.Accounts {Add-AzEnvironment, Clear-AzConfig, Clear-AzContext, Clear-AzDefault…}
Script 5.1.0 Az.KeyVault {Add-AzKeyVaultCertificate, Add-AzKeyVaultCertificateContact, Add-AzKeyVaultKey, Add-AzKe…
Script 6.13.0 Az.Resources {Export-AzResourceGroup, Export-AzTemplateSpec, Get-AzDenyAssignment, Get-AzDeployment…}
Script 1.2.2 Az.TrafficManager {Add-AzTrafficManagerCustomHeaderToEndpoint, Add-AzTrafficManagerCustomHeaderToProfile, A…
Script 3.1.2 Az.Websites {Add-AzWebAppAccessRestrictionRule, Add-AzWebAppTrafficRouting, Edit-AzWebAppBackupConfig…
```

### Error output

```
Message : Operation returned an invalid status code 'InternalServerError'
StackTrace : at Microsoft.Azure.Management.WebSites.WebAppsOperations.ListSnapshotsFromDRSecondaryWithHttpMessagesAsync(String resourceGroupName,
String name, Dictionary`2 customHeaders, CancellationToken cancellationToken)
at Microsoft.Azure.Management.WebSites.WebAppsOperationsExtensions.ListSnapshotsFromDRSecondaryAsync(IWebAppsOperations operations, String
resourceGroupName, String name, CancellationToken cancellationToken)
at Microsoft.Azure.Management.WebSites.WebAppsOperationsExtensions.ListSnapshotsFromDRSecondary(IWebAppsOperations operations, String
resourceGroupName, String name)
at Microsoft.Azure.Commands.WebApps.Utilities.WebsitesClient.GetSiteSnapshots(String resourceGroupName, String webSiteName, String
slotName, Boolean useDrSecondary)
at Microsoft.Azure.Commands.WebApps.Cmdlets.BackupRestore.GetAzureWebAppSnapshot.ExecuteCmdlet()
at Microsoft.WindowsAzure.Commands.Utilities.Common.CmdletExtensions.<>c__3`1.b__3_0(T c)
at Microsoft.WindowsAzure.Commands.Utilities.Common.CmdletExtensions.ExecuteSynchronouslyOrAsJob[T](T cmdlet, Action`1 executor)
at Microsoft.WindowsAzure.Commands.Utilities.Common.CmdletExtensions.ExecuteSynchronouslyOrAsJob[T](T cmdlet)
at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord()
Exception : Microsoft.Azure.Management.WebSites.Models.DefaultErrorResponseException
InvocationInfo : {Get-AzWebAppSnapshot}
Line : $snapshot = (Get-AzWebAppSnapshot -Name $SourceName -ResourceGroupName $SourceResourceGroupName -UseDisasterRecovery -Debug)[0]
```

Contributor guide

Open the contributing guide

Research direction

Start with ScenarioTests/WebAppBackupRestoreTests.ps1 around line 356 and trace Get-AzWebAppSnapshot into WebsitesClient.GetSiteSnapshots, as identified by the stack trace. Reproduce the -UseDisasterRecovery request and determine whether the failure is in the cmdlet path or the Azure Web Apps endpoint. Done means snapshot and restore with the flag complete without the reported InternalServerError.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, powershell
Domain
api, cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.