SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 

Why didn't my Azure ARM deploy work?

I have been using Octopus to deploy ARM templates for a while now and the default task that comes with Octopus to deploy doesn't have any debugging information enabled and when you run this powershell:

New-AzureRMResourceGroupDeployment

If you don't have debugging information enabled, the output of a failed deployment is basically "Deployment Failed, suck it up dude" or something along those lines.

If you want to find out why your deployment failed, the best thing to do is grab your template and parameter file and run:

Test-AzureRmResourceGroupDeployment -TemplateFile ./template.json -TemplateParametersFile ./parameters.json -resourceGroup RG-Group -Debug

When you run this, you will be prompted to run the commands - press "a" and then the template, parameters file and deployability are verified and either you are told everything passes, and you can deploy, or you will see the actual error rather than a generic error.

What do you mean the deployability?

Well, it is fairly easy to validate that a template is structurally valid, i.e. is the json well formed but what if you have a concat() on a couple of variables that then point to a non-existant resource? Test-AzureRmResourceGroupDeployment takes care of this, and it will:

  • Parse the JSON structure
  • Parse the template functions
  • Validate references exist or will be created
  • Validates things like VM sizes are available in the specific region chosen
  • Checks the subscription quotas to make sure there is enough to actually deploy

This is useful, and although you don't know for 100% a deploy will be successful it is normally pretty accurate.

You can also get the debug info by setting your "DebugPreference" to "continue" or using "-Debug" (or DebugPreference) with New-AzureRMResourceGroupDeployment, the test version feels safer though :)

Happy ARMING!

Tags: 

Ed Elliott's Sql Developer Blog

Ed is a Sql developer who has a mixed background in support, as a dba and as a developer working with a number of languages c, c#, vb, go, assembly with a variety of technologies and is currently trying to make the sql developer community a little bit more agile, one build step at a time!

Comments

Leave a comment on the original post [feedproxy.google.com, opens in a new window]

Loading comments...