oVirt 4.1.2 Release Notes

The oVirt Project is pleased to announce the availability of 4.1.2 Release as of May 23, 2017.

oVirt is a free open-source distributed virtualization solution, designed to manage your entire enterprise infrastructure. oVirt uses the trusted KVM hypervisor and is built upon several other community projects, including libvirt, Gluster, PatternFly, and Ansible.

This release is available now for Red Hat Enterprise Linux 7.3, CentOS Linux 7.3 (or similar).

If you’d like to try oVirt as quickly as possible, follow the instructions on the Download page.

For complete installation, administration, and usage instructions, see the oVirt Documentation.

For a general overview of oVirt, read the About oVirt page.

To learn about features introduced before 4.1.2, see the release notes for previous versions.


Don’t enable all of EPEL on oVirt machines.

The ovirt-release package enables the EPEL repositories and includes several specific packages that are required from there. It also enables and uses the CentOS SIG repos, for other packages.

EPEL currently includes collectd 5.7.1, and the collectd package there includes the write_http plugin.

OpsTools currently includes collectd 5.7.0, and the write_http plugin is packaged separately.

ovirt-release does not use collectd from EPEL, so if you only use it, you should be ok.

If you want to use other packages from EPEL, you should make sure to not include collectd. Either use includepkgs and add those you need, or use exclude=collectd*.

  1. oVirt 4.1.2 Release Notes
    1. EPEL
    2. What’s New in 4.1.2?
      1. Enhancements
        1. oVirt Engine
        2. oVirt Engine Metrics
        3. oVirt Cockpit Plugin
        4. oVirt Host Deploy
      2. No Doc Update
        1. oVirt Engine
        2. VDSM
      3. Rebase: Bug Fixes and Enhancementss
        1. oVirt Engine
        2. VDSM JSON-RPC Java
      4. Release Note
        1. oVirt Engine
      5. Unclassified
        1. oVirt Engine
        2. VDSM
        3. VDSM JSON-RPC Java
        4. oVirt Hosted Engine Setup
        5. oVirt Engine Dashboard
        6. oVirt Engine Metrics
        7. oVirt Cockpit Plugin
        8. oVirt Windows Guest Tools
        9. imgbased
    3. Bug fixes
      1. oVirt Engine
      2. VDSM
      3. oVirt Log collector
      4. oVirt Hosted Engine HA
      5. OTOPI
      6. oVirt Engine Metrics
      7. oVirt Cockpit Plugin
      8. oVirt Host Deploy

What’s New in 4.1.2?


oVirt Engine

  • BZ 1426902 [RFE] Make update manager also update rubygem-fluent-plugin-viaq_data_model plugin
  • BZ 1427790 [RFE] Remove VdsmSSLProtocol from engine-config options

    In previous releases users had the ability to limit highest SSL/TLS protocol version negotiated when establishing connection between engine and VDSM. This was needed in the past because there were some issue with really old clients.


    We have verified that for all VDSM 3.6 and newer we can negotiate highest available version without any issues (we negogitate up to TLSv1.2 as described in BZ1412547).


    Due to above this option is no longer necessary and we have decided to remove it completely from engine-config options.
  • BZ 1388433 [RFE] Change auto-vacuum configuration defaults to match oVirt db usage
    * there is a documentation bug opened for this one, see Bug 1411756

    Configure the engine’s postgres with more aggressive vacuum daemon configuration.

    To prevent the frequently updates tables from piling up garbage and avoid or minimize the risk of disk flood and tx id wrap around

    Result: The engine tables remain healthy, dead rows are collected in timely manner, disk space usage is correlated with the real amount of data kept.

oVirt Engine Metrics

  • BZ 1435993 [RFE]Add ovirt-engine process to collectd process plugin
    Added to the collection of Collectd Processes plugin the collection of ovirt-engine process statistics.

    This adds statistics about the ovirt-engine process and help debug issues.


oVirt Cockpit Plugin

  • BZ 1434735 calculate arbiter brick size dynamically

oVirt Host Deploy

  • BZ 1443508 [RHVH3.6] Failed to add host to rhv-m 4.1 - Package collectd-disk cannot be found
    ovirt-host-deploy now does not fail, but only emits a warning, if packages collectd/fluentd and their plugins are not available. This allows adding a 3.6 host to a 4.1 engine, even though the 3.6 repos do not have these packages.

No Doc Update

oVirt Engine

  • BZ 1448698 [TEXT] - Clarify ‘Experimental’ Switch Type on Cluster Settings
  • BZ 1423468 the quota value of datacenter - verify for sane values


  • BZ 1448473 getAllVmIoTunePolicies exceptions in VDSM

Rebase: Bug Fixes and Enhancementss

oVirt Engine

  • BZ 1438784 [Rebase] Bump vdsm-jsonrpc-java version


  • BZ 1438784 [Rebase] Bump vdsm-jsonrpc-java version

Release Note

oVirt Engine

  • BZ 1367107 [RFE] Override firewall rules by default when installing a new host or reinstalling existing host
    Prior to 4.1.2 both API and webadmin behaved differently on firewall configuration for installing new host or reinstalling existing one:

    1) webadmin - by default firewall configuration during host installation or reinstallation was enabled

    2) API - by default firewall configuration during host installation or reinstallation was disabled and users had to specify override_iptables=true parameter in request for host to be successfully installed (or they had to perform manual firewall configuration on host prior adding it to engine)

    This was very inconvenient for users as most of them didn’t perform manual firewall configuration, so we have decided to change the default behaviour: from 4.1.2 both webadmin and API by default enable firewall configuration during host installation and reinstallation.

    If users upgrading from previous have some scripts using API for adding hosts and their scripts depends on pre-4.1.2 behaviour to not configure firewall, they will have to update their scripts and add override_iptables=false option into their scripts.
  • BZ 1433961 Disable overcommit by default when creating new cluster
    Previously, it was possible to configure memory overcommit without setting memory ballooning or KSM control. This configuration affected the scheduling, but the memory was not freed. This has now been fixed by disabling ballooning and KSM by default, and setting memory optimization to “None” (100%).
  • BZ 1436161 [RFE][scale]Increase LVs per VG alert limit
    The recommendation on number of logical volumes per storage domain was increased from 300 to 1000, given that the alert issued when exceeding this number was changed to reflect that, the limit will only change if it was the original default which is 300, in case the user manually configured it the limit will not be overriden


oVirt Engine

  • BZ 1434917 Import of a VM with memory snapshot from storage domain fails
  • BZ 1415691 New HSM infra - Disk remains locked when engine fails during engine task
  • BZ 1438418 [REST] When setting network as management, the network becomes Non-operational
  • BZ 1390498 [v4 REST-API] Read only Attribute is missing from /api/disks/{disk id}/ or from /api/vms/{vm id}/diskattachments/{diskattachments id}
  • BZ 1439509 Missing description for host certification is expired
  • BZ 1436325 Wrong emulated machine for a VM with custom compatibility version
  • BZ 1436966 EJB Invocation failed on component MacPoolPerCluster for method public
  • BZ 1426027 Always use engine FQDN even for internal communication between engine and SSO module
  • BZ 1425725 Not able to update response
  • BZ 1427543 A disk that is about to be deleted should be discarded first if it is attached to at least one vm with Pass Discard enabled
    Up until now, a disk would have been discarded only if its block storage domain’s Discard After Delete was enabled.

    From now and on, a disk will be discarded also if it is attached to at least one virtual machine with Pass Discard enabled.
    The logic behind this is that if the user wanted “live” discarding, he will probably want to discard the whole disk when it is removed even if its storage domain’s Discard After Delete property is disabled.

    For more information, please refer to the “Discard After Delete” feature page.
  • BZ 1436577 Solve DC/Cluster upgrade of VMs with now-unsupported custom compatibility level
  • BZ 1430666 Engine does not update the dwh heartbeat in the specified interval causing dwh error
  • BZ 1421764 engine-vacuum needs proper log messages
  • BZ 1431435 RNG source cannot be changed to /dev/urandom if /dev/hwrng source is enabled.
  • BZ 1417839 [ALL LANG] Administration portal - Empty credentials warning message not localized
  • BZ 1438962 DB query cache auto-eviction could be longer then the query run time in a large environment
  • BZ 1413899 tooltips in Extended view on VM show only one value
  • BZ 1422428 [fr-FR] Admin portal->Quota: measurements units are mixed up (GB in English and Go in French all mixed up).
  • BZ 1430451 Make max memory to follow memory only when VM is not UP
  • BZ 1421434 [REST-API] <mac_pool href= is missing under /api/datacenters/
  • BZ 1425156 unexpected UI behavior in the New External Subnet window
  • BZ 1417101 Arbiter flag is not present in the brick path for arbiter bricks when arbiter volume is created from UI.
  • BZ 1420687 Remove NFS & CIFS checkboxes and enable optimize-for-virt-store in the volume creation dialog
  • BZ 1411666 [SR-IOV] - UI - Reflect ‘No Filter’ for passthrough vNIC profile that was created via rest api
  • BZ 1433977 Cannot fetch fingerprint when Host SSH runs in different port than 22
  • BZ 1432904 [es_ES] Need to change the language option string for es_ES in the language drop-down on welcome page.
  • BZ 1410440 MAC addresses are in use after moving VM to another cluster and removing the vNIC doesn’t clear it
  • BZ 1429810 Fix the spurious leading space in the custom bond mode field
  • BZ 1422447 [TEXT] Moving an existing NIC from an oVirt network to one on an external provider does not require stopping a VM, unplug is fine too
  • BZ 1447050 Snapshot remains in locked status after async delete using api (only when using async)
  • BZ 1447023 Unable to upload/download images using python sdk
  • BZ 1448793 [cinder] Failed to run VM with cinder disk
  • BZ 1423657 Add value to engine-config to set timeout after successful fence start
    When power management start or restart action is executed, we switch host to REBOOT state and wait for number of seconds which are defined in ‘ServerRebootTimeout’ engine-config property. After that timeout we switch host to NON_RESPONSIVE state, so the host monitoring can handle the host.
  • BZ 1441706 [engine-backend] Block storage domain creation fails: CreateVG deviceList is passed with duplicated PV names
  • BZ 1432095 The create_functions.sql is not executed on each engine-setup execution
  • BZ 1441857 DashboardDataException in engine log after dashboard fails to load on environment without dwh
  • BZ 1422841 Error is displayed when trying to fence a host but fencing is (sometimes) executed
  • BZ 1438484 Running the command logon on the VM via the REST failed with the exception
  • BZ 1432493 RESTAPI get diskssnapshots of a VM imported to upgraded DC - qcow_version field does not appear
  • BZ 1420401 Cold merge: update job message to show host name
  • BZ 1440549 When failing to fence volume jobs the number of commands in the db grows till the execution ends.
  • BZ 1439749 API v3 of 4.1 engine doesn’t have version 4.1 capabilities
  • BZ 1438691 Wrong calculation of initial size of disk when copying template disk from file Raw/Sparse to block Cow
  • BZ 1438497 [scale] - tasks rejection by thread pool util
  • BZ 1438252 snapshots disks(not disk itself) are still with qcow2_v2 after cold move of Vm’s disk+snapshots to V4 storage domain
  • BZ 1437383 base volume format may not be preserved when moving disk between block/file domains
  • BZ 1390271 in few of ui dialogs the fields position is pushed down or cut after replacing to the new list boxes
  • BZ 1409849 UI: Storage domains not showing in search on a DC named with an underscore
  • BZ 1434019 Fencing options link leads to retired page
  • BZ 1436160 UI error about Enable Discard (formally “Discard After Delete”) comes too late
  • BZ 1427566 Migration downtime not displayed
  • BZ 1434161 Video devices of templates are not updated correctly
  • BZ 1433052 unexpected qcow_version v2 on 2nd disk after snapshot on a VM created from template
  • BZ 1432089 Download an image while it’s storage domain is in maintenance causes NPE in engine’s log
  • BZ 1432067 After killing vdsmd during Amend locked forever + flooding of ERROR: “failed to poll the command entity”
  • BZ 1431578 improve V3 performance of retrieving VM disks
  • BZ 1425122 [Sysprep] authz name is not set as domain in new VM dialog
  • BZ 1366507 [RFE] Enable virtio-scsi dataplane for el7.3
  • BZ 1422450 [virtio-scsi dataplane] viritio scsi disks are bound to the first controller
  • BZ 1426715 [UI][events] user login event is not displayed on events tab
  • BZ 1430817 ovirt-engine-lib needs python-dateutil but does not Require it
  • BZ 1425493 Vm pool auto storage domain target selection option doesn’t exist in REST API
    With this release, when creating virtual machine pools using a template that is present in more than one storage domain, virtual machine disks can be distributed to multiple storage domains add the tag:
    to the pool creation
  • BZ 1360355 Image upload: Upload image shows disk profile: null
  • BZ 1425124 The ‘Monitors’ and ‘USB support’ becomes non-greyed out when setting the VM to be headless
  • BZ 1428346 Use the same correlation id for flows that use callback
  • BZ 1414484 image is stuck with “Finalizing” status after a download of 1gb chunk (= disk size) [works with 1mb chunk]
  • BZ 1424755 Log is filled with error “LastUpdate Date is not initialized in the OVF_STORE disk.”
  • BZ 1419967 HA VM is reported as restarted even if restart fails
  • BZ 1414418 Patternfly Check Boxes and Radio Buttons text should be clickable
  • BZ 1425347 Using ‘VirtIO’ interface, Add Virtual Disk of Direct LUN, cannot set attribute of ‘Read-Only’
  • BZ 1426064 ImageProxyAddress ConfigValue is being reset to default on upgrade from 3.6
  • BZ 1425774 add a link to engine’s certificate on upload image network error event


  • BZ 1450634 Storage domain in 4.1 RHV will go offline if LVM metadata was restored manually
  • BZ 1437523 migration failures - libvirtError - listen attribute must match address attribute of first listen element
  • BZ 1428415 Improve logging to find out the cause of RPC pool being exhausted
  • BZ 1429420 hostdev.list_by_caps() fails if ‘drm’ capability reported by libvirt
  • BZ 1430198 can’t enable tunneled migration
  • BZ 1419917 VDSM fails to report capabilities if openvswitch stopped while Vdsm is running
  • BZ 1432876 VM destroy call is not robust enough in cleanup flow
  • BZ 1448606 Creating template from VM with converted disk format fails only on iscsi SD - RAW to QCOW
  • BZ 1437341 When MOM is missing, vdsm complains on MOM missing too frequently
  • BZ 1434927 HSM - Cold Move - failed to move disk after cold merge of snapshot
  • BZ 1419240 Creating a Clone vm from template with Format “QCOW2” and Target “block based storage” has a disk with same actual and virtual size.
  • BZ 1421556 Setting log level as shown in README.logging fails.
  • BZ 1427782 improve vdsm logging to detect storage issues
  • BZ 1430122 SPM start task won’t end before host jobs involving the master domain are complete
  • BZ 1428692 hostdevListByCaps will fail if some device disappears during its runtime
  • BZ 1435967 creating template from VM with converted disk format fails only on iscsi SD - RAW to QCOW
  • BZ 1427566 Migration downtime not displayed
  • BZ 1376580 Live Merge: Handle block copy still active error
  • BZ 1400534 Select host as SPM will raise ‘Unhandled exception’ (secured object is not in safe state) in the elected SPM host
  • BZ 1428419 Switch VDSM dependency from ntp to chrony
  • BZ 1427202 VM doesn’t start with VFIO+SR-IOV
    Previously, if VM was started with host device AND sr-iov nic, the runtime could fail and leak the VF (render it unusable). This is now fixed and such combination of devices can be used.


  • BZ 1420427 java exception visible in Events when upgrade check is done on recently fenced host

oVirt Hosted Engine Setup

  • BZ 1433718 Add reasonable timeout for the Python SDK requests

oVirt Engine Dashboard

  • BZ 1420448 numbers in storage inventory don’t correspond with search result on the links

oVirt Engine Metrics

  • BZ 1439544 Statsd host nic and storage metrics - nic and storage names should be in plugin_instance instead of type_instance
  • BZ 1439536 The collect.type_instance for hosts elapsed_time metrics should be empty

oVirt Cockpit Plugin

  • BZ 1433287 Update generated gdeploy config file to restart glusterd post setting up systemd slice for glusterfs
  • BZ 1431094 change the text message when mount point and LV name is not specified.

oVirt Windows Guest Tools

  • BZ 1418831 Unsupported Windows Version Windows Server 2016


  • BZ 1431158 There are warnings when running lvm commands

Bug fixes

oVirt Engine

  • BZ 1449084 Can’t connect to engine web ui with chrome 58 (due to missing subjectAltName)
  • BZ 1438188 Failed to create template from snapshot (At most one USB controller expected)
  • BZ 1440071 Can’t create gluster georeplication
  • BZ 1435088 [Upgrade] Auto-Import of HostedEngine VM fails due to missing CPU Profile Permissions
  • BZ 1428863 Getting ticket for VM that is down fails with NPE
  • BZ 1402838 Block memory over-commitment when KSM and ballooning are not being used
  • BZ 1383156 Enable HE deploy option in 3.6 cluster compatibility and add note in hosted engine tab that it will only work in host that are 4.0 and above.
  • BZ 1329119 Engine fails to start if machine’s memory is reduced by 75%
  • BZ 1291064 Change vm memory and cpu number not update automatically VNUMA nodes memory and cpu number
  • BZ 1444848 Error while importing a VM from 4.0 data domain
  • BZ 1444982 Host can be moved to maintenance while it there are jobs running on it
  • BZ 1424986 Increase the default factor for the CPU weight modules to preserve balance behavior for the PowerSaving and EvenDistribution policy
  • BZ 1431412 Reduce number of transactions in commands that use NetworkClusterHelper.setStatus


  • BZ 1336840 Prevent import of VMware machines with snapshot
  • BZ 1428514 RHEL guests cannot recognize attached CD after CD change

oVirt Log collector

  • BZ 1227019 Require sos >= 3.3 when available - ovirt sosreport plugin doesn’t obfuscate password used in aaa extensions

oVirt Hosted Engine HA

  • BZ 1441570 After hosted engine upgrade from 4.1.0 to 4.1.1 the ability to connect to the vm via console is lost
  • BZ 1419326 Migration of the HE VM via engine will drop source host to the status ‘EngineUnexpectedlyDown’


  • BZ 1405838 otopi updated iproute package during ovirt-host-mgmt

oVirt Engine Metrics

  • BZ 1438863 Collectd Processes plugin does not report correctly values for vdsm, libvirt, qemu

oVirt Cockpit Plugin

  • BZ 1433925 poolmetadatasize for the thinpool created on arbiter node should not be 16GB
  • BZ 1438596 Include gdeploy multipath disable script

oVirt Host Deploy

  • BZ 1443064 vdsm.conf isn’t being written due to vintage condition