Project

General

Profile

Actions

action #107032

closed

coordination #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

Added by mkittler about 2 years ago. Updated almost 2 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
Feature requests
Target version:
Start date:
2022-02-17
Due date:
% Done:

0%

Estimated time:

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
Actions #1

Updated by okurz about 2 years ago

  • Priority changed from Normal to Low
Actions #2

Updated by livdywan about 2 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
Actions #3

Updated by okurz almost 2 years ago

  • Priority changed from Low to High
Actions #4

Updated by okurz almost 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.

Actions #5

Updated by jstehlik almost 2 years ago

Any updates on this?

Actions #6

Updated by mkittler almost 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.

Actions #7

Updated by openqa_review almost 2 years ago

  • Due date set to 2022-07-02

Setting due date based on mean cycle time of SUSE QE Tools

Actions #8

Updated by mkittler almost 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.

Actions #9

Updated by mkittler almost 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.

Actions #10

Updated by mkittler almost 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.

Actions #11

Updated by okurz almost 2 years ago

  • Due date changed from 2022-07-02 to 2022-07-09

next step: Integration of the workflow into our VNC module

Actions #12

Updated by mkittler almost 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).

Actions #13

Updated by mkittler almost 2 years ago

  • Status changed from In Progress to Resolved
Actions #14

Updated by mkittler almost 2 years ago

I created #113201 for continuing.

Actions #15

Updated by okurz almost 2 years ago

  • Due date deleted (2022-07-09)

thank you for the good plan in the follow-up ticket.

Actions

Also available in: Atom PDF