Bug 1200103

Summary: [RFE] Add minimum version check to rhev spice-client
Product: Red Hat Enterprise Virtualization Manager Reporter: Christophe Fergeau <cfergeau>
Component: mingw-virt-viewerAssignee: Default Assignee for SPICE Bugs <rh-spice-bugs>
Status: CLOSED ERRATA QA Contact: SPICE QE bug list <spice-qe-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.5.0CC: bsanford, cfergeau, dblechte, djasa, gklein, lsurette, michal.skrivanek, rbalakri, sherold, uril, yeylon, ykaul
Target Milestone: ovirt-3.6.0-rcKeywords: FutureFeature
Target Release: 3.6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mingw-spice-gtk-0.26-4.el7ev mingw-virt-viewer-2.0-2.el7ev rhevm-spice-client 3.6-2 Doc Type: Enhancement
Doc Text:
The virt-viewer tool can now report the SPICE client version being used to connect to a console. This allows a minimum SPICE client version to be set using the engine-config tool, and older SPICE clients to be blocked from connecting to virtual machine graphical consoles.
Story Points: ---
Clone Of:
: 1223469 (view as bug list) Environment:
Last Closed: 2016-03-09 20:07:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Spice RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 950248, 1223469, 1228275, 1264767, 1295944    

Description Christophe Fergeau 2015-03-09 17:32:16 UTC
We need a way for RHEV to let users connecting to it through a client that they need to upgrade it.
Currently, a 'version' field can be passed through the .vv file, and if the version of the client is lower than the version from that field, then the connection will fail and remote-viewer will exit.
In addition to that, RHEV wants to be able to add an URL to display in a dialog when this situation occurs, this would go in an additional field in the .vv file.

RHEV people want to be able to pass a list of versions as the Windows/Linux/... clients don't necessarily use the same versioning. Not sure this is going to be practical to do that on the client-side, need some thoughts.

At the moment, remote-viewer exits if its version is too low, hopefully this will be ok for everyone, and we won't need a 'soft' version of it where the version check is only informative.

Comment 1 Marc-Andre Lureau 2015-03-09 17:38:50 UTC
(In reply to Christophe Fergeau from comment #0)
> RHEV people want to be able to pass a list of versions as the
> Windows/Linux/... clients don't necessarily use the same versioning. Not
> sure this is going to be practical to do that on the client-side, need some
> thoughts.

There are different distributions channels, it's hard to generalize with a link to an installer.

Couldn't this link be a page with the list of installers or instructions for each OS? I think this gives the most flexibility, even that page could guess the client OS  if really necessary.

Comment 2 Bill Sanford 2015-03-09 19:09:44 UTC
Couldn't there be something in the virt-viewer menu to "Check for upgrade" and upgrade if needed?

Comment 3 David Blechter 2015-03-09 20:06:10 UTC
(In reply to Marc-Andre Lureau from comment #1)
> (In reply to Christophe Fergeau from comment #0)
> > RHEV people want to be able to pass a list of versions as the
> > Windows/Linux/... clients don't necessarily use the same versioning. Not
> > sure this is going to be practical to do that on the client-side, need some
> > thoughts.
> 
> There are different distributions channels, it's hard to generalize with a
> link to an installer.
> 
> Couldn't this link be a page with the list of installers or instructions for
> each OS? I think this gives the most flexibility, even that page could guess
> the client OS  if really necessary.

Interesting idea! we should share with rhevm team, as they need to decide on the content the link points to

Comment 4 Christophe Fergeau 2015-05-20 15:04:34 UTC
I've got some work in progress towards that in http://cgit.freedesktop.org/~teuf/virt-viewer/log/?h=version
This code introduces 2 new entries to .vv files, 'versions' and 'newer-version-url', as well as a --with-osid build parameter to virt-viewer.

--with-osid is used to specify an arbitrary string identifying the os the virt-viewer build is meant for (fedora22, win32, debian-sarge, ...)

The 'newer-version-url' vv file entry will be shown to the user when the client fails to start because a version check failed (the .vv file is asking for a version which is newer than the current binary).

The 'versions' vv file entry expands on the existing 'version' entry. 'versions' contains a list of osid:version couples, specifying that a remote-viewer build build with --with-osid=$osid will require $version as a minimum. This allows to specify things like:

versions=fedora20:2.0-14;fedora22:3.0-1;win32:2.0-1234

Comments welcome :)

Comment 5 Michal Skrivanek 2015-05-21 12:23:53 UTC
it would be great if we agree on a reasonable set of osid versions
At minimum we need windows 32bit and 64bit (no need to distinguish specific version, right?
Fedora and CentOS - the URL can't lead to a binary but just a wiki or something suggesting "yum update":)
From oVirt perspective we are fine with generic "linux"...if you want more specific it's fine

Comment 6 Christophe Fergeau 2015-06-05 15:07:39 UTC
Patches have been sent upstream, v2 is https://www.redhat.com/archives/virt-tools-list/2015-June/msg00062.html

Comment 10 errata-xmlrpc 2016-03-09 20:07:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-0377.html