【发布时间】:2018-04-06 16:43:02
【问题描述】:
我有一个 ARM 模板和参数文件 here,我正在尝试使用它来创建一个功能 Web 应用程序,其中包含流量管理器和自定义主机名。目前它只是一个网络应用程序。
但是,一旦我完成这项工作,计划是分解此模板并根据环境将其他 Web 应用程序添加到链接模板。
我在尝试部署它时遇到错误(通过 PowerShell)。
5:13:13 PM - Resource Microsoft.Web/sites/hostNameBindings 'siteapidev2-lbxvta4fkayk6-site-0/domain-dev-tm.trafficmanager.net' failed with message '{
"Code": "Conflict",
"Message": "Cannot modify this site because another operation is in progress. Details: Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1",
"Target": null,
"Details": [
{
"Message": "Cannot modify this site because another operation is in progress. Details: Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1"
},
{
"Code": "Conflict"
},
{
"ErrorEntity": {
"ExtendedCode": "59203",
"MessageTemplate": "Cannot modify this site because another operation is in progress. Details: {0}",
"Parameters": [
"Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1"
],
"Code": "Conflict",
"Message": "Cannot modify this site because another operation is in progress. Details: Id: 9be2181b-16c3-4141-a4fa-80bc331d5f3c, OperationName: RegisterTrafficManagerProfile, CreatedTime: 4/6/2018 4:13:07 PM, RequestId: 1a1debb6-bba2-487d-a2cf-b49f671f8a52, EntityType: 1"
}
}
],
"Innererror": null
}'
At D:\path\deploy.ps1:110 char:5
+ New-AzureRmResourceGroupDeployment -ResourceGroupName $resourceGr ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzureRmResourceGroupDeployment], Exception
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet
我认为此错误是由于流量管理器无法完成造成的,因为它所依赖的网站也尚未完成。
我之前遇到了另一个错误,看起来很像这样: awverify error
在我看来,这似乎是因为 Web 应用程序创建过程试图添加一个未绑定的自定义域名。发生这种情况是因为在 Web 应用程序创建时,流量管理器进程尚未将其 DNS 主机名作为 CNAME 插入到 Web 应用程序中。
这导致我在 hostNameBinding 和流量管理器配置文件本身之间创建了依赖关系(参见模板的第 349 行)。
因此似乎存在某种依赖循环。完成此任务的最佳方法是什么:
- 创建网络应用程序
- 创建流量管理器配置文件并将 CNAME 添加到 Web 应用程序
- 将 Web 应用绑定添加到自定义域名。我已经在我的自定义域中添加了一条指向流量管理器配置文件的 CNAME 记录。
如果我手动创建 web 应用程序和流量管理器,我可以执行这些步骤。但是,当我从门户下载模板时,它不起作用。
我还发现,如果我从模板中删除第 349 行并运行模板两次,第一次产生错误,第二次成功。
【问题讨论】:
-
我可以向任何看到此问题的人建议尝试使用模板中的 dependsOn 属性。我设法让事情间歇性地工作(即重试相同的模板 5 次,最后一次因为某种原因成功了!)。我提出了有关此问题的 Microsoft 支持事件。希望尽快得到答复。
标签: azure-web-app-service arm-template azure-traffic-manager