In this post, we will see AVD Deployment Operation Failed errors. We have already learned how to add new session hosts to the existing host pool (AVD). Here is the document to help to Add New Personal VMs to Existing Host Pool | WVD v1 2019 Release.
This post is applicable only for the Azure Virtual Desktop spring 2020 release (a.k.a AVD v2). The Spring 2020 update uses the Azure Resource Manager (ARM) Azure Virtual Desktop objects.
Host sessions are nothing but virtual machines part of the host pool. I’m planning to add new two-session hosts to host pools using Azure Virtual Desktop’s new experience (a.k.a AVD).
NOTE! – Learn more about AVD v2 ARM model architecture.
Add Session Hosts to AVD Host Pool
Let’s understand how to add session hosts or VMs to AVD Host Pool.
Click on Generate New Key
Set expiry for the key
Once the Registration Key is generated, click on the X symbol as shown in the following picture.
Click on Add
Click on the Next button to continue
Change the validation environment option from Yes to NO if you are deploying AVD VM to production users.
NOTE! – Most of the entries are automatically populated or inherited from the existing host pool configuration. You don’t have any option to change those entries.
Virtual Machine Configuration for AVD
You have the option to change the following three things that you will need to take care.
Resource Group
Virtual Machine Location
Number of VMs
NOTE! – None of the other options are editable. Those are inherited automatically from host pool setting.
Network & Security
- Select a Virtual network – Those are logically isolated from each other in Azure. You can configure their IP address ranges, subnets, route tables, gateways, and security settings, much like a traditional network in your data center. Virtual machines in the same virtual network can access each other by default.
- Select A subnet. This is a range of IP addresses in your virtual network, which can be used to isolate virtual machines from each other or from the Internet.
- Public IP = NO
- Select Network Security Group = Basic
- Public inbound ports = NO
Domain Join Options
- Enter the Full Domain FQDN – Full domain name of the Active Directory Domain to which session host VMs are going to be joined. For example, “contoso.com” or “site1.contoso.com”.
- Enter the OU path where VMs should be located in the on-prem active directory?
- Enter the details of the administrative account – This account must have access to join a device to the domain and the OU which you mentioned above.
- Click on Next Tags to continue.
- Click on Review + Create after reviewing the configuration.
- Once Validation is passed, you can click on Create option.
AVD Deployment Progress
Let’s wait until the AVD session host addition process finishes.
Results Deployment Operation Failed – AVD Deployment Failed
My deployment failed because of the following error. But if you have enough free IPs left in your subnet then there should not be an issue.
The resource operation is completed with the terminal provisioning state ‘Failed’. Click here for details- Your deployment failed
Subnet default with address prefix 20.225.108.0/27 does not have enough capacity for 1 IP!
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"Conflict","message":"{\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"DeploymentFailed\",\r\n \"message\": \"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.\",\r\n \"details\": [\r\n {\r\n \"code\": \"BadRequest\",\r\n \"message\": \"{\\r\\n \\\"error\\\": {\\r\\n \\\"code\\\": \\\"SubnetIsFull\\\",\\r\\n \\\"message\\\": \\\"Subnet default with address prefix 20.225.108.0/27 does not have enough capacity for 1 IP addresses.\\\",\\r\\n \\\"details\\\": []\\r\\n }\\r\\n}\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}"}]}
NOTE! – I think AVD v1 was better in these terms (availability of IPs). It won’t allow you to select a subnet if you don’t have free IPs available in the subnet.
FIX to AVD Deployment Operation Failed
Free up IPs if that is possible from the subnet (for test environments).
Use a different subnet where IPs are available
Repeat the steps mentioned above or try AVD Add New Session Hosts to Existing Host Pool | Registration Key
Resources
- AVD Architecture Changes for v2 | New Portal Admin Experience
- AVD Management Using Visual Studio Code Instead of PowerShell ISE
- More WVD Guides – https://www.anoopcnair.com/avd/
Author
Anoop is Microsoft MVP! He is a Solution Architect in enterprise client management with more than 20 years of experience (calculation done in 2021) in IT. He is Blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc……………