In May a blog article was posted on the Citrix website announcing a new feature VDA upgrade. With this functionality Citrix is offering a possibility to upgrade the Citrix Virtual Desktop Agent (VDA) on persistent VDIs from the Citrix consoles. This functionality is only available in the DaaS service (formerly known as CVAD Service/ Citrix Virtual Apps and Desktops Service). In this article I will take a look at this functionality.
Enable VDA Upgrade feature
The VDA Upgrade is available within the DaaS service by default although it was still Tech Preview when I used the functionality for this feature. However to really use it you need to do steps. The first step is to enable the functionality within the VDA software.
During the installation of the VDA software at the additional components the VDA Upgrade Agent needs to be selected. In other words if you already have a running environment with a VDA without the Upgrade Agent enabled (or a VDA version that does not contain that agent) you can not use the functionality directly.
Besides the enablement of the VDA Upgrade agent also the Machine Catalog needs to be configured to use the functionality. You can enable it during the creation of a Machine Catalog or later by editing the settings of the Machine Catalog.
As shown in the above image you need to select which track the Machine Catalog will follow the Long Term Service Release (LTSR) track or the Current Release (CR) track for the upgrades of the VDA.
When an upgrade of the VDA is available a new option in the context menu appears of the Machine Catalog labeled Upgrade VDAs. Via this option all VDIs in the Machine Catalog will be part of the upgrade process. The same option is also available on VDI level in the context menu to upgrade the software per VDA.
In my environment it took a pretty long time before the Upgrade VDA functionality appeared in the context menu. This is caused that the VDA upgrade status on the VDA is not know yet. There is new column available in the view VDA Upgrade status to see the current status on a VDA level. As long as the status is unknown the Upgrade feature is (logically) not available. It looks like this check is done periodically as when I restarted the VDA Upgrade service the status is reflected shortly after the restart of the service.
When the option is available the schedule can be set-up in the wizard behind the Upgrade VDAs option. There are two schedule options: start the upgrade directly via the option Upgrade Now or scheduled via Upgrade Later. With Upgrade Later you can schedule a specific date when the upgrade will start. You can schedule the upgrade till 7 days in advance.
It is good to know that only VDAs that are part of the Machine Catalog at the moment the process is started will be part of the upgrade process. If other VDAs will be added to the Machine Catalog after the initiation of the process they will not be taken into account during the actual update process. If those need to be part of the update process you need to cancel the process and start over again.
For both scheduling options you need to be specify a duration. The duration option specifies the period the upgrade process is allowed to take place. For example specifying 8 hours at duration the upgrade process will run for 8 hours maximum.
Last thing to keep in mind that the upgrade process will only start on VDIs that are NOT in maintenance mode or NOT have an active session running. Personally it would prefer an option to override both options as there are companies that persons still will be working on VDA (while you announced a maintenance mode). Of course a notification to the end user should be send in that case including a time interval to save and close his work.
As already mentioned quickly after the VDA upgrade is scheduled you can cancel it, but also adjust the schedule via the option Edit VDA Upgrade. The same configuration settings can be made as during the initial schedule.
The (upgrade) process
After the initiation by a direct upgrade or when the schedule time have been reached the update process will be started. The VDAs part of the upgrade process will be placed in maintenance mode. The progress is shown globally both on VDA level as Machine Catalog level. Progress levels are scheduled, awaiting upgrade, in progress, successful or failed. An example of the status on Machine Catalog level is shown in the above image (bottom right).
For a per VDA status you need to add a column in the view of the management console, labeled VDA Upgrade status as shown in the above image. I think the status is a bit to global, would be nice if some more detailed information is available, especially when the process is not successfully. The following screenshot shows an example of a failed upgrade with the available information. More detailed information why the process is failing, is necessary in my opinion for actually start troubleshooting the issue.
In my demo environment after several attempts the upgrade process is not taking place at all. It is continuously timing out, both on CR and LTSR tracks and several machines. In all tests only a time-out message was shown (which does not make clear what actually was happening). I also did a quick check on the VDA, but I could not find anything related the VDA Upgrade process in the event log. I heard the suggestion that a CDFtrace is probably needed for troubleshooting at this moment.
The lack of information available caused that I needed to reach out to Citrix connections indirectly via slacks and a request on Twitter. The people who responded were really willing to help, but till now nobody could really help me. It looks like that even within Citrix not much information/knowledge is available on this feature. For now I assume it is something special within my environment and at the end the feature is working (which I heard from at least one person).
During the writing of the article I found some particularities in the feature at this moment. Of course it is in public preview so maybe the behavior will not be available in the final solution.
- It is not clear which VDAs will be part of the upgrade process. As stated earlier only the VDAs that are part of the Machine Catalog during the initiation steps will be part. Would be nice if a list is available to keep track which machines will be part of the process (especially in larger environments).
- I tried both the CR as LTSR track. The Machine Catalog with the LTSR track option enabled existed of a VDA 2203 and one VDA with a VDA 2203 Cumulative Update (CU) 1. I expected that the non-CU VDA version would be shown with a status upgrade available, however as shown in below image you can see that both versions are shown as up to date. It looks like the feature is not build to apply Cumulative Updates to LTSR version. If that is indeed the case the feature is not useful for Citrix customers following the LTSR track as the most work on those environments is update the VDA agent with the released Cumulative Update releases.
- Already mentioned but the level of progress information and troubleshooting information is lacking at this moment. For larger customers this would probably a show stopper to use this feature as their current way of working is providing them probably more detailed information than Citrix is providing.
- Currently there is lack of information on this feature. Besides the one article mentioned in the beginning of this article no information is available. It also does not help that the person who wrote the article (and asking for feedback) is not working for Citrix anymore. As mentioned, I could not find anyone who could really help me with my failing upgrades at all.
The idea and concept of the VDA upgrade process arranged via the Citrix stack is really nice. The current implementation has some limitations, which can be a show-stopper for customers to really use the feature. Especially the available information on the progress and issues, should be extended in my opinion. Also the support of CU versions for the LTSR track should be part of the offering. Hopefully Citrix will be enhancing the feature in the near feature to make it more attractive to more customers.