action #107032
closedcoordination #109668: [saga][epic] Stable and updated non-qemu backends for SLE validation
coordination #100688: [epic][virtualization][3rd party hypervisor] Add svirt backend compatibility for vmware 7.0
[timeboxed:20h] [spike] Create integration test of os-autoinst's VNC module with VMWare's VNC-over-websockets size:S
Description
Motivation¶
Explore usage of VMWare's VNC-over-websockets API, e.g. to determine whether we need PNG support.
Acceptance criteria¶
- AC1: Have a Perl script using os-autoinst's VNC module connect to a VMWare 7.0 VM
- AC2: Steps to have a mergable solution are documented
Suggestions¶
- See parent ticket for more information about VMWare's VNC-over-websockets API
- Create a Perl script using os-autoinst's VNC module plus some additional code to handle VMWare's API
Updated by livdywan almost 3 years ago
- Subject changed from [timeboxed:20h] [spike] Create integration test of os-autoinst's VNC module with VMWare's VNC-over-websockets to [timeboxed:20h] [spike] Create integration test of os-autoinst's VNC module with VMWare's VNC-over-websockets size:S
- Status changed from New to Workable
Updated by okurz over 2 years ago
We should now prioritize the work on this timeboxed ticket to make sure we know about the feasibility of the integration. I bumped the ticket to high after a discussion with QE PrjMgr jstehlik and we found that we should soon find an answer to know where we need to continue or where others, e.g. the QE virtualization squad, need to continue.
Updated by mkittler over 2 years ago
- Status changed from Workable to In Progress
- Assignee set to mkittler
No, nobody has looked into it for a while. I have only done the research task (see #106083#note-10 for results). I'm still able to start a VM on https://10.67.131.2/ui/#/host/vms/2 (with credentials from #100688#note-25) so the ticket is still workable. I'll try whether I can make our VNC module connect to it.
Updated by openqa_review over 2 years ago
- Due date set to 2022-07-02
Setting due date based on mean cycle time of SUSE QE Tools
Updated by mkittler over 2 years ago
PR for a first step: https://github.com/os-autoinst/os-autoinst/pull/2091
Now needs to be integrated with the rest of os-autoinst.
Updated by mkittler over 2 years ago
It doesn't work unless I allow JPEG in VNC viewer (which then says "Pixelformat depth 24 (32bpp) little-endian rgb888 wird verwendet"). So we needed to implement JPEG support within our VNC viewer to make it work. However, that might not be very worthwhile because the compression artifacts (which were visible in my tests) screw up the pattern matching algorithm easily. We could still give it a shot. If the screen is still long enough the compression artifacts usually decrease a lot.
Maybe it can also be configured somehow on the VMWare-side.
Updated by mkittler over 2 years ago
It actually works with raw encoding as well. I just had to increase the max. size for web socket messages. The performance isn't great, though.
Updated by okurz over 2 years ago
- Due date changed from 2022-07-02 to 2022-07-09
next step: Integration of the workflow into our VNC module
Updated by mkittler over 2 years ago
I've been updating the draft PR which should now fulfill both ACs of this timeboxed/spike ticket. So we "Have a Perl script using os-autoinst's VNC module connect to a VMWare 7.0 VM" but no integration into the workflow of our VNC module yet. That's something for the next ticket.
However, I must say that I would not get my hopes up that this will be very performant. At least in my tests it was not really usable. Maybe it is due to using VPN from Germany and https://vh002.qa2.suse.asia being supposedly located in China. Additionally, my session also terminated sometimes. I suppose doing some actions over VMWare's web interface can kick one out of the VNC connection. So if we want this to work in some way stable we definitely need to have a good retry behavior (which means requesting a new VNC session from scratch as one websocket URL is only for one-time use anyways). Considering that I would really reconsider whether you must use VMWare (in that way).
The next steps to continue (if we must) are outlined in the commit message (see https://github.com/os-autoinst/os-autoinst/pull/2091/commits).
Updated by mkittler over 2 years ago
- Status changed from In Progress to Resolved
Updated by okurz over 2 years ago
- Due date deleted (
2022-07-09)
thank you for the good plan in the follow-up ticket.