We have come to a point where we have to update the firmware on our vm hosts in our stateless View 5.1 environment. I am looking for some way to do this. Manually is ok to start with but automated in the end is preferred. I have gone through the stateless ref arch under Planned Downtime and tried the method as stated in that doc but it does not work well in our production environment. We have 3 clusters and here is the config for them.
3 clusters
15 hosts
1 pool per cluster
600 desktops
Concurrent connections hover around 420
Disconnected timeout 8 hrs
refresh or delete on log off setting to refresh immediately
My main problem is where i reduce the number of desktops, remove the datastores, and set the refresh or delete on log off setting to delete immediately.
When I do this the desktop count drops to 480 deleting unused desktops across all the hosts. So now my target host has 96 guests. The desktops with active sessions will be deleted when logged off and not be recreated on the target host due to removal of the local ds. The real problem is that some number of desktops remain available and may be days before a user connects and logs off.
I think I can do these steps to accomplish the goal but it is very convoluted.
Put Available desktop in pool on host in Maintenance mode
Get all desktops in pool with no user and filter by vmhost by machine_id
Put resultant desktops in maintenance mode
Edit Pool Settings:
Disable provisioning
Reduce number of desktops
Set Refresh or delete setting to delete immediately
Remove local SSD of target host from pool settings
Delete Available desktops from View manager ADAM using LDAP commands (no View PowerCLI cmdlets available)
Delete Available desktops from composer with sviconfig (also deletes vm's from vC)
Enable provisioning
Wait for remaining users to log out
Reboot vm host
Continue with next host
I have a couple tripping points with this method.
- There is no way to Get all desktops in pool with no user and filter by vmhost by machine_id using View PowerCLI
- There is no way to use View PowerCLI to put a desktop in maintenance mode
- there is no way to use View PowerCLI to get the host the desktop is currently on.
What I looking to implement now is a series of steps to do this but am thinking someone must have already tackled this and want to ask for some help.
Any suggestions?
thanks