Friday, June 02, 2017

virt-viewer on EL 6.8 + ovirt 4.1

I updated the version of oVirt to 4.1 and clients launching a console in EL 6.8 would get:

"At least Remote Viewer version 99.0-1 is required to setup this connection"


This version of remote viewer does not, and may never exist. Something else was going on here.  When I ran remote-viewer in debug mode, it seems that it is deliberately disabling rhel6 by setting the version to a non-existent version (remote-viewer /path/to/console.vv):

(remote-viewer:23829): remote-viewer-DEBUG: Minimum version '2.0-160'
for OS id 'rhev-win64'
(remote-viewer:23829): remote-viewer-DEBUG: Minimum version '2.0-160'
for OS id 'rhev-win32'
(remote-viewer:23829): remote-viewer-DEBUG: Minimum version '2.0-6'
for OS id 'rhel7'
(remote-viewer:23829): remote-viewer-DEBUG: Minimum version '99.0-1'
for OS id 'rhel6'

I'd seen a post on Redhat's support site that said you should just RHEL7. That wasn't an option however. A downgrade of virt-viewer on EL 6.8 fixes the issue, but I contacted oVirt to ask them what was going on. The issue is that certain new features in 4.1 are only supported in EL7, though it will still work with reduced functionality in EL6 (such as a basic console). There is a setting in the engine properties that controls this, and it can be adjusted. Use 'engine-config' to change the value, then restart ovirt-engine service. I found the relevant key in /etc/ovirt-engine/engine-config/engine-config.properties

To get the current setting:

engine-config -g RemoteViewerSupportedVersions


RemoteViewerSupportedVersions: rhev-win64:2.0-160;rhev-win32:2.0-160;rhel7:2.0-6;rhel6:2.0-6 version: general

To set:

engine-config -s RemoteViewerSupportedVersions="rhev-win64:2.0-160;rhev-win32:2.0-160;rhel7:2.0-6;rhel6:2.0-6"

Then 'systemctl restart ovirt-engine'.

PS: The oVirt devel team have told me that the reason it works in 6.7 is because the version of virt-viewer in 6.7 "doesn't support the mechanism to check for the minimum required version"