I ran into an issue that I want to share with Citrix AppLayering (Unidesk). I’m not sure if it was me, or if others have had the same issue. My original issue was when I created an image from the ELM and pushed it to Citrix Provisioning Services. PVS would start the VM, the OS would stream from PVS, I could even log into the PVS for a brief moment before the VM became unresponsive and the device in PVS console was dropped.
As a troubleshooting step, instead of pushing to PVS, I created a new image template and pushed straight to vSphere. That was I could decide if my focus should be on PVS or ELM. When the new VM started in vSphere, the server booted up, I was able to login, and after a few seconds the vNIC went offline. Time to focus on ELM.
In the initial environment I was running Elastic Layer Manager (ELM) 4.11. My virtual machines are running in vSphere 6.5 Update 2. The VM was built with 2 vCPU, 6GB RAM, 75GB HDD, and a single VMXNet 3 NIC, using virtual hardware version 13, and VMtools 10.2. Installed Windows 7 SP1 x64 and ran all the Windows Updates. I thought maybe my environment was too new? But, it turns out everything I’m running is supported.
I followed all the best practices when I created the virtual machine. Settings such as turning off Automatic Windows Updates, turning of System Restore, disable IPv6, confirming there are no ghost NICs, running ngen update /force, and finally removing any updates to make the image as small as possible.
I imported the golden image into the OS layer with no issues. I created a new Platform Layer using this OS layer and again followed best practices for creating a Platform layer. I saved installing the PVS master target software until the end. When I started the install, there’s a prompt to remind the installer if they installed Microsoft KB2550978. In my past experience with Windows 7 and 2008R2, this was a critical patch to have installed. So, I deleted my platform layer, created a new versioned OS layer and installed this KB. I created a new platform layer that leads into Round 2.
Round 2 at creating a Platform Layer. Followed the steps to creating a Platform Layer, installed the PVS master target software, confirming KB2550978 was installed, and rebooted the system. When the system came up, the vNIC was offline for 30-60 seconds. I looked in Device Manager and there was a new NIC named VMXnet3 Adapter #2. It showed all devices and there was a ghost NIC. I removed the ghost NIC and rebooted the system. When the system came up, the NIC was online.
I bypassed the App Layer and went straight to creating a new image template. The new image template was created and pushed to PVS. The device came up, I was able to log in, but after a few seconds it became unresponsive. Round 3.
After talking with Citrix support at this point, they are telling me to update the ELM and to create a new VM, but this time with no updates. I follow their instructions and get to work, but I find out that you can’t create a Platform layer from a non Updated Windows 7 VM because of unsigned Unidesk Drivers. So don’t do this. Fully patch before bringing into ELM.
After I have my OS layer with the KB2550978 patch installed, I create my third attempt at a Platform Layer. This time, I’m going to ignore the vNIC going offline if I see the issue with the 4.12 software. After the PVS master target software is installed, the vNIC still goes offline. I promised I would not do anything. I ignore and continue to finalize the layer. I create my image template, push to PVS, and low and behold the device stays up and running!
I made a lot of changes trying to figure out this issue, and in the end I think most of it was me. I was altering the image and maybe getting overly concerned about the NIC going offline. Perhaps it was the upgrade from 4.11 to 4.12. There were some issues around networking that could have helped? This was a long process only because it takes so long to create layers. Trying to troubleshoot and nail down takes time because we’re moving large images back and forth. I’m happy that I was able to get this problem resolved. Now onto App Layers. I’m sure it will be smooth sailing.