Azure Marketplace Elasticsearch template failing to deploy

I'm trying to deploy the Elasticsearch marketplace template ( https://azuremarketplace.microsoft.com/en-us/marketplace/apps/elastic.elasticsearch?tab=Overview ) and it's failed during the deployment.
The kibana and logstash VMs were created OK along with the networking infrastructure. However the master-nodes, client-nodes, and data-nodes entries failed with the following error.
I'm going to try it again (which knowing software will work this time) but I thought I'd share in case it's not transitory?
Does this happen to others? Is the image being updated and I lucked out when I tried to deploy?
Thanks in advance.

{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code\": \"InvalidContentLink\",\r\n \"message\": \"Unable to download deployment content from 'https://catalogartifact.azureedge.net/publicartifacts/elastic.elasticsearch-ada67ba1-cf04-42a0-b3e9-d6a2bf310a3c-elasticsearch/Artifacts//partials/vm.json'. The tracking Id is '800e7866-ad1a-4c5d-a3e1-d5ab614f5fed'. Please see https://aka.ms/arm-deploy for usage details.\"\r\n }\r\n}"},{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code\": \"InvalidContentLink\",\r\n \"message\": \"Unable to download deployment content from 'https://catalogartifact.azureedge.net/publicartifacts/elastic.elasticsearch-ada67ba1-cf04-42a0-b3e9-d6a2bf310a3c-elasticsearch/Artifacts//partials/vm.json'. The tracking Id is '9c650db9-b97d-4951-9e27-6d5310a3848d'. Please see https://aka.ms/arm-deploy for usage details.\"\r\n }\r\n}"},{"code":"BadRequest","message":"{\r\n \"error\": {\r\n \"code\": \"InvalidContentLink\",\r\n \"message\": \"Unable to download deployment content from 'https://catalogartifact.azureedge.net/publicartifacts/elastic.elasticsearch-ada67ba1-cf04-42a0-b3e9-d6a2bf310a3c-elasticsearch/Artifacts//partials/vm.json'. The tracking Id is '4d0dd31c-f8dc-4780-b2b8-ee9a42ffbe8e'. Please see https://aka.ms/arm-deploy for usage details.\"\r\n }\r\n}"}]}

Run into the same error while trying fresh deployment on Azure. It looks like this link has an extra /
https://catalogartifact.azureedge.net/publicartifacts/elastic.elasticsearch-ada67ba1-cf04-42a0-b3e9-d6a2bf310a3c-elasticsearch/Artifacts//partials/vm.json

Thanks for raising @Jonathan_Relf.

We're currently in conversation with Microsoft about a new version of the template that has been approved to be published to the Marketplace. A new version was approved and published yesterday, although the Marketplace appears to still be showing the previous version (where the latest deployment version is 6.6.0).

The issue is the same one as:

and has been fixed already with:

This fix has been merged into the master and 6.6 branches, and 6.6.1 release.

As per the details on the issue 261 and PR 263, the issue appears to have surfaced from a recent change in the Azure Marketplace portal; the Marketplace appears to no longer resolve URLs with double forward slashes to the same resource as those with a single forward slash. Granted, the template should remove them but it does appear to be an issue that has only just come about.

In the meantime, whilst waiting for the Marketplace to reflect the new version, you'd be able to deploy the same ARM template from the command line (using Azure CLI or PowerShell) and target a specific release tag in this GitHub repository. For example,

Azure CLI 2.0

template_base_uri=https://raw.githubusercontent.com/elastic/azure-marketplace
template_version=6.6.1

az group deployment create \
  --resource-group "<name>" \
  --template-uri $template_base_uri/$template_version/src/mainTemplate.json \
  --parameters artifactsBaseUrl=$template_base_uri/$template_version/src \
               esVersion=6.6.1 esClusterName=elasticsearch \
               vmDataDiskCount=1 dataNodesAreMasterEligible=Yes \
               adminUsername=russ adminPassword=Password1234 \
               securityBootstrapPassword=bootstrapPassword123 \
               securityAdminPassword=adminPassword123 \
               securityReadPassword=readPassword123 \
               securityKibanaPassword=kibanaPassword123 \
               securityLogstashPassword=logstashPassword123 \
               securityBeatsPassword=beatsPassword123

or Azure PowerShell

$templateBaseUri = "https://raw.githubusercontent.com/elastic/azure-marketplace"
$templateVersion = "6.6.1"

$parameters = @{
  "artifactsBaseUrl" = "$templateBaseUri/$templateVersion/src"
  "esVersion" = "6.6.1"
  "esClusterName" = "elasticsearch"
  "vmDataDiskCount" = 1
  "dataNodesAreMasterEligible" = "Yes"
  "adminUsername" = "russ"
  "adminPassword" = "Password1234"
  "securityBootstrapPassword" = "bootstrapPassword123"
  "securityAdminPassword" = "adminPassword123"
  "securityReadPassword" = "readPassword123"
  "securityKibanaPassword" = "kibanaPassword123"
  "securityLogstashPassword" = "logstashPassword123"
  "securityBeatsPassword" = "beatsPassword123"
}

$deployment = New-AzureRmResourceGroupDeployment -ResourceGroupName "<name>" `
  -TemplateUri "$templateBaseUri/$templateVersion/src/mainTemplate.json" `
  -TemplateParameterObject $parameters

Deploying from GitHub would be the recommended way to use the ARM template for production, since it allows you to target a specific tagged release for repeatable deployments, and also allows you to configure many more features that are available in the template that are not exposed in the Marketplace offering (to keep it a simpler getting started experience).

Take a look at the documentation for more details.

1 Like

6.6.1 template version is now live on the Azure Marketplace

Thanks for the update, Russ. I successfully deployed it from the Marketplace template yesterday so can confirm is working fine for me. Cheers for your help.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.