SOLVED

How to add a new host to WVD hostpool?

Copper Contributor

I've successfully built two 2 hostpools for testing purposes -- one for shared and one for personalized. The shared one consists of 1 D8s VM and the personal one consists of 5 individual smaller D2s VMs. Now, I need to test the scenarios with additional users, but I can't find any resources to scale out, whether using the portal or using the RDS PS module. Does anyone know how to add additional hosts to a hostpool? I have a "gold image" built already, which can be used to spin up additional VMs manually, but how to add them to a pool?

18 Replies
best response confirmed by robertyhn (Copper Contributor)
Solution
You should find your answer here: https://docs.microsoft.com/en-us/azure/virtual-desktop/create-host-pools-powershell

Scroll down to the section create virtual machines for the host pool.

@Eva Seydl 

 

I followed those directions multiple times and it is not working. The only VM that shows in the host pool is the first one I created. I'm on number 5 now.

@ahesterTX Same problem over here, i do not see them

@ahesterTX : We understand that it's not quite as simple today, so thanks for testing and the feedback. We're working on documenting this so it's easier to add VMs later to a host pool.

@Christian_Montoya 

 

Hi Christian, are there any timescales for this? The scaling out feature is one that I think would be great to have especially for personal desktops.

@HandA : No timetable for this, as we need to formalize it and confirm the scenarios. However, if you ran the ARM template, you basically Redeploy from Azure, enter the same parameters, but just change the RdshNumberOfInstances to the total value you want.

@EvdL99 I tryed it, too. Didn't work...

 

The steps i've made are: 

 

  1. Create a VM with the same image as the other VM
  2. Join VM to Domain
  3. Installed WVDA and entered token from Export-RdsRegistrationInfo
  4. Installed WVDABootloader

When i try to login via RD-App (original VM off) it says "no available resources". Shouldn't the VM be addet to the AvailabilityGroup in the ResourceGroup or at least the loadbalancer somehow? 

@W_Palm : Can you go to PowerShell and run Get-RdsSessionHost for your host pool? Can you see if your session host VM is listed there?

some steps in this direction? I'd like to create an master image from a WVD and then reuse tat image for other VMs but no way to switch the new WVD to other HostPoolName ....

@Braguzz : Is the use case to "expand" the host pool with a few more VMs based on the same image? Or is it to "replace" the host pool with a new number of VMs based off a new image?

 

To "Expand":

- Re-run the Provision a host pool Azure Marketplace offering or Create and provision WVD host pool GitHub ARM template.

- Use the same "rdshNamePrefix".

- For the number of VMs, enter the new total you would like to have. If you are expanding from 3 VMs to 5 VMs, enter 5.

 

To replace:

- You can run the Update existing host pool GitHub ARM template (entering the details for the updated image). or

- You can run the create templates but provide a new "rdshNamePrefix"( Provision a host pool Azure Marketplace offering or Create and provision WVD host pool GitHub ARM template) then later remove the old VMs

@Christian_Montoya Hi Christian.  I have tried three different ways to add servers to a host pool.  It seems as though it is consstantly failing because of a conflict and I'm assuming because there is another computer there that it's trying to re-create with the same name?  Not sure.  But I've tried manually, Provision a host pool and the arm template and I cannot add more servers to the pool.  This iis essential as we are ready to increase this to a wider audience so we will need to get specifics down on how to expand these pools.  Thank you for your help.

 

{"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 \"error\": {\r\n \"code\": \"PropertyChangeNotAllowed\",\r\n \"message\": \"Changing property 'imageReference' is not allowed.\",\r\n \"target\": \"imageReference\"\r\n }\r\n}"}]}

 

{"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\": \"Conflict\",\r\n \"message\": \"{\\r\\n \\\"error\\\": {\\r\\n \\\"code\\\": \\\"PropertyChangeNotAllowed\\\",\\r\\n \\\"message\\\": \\\"Changing property 'imageReference' is not allowed.\\\",\\r\\n \\\"target\\\": \\\"imageReference\\\"\\r\\n }\\r\\n}\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}"}]}

@stevenzelenko 

 

I have tested this using the arm templates and it works well. Have you changed any parameters since the original deployment?

 

One thing I noticed is that it appears you have to keep the majority of settings exactly the same as the initial deployment. The ones I have changed successfully using the template are as follows

- rdshNumberOfInstances (i.e. from 3 to 4)

- rdshVmSize (Different SKU)

 

When I tried to us a different upn for the parameters in the 'domain join process'  within the arm template it failed

 

 

@HandA Those are the only two I changed in the template and used my AD Domain Admin creds to join it to the domain which is different than my global admin in Azure.  Anyway, I manually added a VM using the instructions provided earlier in this thread and it was a lot better of an experience.  The administrative tasks for this service are rather clunky and there isn't a lot of detail with the error log that can point you in the specific direction.  It's basically just says there is an error with a variable that was changed.  Well, which one?

Can you provide some more detail on that error or a screenshot of that error (if you still have it)? We aren't necessarily responsible for all errors, but would like to see how we can make it easier to navigate (and if it is our error, then how to give you better guidance).

@Christian_Montoya Hi Christian.  I posted it earlier in the thread but here it is again.  I think it had something to do with the domain join process or installing the extensions because the VM was created with the correct naming, disk and vNic but we couldn't log into it and it wasn't an available session host in the host pool.  Building a VM and manually adding it was the route we took.  The error does mention a property called 'imageReference' but I looked to see if I could find specifics but that seems to be a pretty generic error but could be mistaken.  I thought it meant to do with something on changing the sku size but the VM creates so that isn't it.  Appreciate the help.  You all have done a great job with WVD.  It's still young so understand it isn't perfect.

 

"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 \"error\": {\r\n \"code\": \"PropertyChangeNotAllowed\",\r\n \"message\": \"Changing property 'imageReference' is not allowed.\",\r\n \"target\": \"imageReference\"\r\n }\r\n}"}]}

 

{"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\": \"Conflict\",\r\n \"message\": \"{\\r\\n \\\"error\\\": {\\r\\n \\\"code\\\": \\\"PropertyChangeNotAllowed\\\",\\r\\n \\\"message\\\": \\\"Changing property 'imageReference' is not allowed.\\\",\\r\\n \\\"target\\\": \\\"imageReference\\\"\\r\\n }\\r\\n}\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n}"}]}

 I am getting same error as @stevenzelenko  when I tried to change the Domain UPN for deploying new hostpool in existing tenant.

 

New-AzResourceGroupDeployment : 1:43:36 PM - Resource Microsoft.Compute/virtualMachines 'Testpool-1' failed with message '{
"error": {
"code": "PropertyChangeNotAllowed",
"message": "Changing property 'adminUsername' is not allowed.",
"target": "adminUsername"
}
}'
At line:1 char:1
+ New-AzResourceGroupDeployment -ResourceGroupName "a0031-WVD-USE" -Tem ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzResourceGroupDeployment], Exception
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet

New-AzResourceGroupDeployment : 1:43:43 PM - Resource Microsoft.Compute/virtualMachines 'Testpool-0' failed with message '{
"error": {
"code": "PropertyChangeNotAllowed",
"message": "Changing property 'adminUsername' is not allowed.",
"target": "adminUsername"
}
}'
At line:1 char:1
+ New-AzResourceGroupDeployment -ResourceGroupName "a0031-WVD-USE" -Tem ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzResourceGroupDeployment], Exception
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet

New-AzResourceGroupDeployment : 1:43:50 PM - Template output evaluation skipped: at least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details.
At line:1 char:1
+ New-AzResourceGroupDeployment -ResourceGroupName "a0031-WVD-USE" -Tem ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzResourceGroupDeployment], Exception
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet

New-AzResourceGroupDeployment : 1:43:50 PM - Template output evaluation skipped: at least one resource deployment operation failed. Please list deployment operations for details.
Please see https://aka.ms/DeployOperations for usage details.
At line:1 char:1
+ New-AzResourceGroupDeployment -ResourceGroupName "a0031-WVD-USE" -Tem ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-AzResourceGroupDeployment], Exception
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceGroupDeploymentCmdlet

I have successfully deployed after checking my domain admin UPN for my on prem AD. When I initially did this, my UPN was wrong. Using the correct UPN successfully deployed and domain joined 3 WVD hosts to an existing pool.
1 best response

Accepted Solutions
best response confirmed by robertyhn (Copper Contributor)
Solution
You should find your answer here: https://docs.microsoft.com/en-us/azure/virtual-desktop/create-host-pools-powershell

Scroll down to the section create virtual machines for the host pool.

View solution in original post