oVirt 4.0.4 Release Notes

The oVirt Project is pleased to announce the availability of oVirt 4.0.4 Release as of September 26th, 2016.

oVirt is an open source alternative to VMware™ vSphere™, and provides an awesome KVM management interface for multi-node virtualization. This release is available now for Red Hat Enterprise Linux 7.2, CentOS Linux 7.2 (or similar).

To find out more about features which were added in previous oVirt releases, check out the previous versions release notes.

An updated documentation has been provided by our downstream Red Hat Virtualization

  1. oVirt 4.0.4 Release Notes
    1. Install / Upgrade from previous versions
      1. Fedora / CentOS / RHEL
      2. oVirt Hosted Engine
    2. Known issues
    3. What’s New in 4.0.4?
      1. Enhancements
        1. oVirt Engine
          1. Team: Infra
          2. Team: Virt
        2. oVirt Hosted Engine Setup
          1. Team: Integration
        3. MOM
          1. Team: SLA
      2. Unclassified
        1. oVirt Engine
          1. Team: Gluster
          2. Team: Infra
          3. Team: Integration
          4. Team: Network
          5. Team: SLA
          6. Team: Storage
          7. Team: UX
          8. Team: Virt
        2. oVirt Engine SDK 4 Java
          1. Team: Infra
        3. oVirt Engine SDK 4 Python
          1. Team: Infra
        4. oVirt Engine SDK 4 Ruby
          1. Team: Infra
        5. oVirt image transfer daemon and proxy
          1. Team: Storage
        6. oVirt ISO Uploader
          1. Team: Integration
        7. oVirt Log collector
          1. Team: Integration
        8. VDSM
          1. Team: Infra
          2. Team: Network
          3. Team: Storage
          4. Team: Virt
        9. imgbased
          1. Team: Node
    4. Bug fixes
      1. oVirt Engine
        1. Team: Gluster
        2. Team: Infra
        3. Team: Integration
        4. Team: SLA
        5. Team: Storage
        6. Team: Virt
      2. oVirt Host Deploy
        1. Team: Integration
      3. oVirt Hosted Engine HA
        1. Team: Integration
      4. oVirt Image Uploader
        1. Team: Integration

Install / Upgrade from previous versions

Users upgrading from 3.6 should be aware of following 4.0 changes around authentication and certificates handling:

  1. Single Sign-On using OAUTH2 protocol has been implemented in engine to allow SSO between webadmin, userportal and RESTAPI. More information can be found at

  2. Due to SSO it’s required to access engine only using the same FQDN which was specified during engine-setup invocation. If your engine FQDN is not accessible from all engine clients, you will not be able to login. Please use ovirt-engine-rename tool to fix your FQDN, more information can be found at /documentation/how-to/networking/changing-engine-hostname/ . If you try to access engine using IP or DNS alias, an error will be thrown. Please consult following bugs targeted to oVirt 4.0.4 which should fix this limitation:

  3. If you have used Kerberos SSO to access engine, please consult how to update your Apache configuration after upgrade to 4.0

  4. If you are using HTTPS certificate signed by custom certificate authority, please take a look at for steps which need to be done after migration to 4.0. Also please consult how to setup this custom CA for use with virt-viewer clients.

Fedora / CentOS / RHEL

In order to install it on a clean system, you need to install

# yum install

and then follow documentation from our downstream Red Hat Virtualization

If you’re upgrading from a previous release on Enterprise Linux 7 you just need to execute:

  # yum install
  # yum update "ovirt-engine-setup*"
  # engine-setup

Upgrade on Fedora 22 and Enterprise Linux 6 is not supported and you should follow our Migration Guide in order to migrate to Enterprise Linux 7 or Fedora 23.

oVirt Hosted Engine

If you’re going to install oVirt as Hosted Engine on a clean system please follow Red Hat Virtualization Self Hosted Engine Guide

If you’re upgrading an existing Hosted Engine setup, please follow Red Hat Virtualization Upgrade Guide

Known issues

  • BZ 1297835 Host install fails on Fedora 23 due to lack of dep on python2-dnf
    On Fedora >= 23 dnf package manager with python 3 is used by default while ovirt-host-deploy is executed by ovirt-engine using python2. This cause Host install to fail on Fedora >= 23 due to lack of python2-dnf in the default environment. As workaround please install manually python2-dnf on the host before trying to add it to the engine.

What’s New in 4.0.4?


oVirt Engine

Team: Infra
  • BZ 1344020 host upgrade should upgrade all oVirt related packages, not just “vdsm”
    Previously, the host upgrade manager in the Administration Portal only checked and applied updates for the vdsm and vdsm-cli packages. Other packages had to be updated manually using “yum update”. With this release, the list of packages that the host upgrade manager checks and updates has been extended to include ioprocess, mom, libvirt-client, libvirt-daemon-config-nwfilter, libvirt-daemon-kvm, libvirt-lock-sanlock, libvirt-python, lvm2, ovirt-imageio-common, ovirt-imageio-daemon, ovirt-vmconsole, ovirt-vmconsole-host, python-ioprocess, qemu-kvm, qemu-img, sanlock, along with vdsm and vdsm-cli.
Team: Virt
  • BZ 1302657 [RFE] Switch from vnc/cirrus to vnc/vga
    With this update, the default VNC graphics in Red Hat Virtualization 4.0 is VGA. Imported virtual machines with VNC/Cirrus, and originating in previous compatibility versions, are automatically upgraded to VNC/VGA. However, QXL is still the preferred default graphics, if the guest operating system supports it.

oVirt Hosted Engine Setup

Team: Integration
  • BZ 1333449 RFE: Remove virt-viewer dependency in favor of text only method
    Change –console option to provide access to serial console instead of calling virt-viewer.
  • BZ 1368604 HE_APPLIANCE_ENGINE_SETUP_FAIL - Setup found legacy kerberos/ldap directory intergration
    oVirt 4.0 doesn’t support anymore the legacy directory integration. Adding a check for it in the upgrade procedure since the migration to the new aaa provider could to be performed only while on 3.6


Team: SLA
  • BZ 1201482 Storage QoS is not applying on a Live VM/disk
    To properly support disk hot plug and disk QoS changes for a running virtual machine, MoM is updated and now reads the IO QoS settings from metadata and sets the respective ioTune limits to a running virtual machine’s disk.


oVirt Engine

Team: Gluster
  • BZ 1353289 Gluster: creating a brick display TiB instead GiB as size for block device
Team: Infra
  • BZ 1367557 HA VMs are not restarted on different host if NonResponsive host is off and start action failed
  • BZ 1368552 User unable to query disks of assigned VM
  • BZ 1366794 API V3: can’t force delete datacenter
  • BZ 1371515 Exception on GetUserProfileQuery (unknown cause) : “The column name user_portal_vm_auto_login was not found in this ResultSet”
  • BZ 1362459 Fix our own implementation uuid_generate_v1() to produce more random values
  • BZ 1368134 The Host OS version parts are not reported
  • BZ 1367921 [AAA] “Request state does not match session state” after successful login
  • BZ 1366927 Wrong error message passed from SSO on password grant type failure
  • BZ 1364804 [engine-backend] Compensation context data is cleared although the data wasn’t reverted on parent-child command scenario
  • BZ 1367398 remove org.ovirt.engine.api.json and org.ovirt.engine.api.xml packages
  • BZ 1367400 cpu_profile permits are missing under /capabilities in v3
  • BZ 1360378 engine startup fails if you have commands in command_entity table that refer to entities that have already been removed
  • BZ 1360373 When failing on command execution after one task was created the command will reach endSuccesfully() instead of endWithFailure()
  • BZ 1362196 aaa: Add support for dynamic porting
    A new config variable has been added ENGINE_SSO_INSTALLED_ON_ENGINE_HOST.

    This flag can be used to specify if the SSO service is installed on the same host as the engine or installed on a different host. If set to true the URL and port used to access engine is used to redirect to the login page. If set to false the value set in ENGINE_SSO_AUTH_URL is used to redirect user to login page.
  • BZ 1359139 The “creation_status” resources don’t work with V3
  • BZ 1358434 Restapi access should create sessions only if persistent_auth is requested
Team: Integration
  • BZ 1372230 Cannot setup a separate host for DWH after upgrading to oVirt 4 (4.0.3)
Team: Network
  • BZ 1374475 REST V3 and V4| ovirt-engine/api/events return Operation Failed
  • BZ 1372950 Engine fail to start with NPE No default constructor for ManageNetworkClustersParameters[“attachments”]
  • BZ 1371119 Null ipv6 in IpConfiguration after 3.6->4.0 upgrade
  • BZ 1359643 The page /api/v3/networkfilters does not exist, while the link to networkfilters under /api/v3 does exist
Team: SLA
  • BZ 1339660 Hosted Engine’s disk is in Unassigned Status in the RHEV UI
  • BZ 1350228 Add affinity label to the VM or to the host does not return in response body entity
  • BZ 1361838 [Disk profile] Cannot add VM. Disk Profile YYY with id XXX is not assigned to Storage Domain ZZZ
  • BZ 1359483 [Admin Portal] Uncaught exception during deletion of disk profiles on storage domain
  • BZ 1346250 Can not delete read_only affinity label
  • BZ 1351519 Audit error connect to affinity labels under engine.log
  • BZ 1342928 Pass through host CPU is not enabled with manual migration
  • BZ 1353059 Slightly misleading log when using OptimalForPowerSaving Balancer.
Team: Storage
  • BZ 1369024 [API] Can’t attach disk to VM with UserVMManager role
  • BZ 1357548 RFE: upload image - verify image format on client side
  • BZ 1372650 Can not edit description and comment for a storage domain after activation.
  • BZ 1371304 Uncaught exception occured when try to import Virtual Machine from Export domain
    Previously, when trying to import a vm that is based on a template from an export domain via the webadmin, if the template did not exist then a UI error was shown and the new popup window got stuck.
    Now the popup window is loaded and a red warning is shown - “Some imported VMs depend on one or more templates which are not available in the system. Therefore you must Import those VMs with ‘collapse snapshots’, another option is to Import missing templates first and then try import the VMs again”.

    This is a UI issue, so it does not occur in REST API and SDKs.
  • BZ 1371164 New VM created without disk
  • BZ 1370101 RefreshLunsSizeCommand doesn’t update the new LUNs’ sizes in the DB
    Previously, after resizing a lun, checking the storage domain’s size gave us the new value, but checking the lun’s size gave us the old one.
    This bug was fixed and now the new size is immediately updated, so checking it right after the resize brings the updated value.
  • BZ 1370912 Compensation mechanism does not work for RefreshLunsSizeCommand
  • BZ 1368954 CDA log of attaching second boot disk is wrong
  • BZ 1365087 new VM disk is not marked as “bootable” by default
  • BZ 1367416 Missing Scroll bar for VG selection in “Import Pre-Configured Domain” window
  • BZ 1365393 Delete disk snapshots (in the storage->disk snapshots subtab) fails to update engine database
  • BZ 1364780 Failure when updating VM that is previewing a snapshot
  • BZ 1359788 [engine-backend] Storage domain gets stuck in locked during storage pool initialization after a CreateStoragePool failure
  • BZ 1352857 image upload: informative message is required when disk’s entered values are not valid
  • BZ 1358271 [v4 API only]: <logical_name> property (device name for disk) missing from disk attachments v4
Team: UX
  • BZ 1371195 Calculation of average storage domains is wrong for dashboards
  • BZ 1364337 iSCSI Initiator Name is not wrapped
  • BZ 1365980 Hide the Reports-related “Dashboard” main tab
  • BZ 1369235 main/sub tab action buttons added by UI plugins are not shown
  • BZ 1361656 UI plugin API: loginUserName and loginUserId functions return null before WebAdmin UI is fully initialized
Team: Virt
  • BZ 1356172 the message “snapshot created in different cluster version” is shown all the time
  • BZ 1362525 Import KVM guest image: cannot convert VM with block device to block device.
    User cannot import VM from KVM source to oVirt when the destination storage domain is block device due to incorrect disk allocation space.
    Our current solution is allocating the virtual size of the disk.
  • BZ 1361860 VMs stuck in shutting down
  • BZ 1366138 Reduce the frequency of logged number of running VMs
  • BZ 1364164 Import KVM guest image: cannot import VM as clone
  • BZ 1340414 shutting down VM produces extra message
  • BZ 1340025 v2v: import dialog - invalid error message while opening dialog saying “no Export Domain is active”
  • BZ 1337619 Redundant disk allocation label in VM dialogs if the template does not have disks
  • BZ 1373204 [UI] Creating a vm/vmpool from a template with custom cluster compatibility via webadmin results in an infinite loop
  • BZ 1373103 Import dialog: “OK” button stops to function in case of moving back from second dialog to first dialog.
  • BZ 1364171 import dialog: Incorrect dialog behavior when trying to import VM with name duplication in RHEVM.
  • BZ 1351542 Help message about URI: Import virtual machine from XEN should update and from KVM should add
  • BZ 1360914 Create Snapshot UI Dialog missing scrollbar
  • BZ 1360397 host installed with bad kernel cmdline for nested virtualization
  • BZ 1361193 v2v: import dialog - SSL Verification field for VMware should be renamed to “verify server’s SSL certificate”
  • BZ 1354511 v2v: import dialog - tooltip for URI field of XEN source is truncated

oVirt Engine SDK 4 Java

Team: Infra
  • BZ 1376402 Multiple threads should be able to reuse connection of the SDK
  • BZ 1372652 The RPM for version 4 of the Java SDK doesn’t include the Maven provides/requires

oVirt Engine SDK 4 Python

Team: Infra
  • BZ 1373431 Reading empty list of elements doesn’t work correctly
  • BZ 1367020 Non descriptive error message while deactivating deactivated host

oVirt Engine SDK 4 Ruby

Team: Infra
  • BZ 1373436 Reading empty list of elements doesn’t work correctly

oVirt image transfer daemon and proxy

Team: Storage
  • BZ 1357942 ovirt-imagio-daemon shouldn’t be enabled by default

oVirt ISO Uploader

Team: Integration
  • BZ 1363681 Add kerberos support to ovirt-iso-uploader

oVirt Log collector

Team: Integration
  • BZ 1355966 log-collector: fails to run when param ‘all’ is set to True
  • BZ 1363684 Add kerberos support to ovirt-log-collector


Team: Infra
  • BZ 1358530 jsonrpcclient fails connecting with the default parameters if the hostname is not resolvable
    If there is an issue with resolving the host name jsonrpc client was not able to connect to vdsm. Now we use ‘localhost’ by default.
  • BZ 1368115 vdsm config files from /etc/vdsm.conf.d don’t override settings in /etc/vdsm.conf
  • BZ 1350350 [RFE] Add metrics module to vdsm
Team: Network
  • BZ 1351095 [RHV-H Cockpit] hosted-engine-setup fails when creating the ovirtmgmt bridge
  • BZ 1353456 [vdsm] FCoE hook doesn’t enable fcoe and lldpad services to start on boot
  • BZ 1364081 [OVS] Add support to acquire ifaces with running IP config
Team: Storage
  • BZ 1358348 VM qcow2 disk got corrupted after live migration
  • BZ 1366176 Failed to import image from glance as template (as a result of RHEL 7.3 LVM issue - lvextend changed return code when called with current LV size)
  • BZ 1361182 vdsm does not find nfs4 mount point with double slashes
    Previously, we didn’t support NFS4 mounts that contained a double slash, like in the case of trying to mount an NFS4 directory that is exported with the fsid=0 option.
    Now it’s possible to do that.
Team: Virt
  • BZ 1367839 Cannot import VMs from Xen and VMware when using RHEL7.3 host.
  • BZ 1360990 [z-stream clone - 4.0.4] VMs are not reported as non-responding even though qemu process does not responds.
    This update fixes a error in the monitoring code that caused the VDSM to incorrectly report that a QEMU process has recovered and is responsive after being unavailable for a short amount of time, while it was actually unresponsive.
  • BZ 1364924 VMs flip to non-responsive state for ever.
    This update fixes an issue in the monitoring code which caused the VDSM to fail to detect that a stuck QEMU process has become responsive.
  • BZ 1365411 [RFE] virt-v2v from RHEL Xen: Listing VMs failed if there are Xen VMs with block device.
    Importing Xen on Rhel VMs that have block disk is failing. The imported VM shows no block domain disk in the import details dialog.


Team: Node
  • BZ 1346872 Hide boot entry of original root filesystem created by anaconda

Bug fixes

oVirt Engine

Team: Gluster

  • BZ 1369357 While replacing the brick, the destination brick chosen from host should be the sub-directory under the mount
  • BZ 1269132 [ja_JP] Need to translate some warning messages on volume->geo replication->add pane.

Team: Infra

  • BZ 1325746 [RFE] - Provide option to access engine not only by engine FQDN but also using alternate host names

Team: Integration

  • BZ 1369757 engine-backup –mode=backup –restore-permissions should create the missing extra users if possible

Team: SLA

  • BZ 1304387 HE VM hot plug is not working, it’s missing the real max number of cpu definition
  • BZ 1284472 User can’t create a VM. No permission for EDIT_ADMIN_VM_PROPERTIES
  • BZ 1354281 All hosts filtered out when memory underutilized parameter left out
  • BZ 1315657 No auto-completion option for scheduling policy name in update cluster
  • BZ 1371888 [z-stream clone - 4.0.4] User can’t assign CPU profile after upgrade from 3.6 to 4.0

Team: Storage

  • BZ 1302752 [scale] - getdisksvmguid inefficient query, hit the performance
  • BZ 1328877 Image Upload: UI doesn’t respond gracefully for a proxy failure when resuming an upload.
  • BZ 1368203 Remove auto-generated snapshot job is stuck in status STARTED and the vm is “blocked” if a vm is stopped during a LSM

Team: Virt

  • BZ 1328725 Re importing template version after the base template has changed fails

oVirt Host Deploy

Team: Integration

  • BZ 1332586 ovirt-host-deploy - README.environment is outdated

oVirt Hosted Engine HA

Team: Integration

  • BZ 1365242 3.4->3.5->3.6->4.0 SHE migration: ovirt-ha-agent not working correctly / state=AgentStopped

oVirt Image Uploader

Team: Integration

  • BZ 1340963 configuring SSO integration cause API failure in engine-image-uploader
  • BZ 1335169 nfs-utils package is required by image-uploader but is not listed as dependency