"This virtual machine could not be retrieved from the hosting infrastructure" when using VMware VirtualCenter with XenDesktop
Issue
When using VMware Virtual Infrastructure with XenDesktop and setting VirtualCenter permissions as outlined in CTX116928 the following error is reported as a red X on the Virtual Desktops properties of the Desktop Group
"This virtual machine could not be retrieved from the hosting infrastructure"
There may also be issues selecting virtual machines to add to the Desktop Group.
If the Citrix Pool Manager service logging is enable as per CTX117452 the following error may be seen:
14:26:11.3125 : VM info for VM with guestOsId S-1-5-21-2059866640-1781623882-1245804459-30536 is not loaded in the cache. Please verify the guestOsId is correct and the read-only privilege is set one level above this VM. Otherwise it could be a caching error.
14:26:11.3125 : Citrix.PoolManagement.MachineManager.MachineManagementApi.NoSuchGuestOSIdException: VM info for VM with guestOsId S-1-5-21-2059866640-1781623882-1245804459-30536 is not loaded in the cache. Please verify the guestOsId is correct and the read-only privilege is set one level above this VM. Otherwise it could be a caching error.
at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VmwareSvcUtil.GetVmInfo(VmwareVmConnection connection, String configKey, String configValue)
at Citrix.PoolManagement.VMManager.VmmImplementation.Vmware.VmwareVmManager.GetMachineInfoByGuestOSId(String[] guestOSIds)
Resolution
The permissions outlined in CTX116928 are not complete, even with the instructions to "grant the account access one level up from the target container that contains your virtual machines, so that VirtualCenter can supply the Desktop Delivery Controller with a list of all virtual machines within the target container".
Create the following permissions in VirtualCenter to resolve the issue:
In VirtualCenter:
- Select View | Administration
- Click Add Role
- Enter the name XenDesktopGlobal
- Check Global | Manage Custom Attributes
- Click OK
- Click Add Role
- Enter the name XenDesktopDataCentre
- Check Datastore | Browse Datastore
- Check Virtual Machine | Inventory | Create
- Check Virtual Machine | Provisioning | Deploy Template
- Check Resource | Assign Virtual Machine to Resource Pool
- Click OK
- Click Add Role
- Enter the name XenDesktop
- Check Global | Set Custom Attribute
- Check Virtual Machine | Interaction | Power On
- Check Virtual Machine | Interaction | Power Off
- Check Virtual Machine | Interaction | Suspend
- Check Virtual Machine | Interaction | Reset
- Click OK
- Select View | Inventory | Hosts And Clusters
- Select Hosts & Clusters
- Select the Permissions tab
- Right click and select Add Permission from the context menu
- Select XenDesktopGlobal for Assigned Role
- Click Add
- Select the account used in the Logon Information properties of the Desktop Group
- Click OK
- Click OK
- Select the Datacentre that contains the virtual desktops
- Select the Permissions tab
- Right click and select Add Permission from the context menu
- Select XenDesktopDataCentre for Assigned Role
- Click Add
- Select the account used in the Logon Information properties of the Desktop Group
- Click OK
- Click OK
- Select the Cluster or Resource Pool that contains the virtual desktops
- Select the Permissions tab
- Right click and select Add Permission from the context menu
- Select XenDesktop for Assigned Role
- Click Add
- Select the account used in the Logon Information properties of the Desktop Group
- Click OK
- Click OK
The permissions should take effect without the need to restart services or the DDC.
References
Products
VMware VirtualCenter 2.5
Citrix XenDesktop 2.1
Created: 30th April 2009
Updated: 30th April 2009
© 2005-2024 Jamie Morrison