coordination #100688
Updated by okurz almost 3 years ago
## Observation In vmware 7.0, the VNC server is completely removed. However the svirt backend that is used to do vmware virtualization tests heavily relies on VNC to interact with guests. So we have to rework the backend to make it compatible with vmware 7.0, while keeping the current way for vmware 6.5. In vSphere 7.0, the ESXi built-in VNC server has been removed. Users will no longer be able to connect to a virtual machine using a VNC client by setting the RemoteDisplay.vnc.enable configure to be true. Instead, users should use the VM Console via the vSphere Client, the ESXi Host Client, or the VMware Remote Console, to connect virtual machines. Customers desiring VNC access to a VM should use the VirtualMachine.AcquireTicket("webmks") API, which offers a VNC-over-websocket connection. The webmks ticket offers authenticated access to the virtual machine console. For more information, please refer to the VMware HTML Console SDK Documentation(http://www.vmware.com/support/developer/html-console/). ### Impact of this ticket It blocks all VT test on vmware 7.0. According to latest info from Ralf, vmware cloud will potentially be used by SAP as a replacement of xen. So we should give high enough priority to vmware testing. And 7.0 is the current latest vmware version. ## Acceptance criteria * **AC1:** There is support for Vmware7.0 in os-autoinst to get a graphical connection with guests comparable to existing openQA tests ## Suggestions * Research task #106083 : Learn about VirtualMachine.AcquireTicket("webmks") API first and refine ticket to understand if we can use "VNC as-is" or need further tunneling, etc. * Download evaluation version of VMWare 7, install it locally (your notebook or workstation), try to get something running locally. Alternative: Ask virtualization team for servers which we can use for testing locally * Look into the `VirtualMachine.AcquireTicket("webmks") API` thingy * Optional: Integration tests using evaluation version of vmware. Alternative: Document how to test manually, e.g. just in the git commit * Create pull request and ask domain experts to test in their near-production or production environment before going ahead