oVirt 4.2.1 Release Notes

The oVirt Project is pleased to announce the availability of the 4.2.1 release as of February 12, 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.1, 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.1?

Release Note

oVirt Engine

BZ 1515635 [RFE] Drop uuid_generate_v1() internal implementation and use the implementation from standard PostgreSQL uuid-ossp extension

We have added a requirement for uuid-ossp PostgreSQL extension to be present in engine database. For databases managed by engine-setup this is performed automatically, but non-managed databases (usually remote databases) this needs to be done manually by administrators.



Here are required additional steps:



New installation:

1. Requirement to install rh-postgresql95-postgresql-contrib package

on remote database host

2. Once database is created administrators need to add uuid-ossp extension

to it using:

su - postgres -c “scl enable rh-postgresql95 -- psql -d engine”

postgres=# CREATE EXTENSION “uuid-ossp”;



Upgrade:

1. Requirement to install rh-postgresql95-postgresql-contrib package

on remote database host

2. Once database is upgraded to 9.5 administrators need to remove our custom implementation and add uuid-ossp extension

to it using:

su - postgres -c “scl enable rh-postgresql95 -- psql -d engine”

postgres=# DROP FUNCTION IF EXISTS uuid_generate_v1();

postgres=# CREATE EXTENSION “uuid-ossp”;



In both above example “engine” specified using “-d” option is the name of engine database

Enhancements

oVirt Engine Metrics

BZ 1523068 [RFE] Add fluentd file output plugin support for quick and easy debugging

Feature:

Add fluentd file output plugin support for quick and easy debugging



Reason:

Sometimes we want to debug the metrics without setting a remote metrics store.



Result:

Added a “file” output plugin support to the ovirt-engine-metrics setup.

Metrics will be sent to a local file.

oVirt Host Dependencies

BZ 1425032 [RFE] Include katello agent in RHV-H NG

Feature: Katello Agent is now installed on RHV hosts during deployment and is included in RHV-H image



Reason: to better integrate with Satellite. Katello Agent provides the list of the installed rpms.



Result: katello-agent is installed and working on RHV / RHV-H Hosts

oVirt Hosted Engine Setup

BZ 1353713 [RFE] - Hosted Engine: iSCSI Setup Should use different User/Password For Discovery and Portal

hosted-engine-setup was assuming that the user set the same CHAP username and password for iSCSI discovery and iSCSI login.

Let the user pass different username and password couples for iSCSI discover and iSCSI login at setup time.

OTOPI

BZ 1396925 [RFE] restructure answer-file behavior

otopi can now optionally write its own answer files, which are simpler to understand, compared to tool-specific files written by existing tools that use otopi. Also functionality is different, imitating more closely the behavior without an answer file and answers provided interactively.

oVirt Engine

BZ 1510578 [RFE][hc][dalton] - Set up cgroup for gluster processes in HC mode from the engine

Feature: Restrict the CPU resources consumed by gluster processes



Reason: When running in hyperconverged mode, gluster processes should co-exist with virt processes and not consume all available resources



Result: Hyperconverged mode works as expected

Feature: Restrict the CPU resources consumed by gluster processes Reason: When running in hyperconverged mode, gluster processes should co-exist with virt processes and not consume all available resources Result: Hyperconverged mode works as expected BZ 1511823 [RFE] Automatically synchronize networks of cluster with default network provider

Feature:

Add a new boolean property to external network providers is added.

If true, the networks of this provider are automatically and cyclically synchronized to oVirt in the background. This means that all new networks of this provider are imported, and all discarded networks are removed from all clusters that have this external provider as the default provider.



The automatically initiated import triggers the following steps:



- The networks of the external provider will be imported to every data center in the data centers of the clusters that have that external provider as the default provider.



- A vNIC profile will be created for each involved data center and network.



- The networks will be assigned to each cluster that has that external provider as the default provider.



All users are allowed to use the new vNIC Profile.



Reason:

- Support the user to use only external networks for VMs, which are still available

on the external provider.

- Make new networks of the external network provider available more comfortable.



Result:

After the user has enabled the new boolean property, e.g. during creating the external provider, the networks of the external provider are available to be used for VMs without manually importing them.

Feature: Add a new boolean property to external network providers is added. If true, the networks of this provider are automatically and cyclically synchronized to oVirt in the background. This means that all new networks of this provider are imported, and all discarded networks are removed from all clusters that have this external provider as the default provider. The automatically initiated import triggers the following steps: - The networks of the external provider will be imported to every data center in the data centers of the clusters that have that external provider as the default provider. - A vNIC profile will be created for each involved data center and network. - The networks will be assigned to each cluster that has that external provider as the default provider. All users are allowed to use the new vNIC Profile. Reason: - Support the user to use only external networks for VMs, which are still available on the external provider. - Make new networks of the external network provider available more comfortable. Result: After the user has enabled the new boolean property, e.g. during creating the external provider, the networks of the external provider are available to be used for VMs without manually importing them. BZ 1530730 [downstream clone - 4.2.1] [RFE] Allow uploading ISO images to data domains and using them in VMs

It is now possible to upload an ISO file to a data domain and attach it to a VM as a CDROM device.

In order to do so the user has to upload an ISO file via the UI (which will recognize the ISO by it’s header and will upload it as ISO) or via the APIs in which case the request should define the disk container “content_type” property as “iso” before the upload.

Once the ISO exists on an active storage domain in the data center it will be possible to attach it to a VM as a CDROM device either through the “Edit VM” dialog or through the APIs (see example in comment #27

It is now possible to upload an ISO file to a data domain and attach it to a VM as a CDROM device. In order to do so the user has to upload an ISO file via the UI (which will recognize the ISO by it’s header and will upload it as ISO) or via the APIs in which case the request should define the disk container “content_type” property as “iso” before the upload. Once the ISO exists on an active storage domain in the data center it will be possible to attach it to a VM as a CDROM device either through the “Edit VM” dialog or through the APIs (see example in comment #27 BZ 1330217 [RFE] Enable configuring IPv6 in VM cloud-init

Cloud-Init supports IPv6 properties for initializing a virtual machine’s network interfaces.

Cloud-Init supports IPv6 properties for initializing a virtual machine’s network interfaces. BZ 1517832 [RFE] make VM names in host details clickable

Feature: Clicking on the VM name in the VM detail view of the hosts, will take you directly to the VM detail view. This allows you to see more details of that VM and make changes easier.



Reason: Navigating between hosts and their associated VMs was difficult. This change allows the user to quickly switch selected entities.



Result: The names of the VMs in the VM grid of the host detail view now contains a link to the VM detail view.

Feature: Clicking on the VM name in the VM detail view of the hosts, will take you directly to the VM detail view. This allows you to see more details of that VM and make changes easier. Reason: Navigating between hosts and their associated VMs was difficult. This change allows the user to quickly switch selected entities. Result: The names of the VMs in the VM grid of the host detail view now contains a link to the VM detail view. BZ 1049604 [RFE] Allow uploading a pre-existing VM image (OVA) into the environment

Feature:

Enable uploading an OVA into an oVirt data center.



Reason:

Simplify the process of importing a virtual machine that was created out of the data center.



Result:

It is now possible to import an OVA that is accessible to at least of the hosts in the data center into a virtual machine in oVirt.

Feature: Enable uploading an OVA into an oVirt data center. Reason: Simplify the process of importing a virtual machine that was created out of the data center. Result: It is now possible to import an OVA that is accessible to at least of the hosts in the data center into a virtual machine in oVirt. BZ 1528960 Add ability to change maximum timeout for Ansible process executed from engine to finish

The default timeout for Ansible process executed from engine has been enlarged to 30 minutes, because especially upgrading hosts can take significant amount of time. If Ansible process doesn’t finish until this timeout, engine will kill the Ansible process and fail the action.



If even default 30 minutes timeout is not enough, administrators can further enlarge it by creating a new configuration file in /etc/ovirt-engine/engine.conf.d (for example 99-ansible-playbook-timeout.conf) with following content:



ANSIBLE_PLAYBOOK_EXEC_DEFAULT_TIMEOUT=NNN



where NNN is number minutes which engine should wait for Ansible process to finish.

VDSM

BZ 1334982 [RFE] Gracefully shutdown Virtual Machines on Host reboot/shutdown.

Previously, in cases of emergency, users were required to shut down the hosts to preserve the data center. This caused running virtual machines to be killed by the systemd process without performing a graceful shutdown. As a result, the virtual machine’s state became undefined which led to problematic scenarios for virtual machines running databases such as Oracle and SAP.

In this release, virtual machines can be gracefully shut down by delaying the systemd process. Only after the virtual machines are shut down, does the systemd process take control and continue the shut down. The VDSM is only shut down after the virtual machines have been gracefully shut down, after passing information to the Manager and waiting 5 seconds for the Manager to acknowledge the virtual machines have been shut down.

Previously, in cases of emergency, users were required to shut down the hosts to preserve the data center. This caused running virtual machines to be killed by the systemd process without performing a graceful shutdown. As a result, the virtual machine’s state became undefined which led to problematic scenarios for virtual machines running databases such as Oracle and SAP. In this release, virtual machines can be gracefully shut down by delaying the systemd process. Only after the virtual machines are shut down, does the systemd process take control and continue the shut down. The VDSM is only shut down after the virtual machines have been gracefully shut down, after passing information to the Manager and waiting 5 seconds for the Manager to acknowledge the virtual machines have been shut down. BZ 1530730 [downstream clone - 4.2.1] [RFE] Allow uploading ISO images to data domains and using them in VMs

It is now possible to upload an ISO file to a data domain and attach it to a VM as a CDROM device.

In order to do so the user has to upload an ISO file via the UI (which will recognize the ISO by it’s header and will upload it as ISO) or via the APIs in which case the request should define the disk container “content_type” property as “iso” before the upload.

Once the ISO exists on an active storage domain in the data center it will be possible to attach it to a VM as a CDROM device either through the “Edit VM” dialog or through the APIs (see example in comment #27

It is now possible to upload an ISO file to a data domain and attach it to a VM as a CDROM device. In order to do so the user has to upload an ISO file via the UI (which will recognize the ISO by it’s header and will upload it as ISO) or via the APIs in which case the request should define the disk container “content_type” property as “iso” before the upload. Once the ISO exists on an active storage domain in the data center it will be possible to attach it to a VM as a CDROM device either through the “Edit VM” dialog or through the APIs (see example in comment #27 BZ 1429536 [RFE] Rebase on gluster-3.12

Feature: oVirt to use the latest released version of glusterfs - 3.12



Reason: GlusterFS 3.12 has many fixes and enhancements that improve experience for oVirt users

Feature: oVirt to use the latest released version of glusterfs - 3.12 Reason: GlusterFS 3.12 has many fixes and enhancements that improve experience for oVirt users BZ 1511234 [RFE] Hook for booting from Passthrough Devices

New vdsm hook boot_hostdev has been added. It allows Virtual Machines to boot from passed through host devices such as NIC VFs, PCI-E SAS/RAID Cards, SCSI devices etc. without requiring a normal bootable disk from RHV SD/Direct LUN

oVirt Engine SDK 4 Python

BZ 1049604 [RFE] Allow uploading a pre-existing VM image (OVA) into the environment

Feature:

Enable uploading an OVA into an oVirt data center.



Reason:

Simplify the process of importing a virtual machine that was created out of the data center.



Result:

It is now possible to import an OVA that is accessible to at least of the hosts in the data center into a virtual machine in oVirt.

Known Issue

oVirt Engine

BZ 1523614 Copy image to a block storage destination does not work after disk extension in a snapshot in DC pre-4.0

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 has snapshot created prior to its extension will fail in storage domains with a version older than V4 (i.e., domains in DC 4.0 or older)



Fix:

The move operation of a disk with snapshots created prior to its extension will be blocked with an error message stating the deletion of the disk’s snapshot is required before attempting to move it, instead of attempting to execute the copying and waiting for it to fail.



Result:

oVirt Hosted Engine Setup

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

Cause:

‘hosted-engine –get-shared-config’ and ‘hosted-engine –set-shared-config’ always rewrite all the HE configuration files with the copy on the shared storage.

/etc/ovirt-hosted-engine/hosted-engine.conf contains host_id field with the SPM ID to be used on the host while the shared copy on the shared storage that contains only host_id=1



Consequence:

This can cause an SPM collision in the future.



Workaround:

Manually restore host_id in /etc/ovirt-hosted-engine/hosted-engine.conf after ‘hosted-engine –get-shared-config’ or ‘hosted-engine –set-shared-config’





Bug Fixes

oVirt Hosted Engine Setup

BZ 1536941 HE-VM cloudinit root password saved in the setup log file as clear text.



oVirt Release Package

BZ 1516123 tuned-adm timeout while adding the host in manager and the deployment will fail/take time to complete



oVirt Engine

VDSM

BZ 1532151 cannot run vm after upgrade to 4.2-beta - AttributeError: ‘Element’ object has no attribute ‘_elem’



BZ 1533762 Failed to hotplug a vNIC with Empty network



BZ 1432039 lvchange –refresh generates unneeded load on lvm



BZ 1527416 Wrong state returned in VM getStats when actual state changes in the middle



BZ 1518676 Entire vdsm process hang during when formatting xlease volume on NFS storage domain



BZ 1526133 [SR-IOV] hot-plug of vNIC on running VM fails with VDSErrorException



BZ 1449968 Guest LVs created on raw volumes are auto activated on the hypervisor with FC storage (lvm filter?)



BZ 1532133 Preallocated volume convert to sparse volume after live storage migration to file based storage domain



BZ 1530072 Vdsm can get into D state when checking disk type on non-responsive NFS server



oVirt Host Deploy

BZ 1539040 host-deploy stops libvirt-guests triggering a shutdown of all the running VMs (including HE one)



imgbased

BZ 1493176 RHVH stuck on startup after ‘probing EDD… ok’ step



BZ 1535791 Upgrading node brings back previous hosted-engine configuration



BZ 1533871 the /boot partition grows after each update until it’s at 100% causing boot loop.



Other

oVirt Engine Metrics

BZ 1529295 [RFE] - Add root file system disk space statistics for the engine



BZ 1506178 Multiple minor issues with help of configure_metrics script



BZ 1534240 Old VDSM still send hosts statistics and fluentd should filter them out



BZ 1532196 [RFE] Add ovirt.engine_fqdn to hosts logs



oVirt Engine Dashboard

BZ 1358604 CPU/Memory/Storage tooltip text should be improved



BZ 1402007 Dashboard: Over commit: XX% (allocated XX%) parameters are not clear



BZ 1489433 Dashboard utilization circle doesn’t show up when 0 out of 0 is used



BZ 1526258 [CodeChange][i18n] oVirt 4.2 translation cycle 1, part 2



oVirt Hosted Engine HA

BZ 1527394 [HE] - SHE ha-host’s score is unstable and hosted-engine.conf is not equal on both ha-hosts.



oVirt Hosted Engine Setup

BZ 1527394 [HE] - SHE ha-host’s score is unstable and hosted-engine.conf is not equal on both ha-hosts.



BZ 1540850 ansible flow needs better logging



BZ 1537630 Hosted engine VM cannot be edited using the UI, because it has priority 0



BZ 1537153 iSCSI deployment of node zero fails with “‘ansible.errors.AnsibleUndefinedVariable’>

exception: ‘int object’ has no attribute ‘split’”}”.



BZ 1532213 [HE] in deploy of Hosted Engine with ansible we should remove the otopi question “generate on-fly a cloud-init ISO image…” since its not supported.



BZ 1529941 missing ‘–config-append’ option in help and man



BZ 1530125 AnsibleHelper is consuming too much cpu time



BZ 1526752 HE setup: Don’t use /var/tmp/localvm but a temp dir.



OTOPI

BZ 1529474 config-append failed to resolve path that start with ~/



oVirt Release Package

BZ 1526850 brand is missing on cockpit login screen.



oVirt Engine

VDSM

oVirt Provider OVN

BZ 1530533 admin_state_up property of a router is a list instead of single value



BZ 1527894 Log source IP and port on requests to the provider



BZ 1524123 Improper error message in vdsm-tool ovn-config



ovirt-engine-dwh

BZ 1490941 add notice to dwh-vacuum help about full vacuum



BZ 1535935 engine-setup creates bad 10-setup-database.conf if it has to provision ovirt_engine_history_TIMESTAMP



oVirt Engine SDK 4 Ruby

BZ 1525912 allow to create cluster without specifying cpu type



BZ 1511369 REST: add external network provider by name



BZ 1522799 [RFE] - DR: On template\vm registration, vnic_profile_mappings should be under registration_configuration



BZ 1511420 [RFE] API for running VM with an ISO from the DATA domain



oVirt Host Deploy

BZ 1533390 Start glustereventsd while deploying host



imgbased

BZ 1528468 oVirt NGN kickstart-based install fails during imgbased layout initialization after installing an rpm package in %post



BZ 1519784 oVirt Node upgrade fails if SELINUX is disabled



oVirt Cockpit Plugin

BZ 1541029 [cockpit][vintage otopi][iscsi] iSCSI discovery systematically fails



BZ 1539497 Generating answer file with the incorrect domainType (‘nfs’ instead of ‘nfs3’) while deploying HE via cockpit based vintage deployment



BZ 1415179 [RFE] provide a way for the user to setup-cache



BZ 1523573 [RFE] Change ‘Standard’ term in cockpit deployment to ‘Hosted Engine Only Deployment’



BZ 1538930 The vintage (based-otopi) deployment didn’t use deprecated python flow while deploying HE via cockpit.



BZ 1519743 In cockpit installation of self hosted engine inputs invisible on high resolution screens



BZ 1535793 Cockpit is missing the options for user configure about HE-VM engine



BZ 1529223 Hide the iscsi portal password while deploying SHE with iscsi via cockpit.



BZ 1529222 There is the excess step about iscsi portal password while deploying SHE with iscsi via cockpit



BZ 1526448 insufficient memory message should state how much memory is needed



oVirt Hosted Engine HA

BZ 1519289 If migration of HE VM failed because of timeout, source host will have hanged state “EngineMigratingAway”



oVirt Hosted Engine Setup

BZ 1529131 iscsi target password visible when having authentication error on deployment



BZ 1529490 hosted-engine failed to deploy because of permission error for the cloud-init iso file



BZ 1530209 [RFE] when choosing ISCSI - display lun’s number to help the user identify the luns



oVirt Engine

BZ 1523297 Engine fails to create OVN subnet



BZ 1517108 [ALL_LANG except zh_CN, ko_KR] Table headers getting truncated on compute->virtual machines-> disks -> new -> direct LUN page.



BZ 1418197 [fr_FR] [Admin Portal] The UI alignment needs to be corrected on cluster->new->optimization page.



BZ 1497665 NPE in ovirt-engine/docs/manual



BZ 1483844 [UI] - Adjust the font size and icons size on the new UI design for the ‘Network Interfaces’ sub tab



BZ 1469538 Network changes to HE VM OVF take longer than other changes



BZ 1532018 engine requires tenant name for External Network Provider in RHV 4.2.1



BZ 1530526 configure ovirt-provider-ovn dialog appear in PACKAGES section instead of PRODUCT OPTIONS section



BZ 1494519 Dashboard in left menu stays highlighted when using any link from it



oVirt Provider OVN

BZ 1528166 Log source IP and port on requests to the authorization module



imgbased