oVirt 4.2.2 Release Notes

The oVirt Project is pleased to announce the availability of the 4.2.2 release as of March 28, 2018.

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.4, CentOS Linux 7.4 (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.2.2, see the release notes for previous versions.

No Fedora support

Regretfully, Fedora is not supported anymore, and RPMs for it are not provided. At this point, we only try to fix problems specific to Fedora if they affect developers. For some of the work to be done to restore support for Fedora, see also tracker bug 1460625.

EPEL

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.

If you want to use other packages from EPEL, you should make sure to use includepkgs and add only those you need avoiding to override packages from other repos.

What’s New in 4.2.2?

Enhancements

oVirt Log Collector

BZ 1540219 detect last backup in analyzer report



oVirt Hosted Engine Setup

BZ 1479714 [RFE] - HE should support Gluster replica 1 or 3.

Feature: Support running HE on a replica 1 gluster volume



Reason: This will enable single node hyperconverged deployments.

Feature: Support running HE on a replica 1 gluster volume Reason: This will enable single node hyperconverged deployments. BZ 1542604 [RFE] HE setup: Ansible Flow: Show only active network interfaces for setting ovirtmgmt bridge

Ansible Flow: Show only active network interfaces for setting ovirtmgmt bridge

oVirt Engine

BZ 1539636 [RFE] Support configuring lvmcache during brick creation

Feature: Support configuring lvmcache on thinpool used for gluster bricks



Reason: SSD devices on the servers provide better I/O performance and can be leveraged to deliver performance improvement for gluster volumes when the bricks are comprised of slower HDDs.

Feature: Support configuring lvmcache on thinpool used for gluster bricks Reason: SSD devices on the servers provide better I/O performance and can be leveraged to deliver performance improvement for gluster volumes when the bricks are comprised of slower HDDs. BZ 1528371 engine-setup fails to upgrade postgres from 9.2 to 9.5 if the system wide locale differs from system wide locale at first installation time

engine-setup can now successfully upgrade PostgreSQL from 9.2 to 9.5 also when the locale of the 9.2 database is different from the system locale.

engine-setup can now successfully upgrade PostgreSQL from 9.2 to 9.5 also when the locale of the 9.2 database is different from the system locale. BZ 1150245 [RFE] Add facility to move a memory volume

Moving memory disks (disks that are part from a live snapshot with memory or hibernation) can now be moved to other storage domains within the same data center

Moving memory disks (disks that are part from a live snapshot with memory or hibernation) can now be moved to other storage domains within the same data center BZ 1542118 [downstream clone - 4.2.2] [RFE] Add facility to move a memory volume



BZ 1540289 Very slow login to and very slow execution in the RHV Manager

We are now exposing ENGINE_JBOSS_BLOCKING_TIMEOUT option, which can be used to change default value of jboss.as.management.blocking.timeout JBoss option.



To change the default administrators need to create /etc/ovirt-engine/engine.conf.d/99-jboss-blocking-timeout.conf with following content:



ENGINE_JBOSS_BLOCKING_TIMEOUT=NNN



where NNN is the number of seconds for this JBoss timeout.

We are now exposing ENGINE_JBOSS_BLOCKING_TIMEOUT option, which can be used to change default value of jboss.as.management.blocking.timeout JBoss option. To change the default administrators need to create /etc/ovirt-engine/engine.conf.d/99-jboss-blocking-timeout.conf with following content: ENGINE_JBOSS_BLOCKING_TIMEOUT=NNN where NNN is the number of seconds for this JBoss timeout. BZ 1379309 [RFE] Integrate with gluster eventing

Feature: Integrate oVirt with gluster events framework



Reason: Push based monitoring rathen than frequent polling from engine to determine status of gluster volume entities

Feature: Integrate oVirt with gluster events framework Reason: Push based monitoring rathen than frequent polling from engine to determine status of gluster volume entities BZ 1515308 [RFE] [HC] Disable unrelated gluster hooks during host deploy

Feature: For hyperconverged deployments, disable gluster hooks that are unrelated, for instance SMB and NFS hooks



Reason: Hook evaluation on gluster events can hamper performance, hence disabling hooks that are not relevant

Feature: For hyperconverged deployments, disable gluster hooks that are unrelated, for instance SMB and NFS hooks Reason: Hook evaluation on gluster events can hamper performance, hence disabling hooks that are not relevant BZ 1546668 [UI] Option to disable auto-sync per provider

Feature: Option to enable and disable auto-sync per provider



Reason: Was requested by users.



Result: The property ‘autoSync’ of a network provider can be set on creating a new provider and read and set during editing an existing provider.

Feature: Option to enable and disable auto-sync per provider Reason: Was requested by users. Result: The property ‘autoSync’ of a network provider can be set on creating a new provider and read and set during editing an existing provider. BZ 1319524 [RFE] Allow downloading VM to named OVF/OVA to client or to nfs paths (even if VM has snapshots)

Feature:

Allow exporting VMs (it is no available for templates yet) to OVA files that are placed on a given path on one of the hosts in the data center.



Reason:

This feature introduces an alternative for export domains. Users can export VMs to any shared storage that is mounted to any of the hosts in the data center.



Result:

An OVA file is created in the given path on the selected host. That OVA is a portable file which can later be imported, e.g., to a different deployment of RHV.

Feature: Allow exporting VMs (it is no available for templates yet) to OVA files that are placed on a given path on one of the hosts in the data center. Reason: This feature introduces an alternative for export domains. Users can export VMs to any shared storage that is mounted to any of the hosts in the data center. Result: An OVA file is created in the given path on the selected host. That OVA is a portable file which can later be imported, e.g., to a different deployment of RHV. BZ 1539363 [RFE] Add a mechanism for canceling an image download automatically when there’s no activity after a configurable timeout is reached

A new configuration value was introduced, TransferImageClientInactivityTimeoutInSeconds (default = 60 seconds).

When there’s no activity with an image transfer, the engine keeps monitoring the transfer for a period of time that equals to this configuration value, and then it stops the transfer.

In upload flows - the transfer is paused as it can be resumed. In download flows - the transfer is canceled as it cannot be resumed anyway.



Note that this configuration value is relevant for both transfer types (upload and download) and both clients (REST-API and webadmin).

Also, note that the old configuration value, UploadImageUiInactivityTimeoutInSeconds, was removed, as the new configuration value includes this specific case (upload via webadmin).

A new configuration value was introduced, TransferImageClientInactivityTimeoutInSeconds (default = 60 seconds). When there’s no activity with an image transfer, the engine keeps monitoring the transfer for a period of time that equals to this configuration value, and then it stops the transfer. In upload flows - the transfer is paused as it can be resumed. In download flows - the transfer is canceled as it cannot be resumed anyway. Note that this configuration value is relevant for both transfer types (upload and download) and both clients (REST-API and webadmin). Also, note that the old configuration value, UploadImageUiInactivityTimeoutInSeconds, was removed, as the new configuration value includes this specific case (upload via webadmin). BZ 1520424 [RFE] Fence hosts which became NonResponsive right after engine startup

After starting up, the Manager will automatically attempt to fence unresponsive hosts that have power management enabled after the configurable quiet time (5 minutes by default) has elapsed. Previously the user needed to fence them manually.

VDSM

BZ 872530 [RFE][Tracker] - Wipe volumes using “blkdiscard” instead of “dd”

The default zeroing method has been changed from “dd” to “blkdiscard”.

The new default method performs significantly better than “dd” as it may use storage offloading if it’s supported by the storage array, and it consumes much less network bandwidth.

If required, it’s always possible to locally set back “dd” as the zeroing method by changing the “zero_method” parameter in /etc/vdsm/vdsm.conf to “dd”.

The default zeroing method has been changed from “dd” to “blkdiscard”. The new default method performs significantly better than “dd” as it may use storage offloading if it’s supported by the storage array, and it consumes much less network bandwidth. If required, it’s always possible to locally set back “dd” as the zeroing method by changing the “zero_method” parameter in /etc/vdsm/vdsm.conf to “dd”. BZ 1555200 [RFE] Implement reset-brick usage on the gluster volume



BZ 1540548 [RFE] Automatically restart HA VMs paused due to I/O Error

Highly available VMs paused due to I/O error may be, depending on the VM settings in Engine, killed if they have been paused for too long. This happens only once the I/O error is gone and the VM is going to be resumed.



This change enhances the functionality and high availability by killing VMs with that Engine setting whenever they are paused for too long due to I/O error regardless whether and when they are going to be resumed.

Highly available VMs paused due to I/O error may be, depending on the VM settings in Engine, killed if they have been paused for too long. This happens only once the I/O error is gone and the VM is going to be resumed. This change enhances the functionality and high availability by killing VMs with that Engine setting whenever they are paused for too long due to I/O error regardless whether and when they are going to be resumed. BZ 1150245 [RFE] Add facility to move a memory volume

Moving memory disks (disks that are part from a live snapshot with memory or hibernation) can now be moved to other storage domains within the same data center

Moving memory disks (disks that are part from a live snapshot with memory or hibernation) can now be moved to other storage domains within the same data center BZ 1207992 [RFE] Report IO errors to guests if the device is a CDROM

Virtual machines now stay operational when connectivity with CD-ROM images breaks. The error is reported to the guest operating system. Note that the configuration of the storage device may affect the time it takes to detect the error. In that period of time, the virtual machine is non-operational.

Virtual machines now stay operational when connectivity with CD-ROM images breaks. The error is reported to the guest operating system. Note that the configuration of the storage device may affect the time it takes to detect the error. In that period of time, the virtual machine is non-operational. BZ 1475780 [RFE][scale] - Set “blkdiscard” as the default zero method

The default zeroing method has been changed from “dd” to “blkdiscard”.

The new default method performs significantly better than “dd” as it may use storage offloading if it’s supported by the storage array, and it consumes much less network bandwidth.

If required, it’s always possible to locally set back “dd” as the zeroing method by changing the “zero_method” parameter in /etc/vdsm/vdsm.conf to “dd”.

oVirt Engine Metrics

BZ 1545559 [RFE] Assign externalIP to the Elasticsearch Service

Feature:

Assign externalIP to the Elasticsearch Service.



Reason:

To automate this for the user so he will not need to do this manually.



Result:

Now this is configure during the ovirt metrics configuration script.

Feature: Assign externalIP to the Elasticsearch Service. Reason: To automate this for the user so he will not need to do this manually. Result: Now this is configure during the ovirt metrics configuration script. BZ 1520126 [RFE] Set curator configmap on metrics store machine

Feature:

Set curator configmap on metrics store machine



Reason:

To automate this for the user so he will not need to do this manually.



Result:

When running the configure metrics script, it configures the curator on the metrics store machine, for metrics index, the curation parameter and make it configurable.

Feature: Set curator configmap on metrics store machine Reason: To automate this for the user so he will not need to do this manually. Result: When running the configure metrics script, it configures the curator on the metrics store machine, for metrics index, the curation parameter and make it configurable. BZ 1542973 [RFE] Add Viaq installation files to ovirt-engine-metrics repo

Feature:

Added a playbook that generates the vars.yaml file with the openshift_logging_mux_namespaces according to the ovirt_env_name the user configured and copies both vars.yaml and the ansible-inventory files to the metrics machine.



Reason:

This places the files required for the viaq logging installation on the metrics machine and already includes the openshift_logging_mux_namespaces.



Result:

This should simplify the oVirt metrics store installation.

Feature: Added a playbook that generates the vars.yaml file with the openshift_logging_mux_namespaces according to the ovirt_env_name the user configured and copies both vars.yaml and the ansible-inventory files to the metrics machine. Reason: This places the files required for the viaq logging installation on the metrics machine and already includes the openshift_logging_mux_namespaces. Result: This should simplify the oVirt metrics store installation. BZ 1530919 [RFE]Include a vars directory instead of only single config.yml file and not hard code the path

Feature:

Include a vars directory instead of only single config.yml file and not hard code the path.



Reason:

Allow adding variable to a directory to be used in the for the ansible script.



Result:

User can now add variable file to /etc/config.yml.d/ and the will be used in the ansible playbook.

Known Issue

oVirt Engine

BZ 1554028 “No space left on device” error when copying a disk based on template to a block domain in DC <= 4.0 when the disk was extended

Cause:

qemu-img convert with compat=0.10 and a backing file writes

the space after the backing file as zeroes which may cause the output disk be larger than the LV created for it



Consequence:

Moving a disk that was extended and is based on a template disk will fail in storage domains older than V4.





Fix:

The move operation of such disks will be blocked with an error message instead of failing. The resolution for this scenario is to upgrade the DC to 4.1 compatibility version or newer.



Result:

Bug Fixes

oVirt Log Collector

BZ 1519541 log-collector-analyzer: ERROR: column v.agent_ip does not exist



ovirt-engine-dwh

BZ 1529489 engine-cleanup fails if history database is inaccessible



BZ 1541924 Ovirt-engine-dwh fails to collect statistics due to high number in database sequences.



oVirt Hosted Engine HA

BZ 1443819 Stale Active LVs in Hosted-Engine Storage Domain



oVirt Hosted Engine Setup

BZ 1528813 ovirt-hosted-engine-cleanup - does not kill local VM (in case of Ansible based hosted engine deployment)



BZ 1443819 Stale Active LVs in Hosted-Engine Storage Domain



oVirt Engine

VDSM

BZ 1543103 Call vdsm ‘after_vm_pause’ hooks when the VM has been paused because an I/O Error



BZ 1335176 VMs do not auto-resume after short storage outage



oVirt Engine Metrics

BZ 1529271 [RFE] report VM statistics by collectd virt-plugin



BZ 1540261 metrics host deployment playbooks logs private key



oVirt Host Dependencies

BZ 1529271 [RFE] report VM statistics by collectd virt-plugin



oVirt Provider OVN

BZ 1531998 routing: port’s fixed_ips, device_owner and device_id should report valid values



BZ 1530531 When removing router interface the provider doesn’t remove the attachment to the subnet



Other

oVirt ISO Uploader

BZ 1513481 uploading iso to glusterfs via ssh fails



oVirt Log Collector

BZ 1491302 Missing manual for ovirt-log-collector-analyzer



BZ 1518950 ovirt-log-collector-analyzer: sosreport-foobar-Logcollector-9175126/dev/null: Cannot mknod: Operation not permitted

tar: Exiting with failure status due to previous errors



BZ 1493099 [RFE] - Add iSCSI initiator name to hosts table for analyzer report



BZ 1491253 [RFE] - /usr/share/ovirt-log-collector/analyzer/inventory-profile has hardcoded /tmp



BZ 1478139 Command “ovirt-log-collector –quiet” is verbose



BZ 1532927 [RFE] Add host SELinux check to analyzer



BZ 1529341 ovirt-log-collector-analyzer: warn if the number of hosts is > 200 (in 4.1 and below)



oVirt Ansible cluster upgrade role

BZ 1539776 Role should fail after one failed host



BZ 1539761 [RFE] changing cluster into maintenance only with special parameter



BZ 1539774 [RFE] Add variable about not rebooting the host after upgrade



oVirt Ansible infrastructure role

BZ 1539715 Make hosts variable optional (for example to be able to add additional storage domains to existing setup)



oVirt Ansible virtual machine infrastructure role

BZ 1539722 [RFE] variable status should be within specific VM too and it should take precedence before status in profile



BZ 1491010 [ovirt-ansible-roles] ovirt-vm-infra: When VM already exists in environment, role should left that VM in the same running state



oVirt Engine SDK 4 Ruby

BZ 1542879 rubygem(json) < 2 is not available on Fedora >= 27



ovirt-engine-dwh

BZ 1547018 engine-setup clears dwh database on rollback if failure is at/after schema update



BZ 1546487 Rollback after failed upgrade from 4.1 to 4.2 does not reconfigure original postgresql service



BZ 1540627 logs are world-readable



BZ 1546969 cannot install dwh on separate machine - problem with OVESETUP_PROVISIONING/postgresProvisioningEnabled



oVirt Hosted Engine HA

BZ 1543988 hosted-engine –get-shared-config rewrites all the hosted-engine configuration files loosing spm id



BZ 1525859 Clean metadata command raises Traceback



BZ 1543424 [vintage][iscsi][multipath] With answerfile (or from cockpit) the setup fails if just one of the paths to the storage server is down



oVirt Hosted Engine Setup

oVirt Engine Extension AAA-JDBC

BZ 1540909 Use native SecureRandom implementation instead of SHA1PRNG



ovirt-engine-extension-aaa-ldap

BZ 1538217 AAA - setup script errors out solely on the exit status of dig command.



BZ 1524120 Fix language in ovirt-engine-extension-aaa-ldap/examples/README.md



BZ 1530642 Sample file simple/aaa/profile1.properties misses line pool.default.auth.type = simple



oVirt Engine

VDSM

oVirt Engine Dashboard

BZ 1465795 Top utilized Resources (Storage) - VMs should be sorted by actual use, not over-allocation percentage



BZ 1552795 [CodeChange][i18n] oVirt 4.2 translation update post localization QA event



BZ 1523004 [CodeChange][i18n] oVirt 4.2 translation cycle 2



oVirt Engine Metrics

BZ 1475681 [RFE][Tracker] Add initial Kibana dashboard



BZ 1559042 Remove disk and memory check flags from the OpenShift ansible-inventory files



BZ 1506176 manage_services tag needs better documentation in help



BZ 1560240 OpenShift Logging should use the partition supplied by the user for elasticsearch persistent storage



BZ 1560922 metrics store not being configured while scope are used



BZ 1549163 oVirt.metrics role prevents execution of all following parts of oVirt.host-deploy role



BZ 1547711 Metrics is being configured even if validations failed



oVirt Host Dependencies

BZ 1554708 [Build] Require rubygem-fluent-plugin-elasticsearch



oVirt Provider OVN

BZ 1552073 configure ovsdbapp logging to use ovirt-provider-ovn.log



BZ 1550484 Cannot create a port without specifying a MAC address



BZ 1536791 Provider should support using fixed_ips with PORT entities



BZ 1531112 Remove router interface should remove the port from the switch



BZ 1537084 Crash and restart on irrecoverable ovsdbapp error



cockpit-ovirt

IOProcess

BZ 1541389 wrong packaging of ioprocess rpm



oVirt Host Deploy

BZ 1531052 glusterd not starting after node reboot



oVirt image transfer daemon and proxy

BZ 1523203 ImageIO- upload pause cause nasty log ERROR in both Engine image-proxy.log & in VDSM host daemon.log



BZ 1474413 [TEXT] Inconsistent options filling in engine-setup



ovirt-engine-dwh

BZ 1518802 upgrade 4.1.8 to 4.2 with answer file fails on upgrade postgres issue



oVirt Hosted Engine HA

BZ 1547479 Make sure hosted engine disks have exclusive access flags even when libvirt XML is used via OVF



BZ 1545105 OVF parsing fails if the HE VM is in an affinity group



oVirt Hosted Engine Setup

BZ 1557480 The deployment fails on [Create configuration templates] task



BZ 1547595 Avoid logging at error level for ansible tasks with ignore_errors.



BZ 1546764 Typo in “[ INFO ] TASK [Set FDQN] “, it should be “[ INFO ] TASK [Set FQDN]” instead.



BZ 1546652 HE setup: Ansible: detect the interface used on an existing management bridge and propose just that one



BZ 1540150 Disable IPv6 on network configuration at the engine on the ansible deployment flow



oVirt Engine

BZ 1547479 Make sure hosted engine disks have exclusive access flags even when libvirt XML is used via OVF



BZ 1525904 Include engine-psql.sh in ovirt-engine-dbscripts package as redhat-support-plugin-rhev package has been obsoleted and rhevm-doc is not a nice place to include that script



BZ 1514853 Vm run fails due to NPE when host statistics are missing.



BZ 1341177 [RFE] Log “Cannot migrate VM” and “Cannot run VM” failures to “Events” tab (audit_log)



BZ 1553218 Start VM with inactive attached disk fails with NPE



BZ 1534544 engine log 404 Error message for lang.css when viewing documentation



BZ 1511926 in small window action dropdown menu is not visible when it is on new line



BZ 1543833 XML error: Multiple ‘scsi’ controllers with index ‘0’



BZ 1537594 engine-setup –reconfigure-optional-components not covered by man-page



BZ 1518074 Choosing multiple LUNs instead of exactly one when creating a new direct LUN disk for a new VM via Targets > LUNs table



BZ 1537603 ovirt-engine-setup-plugin-vmconsole-proxy-helper is not re-asking to be enabled if once set to False



VDSM

BZ 1547479 Make sure hosted engine disks have exclusive access flags even when libvirt XML is used via OVF



cockpit-ovirt