Don’t disable the IP Helper Windows service in your Windows VM’s running in Azure

I ran into a problem with a customer while we were trying to deploy Windows VM’s in Azure. We had SysPrep’d and generalized the VM and captured the image using PowerShell using the steps in this article: https://msdn.microsoft.com/en-us/library/mt619423.aspx. We then deployed the VM using an ARM template. However, after roughly 90 minutes, the deployment would fail with this error:

statusCode:Conflict

statusMessage:{"status":"Failed","error":{"code":"ResourceDeploymentFailure","message":"The resource operation completed with terminal provisioning state 'Failed'.","details":[{"code":"OSProvisioningTimedOut","message":"OS Provisioning for VM ‘PeteVM01’ did not finish in the allotted time. The VM may still finish provisioning successfully. Please check provisioning state later."}]}}

And the portal showed this:

image

 

Even though the deployment failed, I could still RDP into the VM just fine. The fix for this turned out to be quite simple. The IP Helper Service had been disabled. Setting it to Automatic fixed the issue.

I had to do this before I ran sysprep and deployed the image using the ARM template. It did not work to change this after it was deployed.