oVirt 4.1.3 Release Notes

The oVirt Project is pleased to announce the availability of 4.1.3 Release as of July 06, 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). Packages for Fedora 24 are also available as a Tech Preview.

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.3, see the release notes for previous versions.

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.

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.3 Release Notes
    1. EPEL
    2. What’s New in 4.1.3?
      1. Deprecated Functionality
        1. oVirt Engine
      2. Enhancements
        1. oVirt Engine SDK 4 Python
        2. oVirt Engine
        3. VDSM
        4. oVirt Hosted Engine Setup
        5. imgbased
        6. oVirt Log collector
        7. oVirt Engine Metrics
        8. oVirt Host Deploy
      3. Known Issue
        1. imgbased
      4. No Doc Update
        1. oVirt Engine
        2. VDSM
      5. Technology Preview
        1. oVirt Engine
      6. Unclassified
        1. oVirt Release Package
        2. oVirt Engine Extension AAA LDAP
        3. oVirt Engine SDK 4 Python
        4. oVirt Engine
        5. VDSM
        6. VDSM JSON-RPC Java
        7. oVirt Provider OVN
        8. oVirt Hosted Engine Setup
        9. oVirt Hosted Engine HA
        10. imgbased
        11. oVirt Log collector
        12. oVirt Engine SDK 4 Ruby
        13. oVirt Engine Metrics
        14. oVirt Cockpit Plugin
    3. Bug fixes
      1. oVirt Setup Lib
      2. oVirt Engine
      3. VDSM
      4. oVirt Hosted Engine Setup
      5. oVirt Scheduler Proxy

What’s New in 4.1.3?

Deprecated Functionality

oVirt Engine

  • BZ 1441632 Hide “advanced” migration option a bit better
    With this update, the migration of a virtual machine to a different cluster can no longer be invoked from the UI. Regular migration within a cluster remains unchanged.

Enhancements

oVirt Engine SDK 4 Python

  • BZ 1436981 [RFE] Add support for asynchronous requests and pipe-lining
    The Python SDK now support asynchronous requests and HTTP pipe-lining. Users can now send requests asynchronously and wait for the response later in code. This makes it possible to send multiple request using multiple connections or pipelined connections, and wait for the response later, which improves performance when fetching multiple objects from the API.

oVirt Engine

  • BZ 1444992 [RFE] Provide hook for vGPU
    This update adds a new VDSM hook called vdsm-hook-vfio-mdev that makes the host capable of working with mdev capable devices such as GPUs. The hook is automatically installed. The following prerequisites apply for a virtual machine to use a mdev instance:
    1) The host must have a kernel that supports mediated device, have the device and the correct drivers.
    2) The predefined property, ‘mdev_type’, must be set and correspond to one of the mdev types supported by the device.
    3) The virtual machine must be pinned to the host(s) with the device(s).

    The supported mdev_type values can be determined by checking the host on which the device is present (not visible in the engine) by querying vdsm (vdsm-client Host hostdevListByCaps) or running the following bash script:

    for device in /sys/class/mdev_bus/; do
    for mdev_type in $device/mdev_supported_types/
    ; do
    MDEV_TYPE=$(basename $mdev_type)
    DESCRIPTION=$(cat $mdev_type/description)
    echo “mdev_type: $MDEV_TYPE — description: $DESCRIPTION”;
    done;
    done
    sort uniq
  • BZ 1432912 [RFE] add search query for “next run configuration exists”
    It is now possible to search for VMs that have pending configuration changes. The search query is “Vms: next_run_configuration_exists=True”
  • BZ 1426905 [Metrics Store] Install fluent-plugin-viaq_data_model plugin on engine machine
  • BZ 1431545 [RFE] remove the webadmin/userportal debuginfo packages and have automatic deobfuscation
    With this update, GWT symbol maps, used to clarify obfuscated client-side (GWT UI) stack traces (/var/log/ovirt-engine/ui.log), are now part of the core Red Hat Virtualization Manager UI packages. The packages are installed by default when the Red Hat Virtualization Manager is installed or upgraded.

    This update means that the user now has meaningful client-side stack traces in /var/log/ovirt-engine/ui.log without having to install additional packages, which saves time when analyzing UI related issues. This update also reduces the symbol maps size by zipping them. The Administration Portal UI uncompressed GWT symbol maps previously took ~1 GB of disk space. The zipped version consumes only 50 MB. The content of the zipped GWT symbol map files is streamed by the Manager as required and the content is not physically extracted to disk. After the Manager install or upgrade, the GWT symbol maps files use the following location:

    /usr/share/ovirt-engine/gwt-symbols/webadmin/symbolMaps.zip

    NOTE: The webadmin-portal-debuginfo package, which previously provided the GWT symbol map files, must now be manually removed prior to engine upgrade, or the upgrade will fail. (This package is an optional install, so you only need to remove it if you’ve manually installed it.)
  • BZ 1421204 Allow TLSv1.2 during protocol negotiation for external provider communication
    Previous versions of Red Hat Virtualization were able to negotiate encryption protocol up to TLSv1 for external provider communication. This update adds the the ability to negotiate encryption protocol up to TLSv1.2.

    Note: The exact version used for communication depends on highest version available on the external provider target.

VDSM

  • BZ 1022961 Gluster: running a VM from a gluster domain should use gluster URI instead of a fuse mount
  • BZ 1444992 [RFE] Provide hook for vGPU
    This update adds a new VDSM hook called vdsm-hook-vfio-mdev that makes the host capable of working with mdev capable devices such as GPUs. The hook is automatically installed. The following prerequisites apply for a virtual machine to use a mdev instance:
    1) The host must have a kernel that supports mediated device, have the device and the correct drivers.
    2) The predefined property, ‘mdev_type’, must be set and correspond to one of the mdev types supported by the device.
    3) The virtual machine must be pinned to the host(s) with the device(s).

    The supported mdev_type values can be determined by checking the host on which the device is present (not visible in the engine) by querying vdsm (vdsm-client Host hostdevListByCaps) or running the following bash script:

    for device in /sys/class/mdev_bus/; do
    for mdev_type in $device/mdev_supported_types/
    ; do
    MDEV_TYPE=$(basename $mdev_type)
    DESCRIPTION=$(cat $mdev_type/description)
    echo “mdev_type: $MDEV_TYPE — description: $DESCRIPTION”;
    done;
    done
    sort uniq
  • BZ 1450646 [downstream clone - 4.1.3] “libvirt chain” message is not displayed in the vdsm logs by default during a live merge
    This update makes it easier to debug a disk snapshot’s live deletion failures because the initial state of the volume chain is logged.

oVirt Hosted Engine Setup

  • BZ 1439281 Upgrading procedures hardcodes admin@internal
    The self-hosted engine Manager virtual machine upgrade procedure from Red Hat Enterprise Virtualization 3.6 on Red Hat Enterprise Linux 6 to Red Hat Virtualization 4.0 on Red Hat Enterprise Linux 7 now always tries to connect to the Manager API as admin@internal, making it more flexible.
  • BZ 1426898 [Metrics Store] Include fluent-plugin-viaq_data_model in base node image
  • BZ 1426897 [Metrics Store] add fluent-plugin-collectd-nest to ovirt-hosted-engine-setup dependencies

imgbased

oVirt Log collector

  • BZ 1455771 [downstream clone - 4.1.3] [RFE] Log collector should collect time diff for all hosts
    When collecting SOS reports from hosts, chrony and systemd SOS plugins can collect information about time synchronization. In addition, a new option –time-only has been added to ovirt-log-collector allowing information about time differences to be gathered from the hosts without gathering full SOS reports, saving a considerable amount of time for the operation.

oVirt Engine Metrics

  • BZ 1429861 [RFE] Pass engine database credentials for postgresql collectd plugin
    With this update, ovirt-engine-metrics can now configure collectd to connect to the Red Hat Virtualization Manager’s postgresql database and get information from it. Previously, making collectd connect to the postgresql database did not work and was disabled by BZ#1436001.
  • BZ 1418659 [RFE] Add fluentd configuration for parsing engine.log
    With this update, engine.log has been added to the logs collection. The records are now parsed and sent to the central metrics store. This allows the administrator to analyse the logs in a more simple and comfortable way. This means that the engine.log records are available for analysis in Kibana.
  • BZ 1434575 [RFE] Update engine and hosts fluentd configurations to use rubygem-fluent-plugin-collectd-nest

oVirt Host Deploy

  • BZ 1426903 [Metrics Store] Install fluent-plugin-collectd-nest with Fluentd

Known Issue

imgbased

  • BZ 1455441 [downstream clone - 4.1.3] HostedEngine setup fails if RHV-H timezone < UTC set during installation
    Previously, the self-hosted engine setup failed if the system clock was set to a time zone that was behind UTC during the installation. This is due to the fact that the Red Hat Virtualization Host generates VDSM certificates at the first boot and if the clock is incorrect, the chronyd or ntpd processes resynchronized the clock. This lead to an invalid certificate if the time zone was behind UTC.

    Now, Red Hat Virtualization Host generates the certificates after the chronyd or ntpd processes, and waits two seconds for the clock to synchronize.

    Note that if the Red Hat Virtualization Host is configured after the installation, or if the NTP server is too slow, the self-hosted engine setup may fail.

No Doc Update

oVirt Engine

  • BZ 1432105 Can’t remove vm pool because of vm deadlock
  • BZ 1450000 Endless error message in events: Failed to create Template [..] or its disks from VM <UNKNOWN>
  • BZ 1452218 “Creation of Template from VM <UNKNOWN> has been completed” when creating an instance type
  • BZ 1441431 Use correct Cluster Level when displaying notice about adding additional HE Host.

VDSM

  • BZ 1435218 [scale] - getAllVmIoTunePolicies hit the performance
  • BZ 1451226 [downstream clone - 4.1.3] Add additional logging of LVM commands in VDSM

Technology Preview

oVirt Engine

  • BZ 1456568 [downstream clone - 4.1.3] [RFE] enable VM portal in downstream (Tech Preview)
    This release introduces a new VM Portal as a Technology Preview. A “VM Portal” link is now available on the Red Hat Virtualization Welcome Page. The VM Portal provides the same functionality that is available in the Basic tab of the current User Portal (now deprecated).

Unclassified

oVirt Release Package

  • BZ 1446167 [downstream clone - 4.1.3] [Test Only] Test Ansible playbook for registration

oVirt Engine Extension AAA LDAP

  • BZ 1440656 [AAA] No validation for user specified base DN unless Login or Search flows are invoked within setup tool

oVirt Engine SDK 4 Python

  • BZ 1450986 [RFE] Could the ovirtsdk4.Error improved ?
  • BZ 1459254 Content-type mix prevent Kerberos authentication
  • BZ 1459220 pycurl.HTTPAUTH_GSSNEGOTIATE moved from pycurl.Curl() to pycurl.CurlMulti() fails
  • BZ 1434830 Implement automatic SSO token renew
  • BZ 1451042 sdk curl debug fails with UnicodeDecodeError: ‘utf8’ codec can’t decode
  • BZ 1440292 Validate API URL to respond with proper error message
  • BZ 1444114 Missing association of writers to type in python SDK4

oVirt Engine

  • BZ 1453163 [ENGINE] Add the ability to create and remove lease while vm is up
    It is now possible to remove or add a VM lease to a VM while the VM is running
  • BZ 1404607 Force updateOVF does not update OVF store when Adding VM/Disk or removing disk (Only removing VM works)
  • BZ 1446640 VM - Cannot run VM. Random Number Generator device is not supported in cluster
  • BZ 1450951 checkboxes and reset button in Host - Kernel tab don’t work properly
  • BZ 1450674 [downstream clone - 4.1.3] RHV-M is not verifying the storage domain free space before running live merge
  • BZ 1446878 Attaching storage domain with lower compatibility version to 4.1 DC fails
  • BZ 1411075 Host name is <UNKNOWN> when VM started in stateless
  • BZ 1431529 Reinstall host remains in Non-operational state if gluster UUID is changed
  • BZ 1414787 Hide tracebacks in engine.log by upgrading non responsive host
  • BZ 1427104 Commit old snapshot ends with ‘Error while executing action Revert to Snapshot: Internal Engine Error’
  • BZ 1454864 Engine should block attempting to reduce a domain that with undetectable metadata device
  • BZ 1436397 Migration failed while Host is in ‘preparing for maintenance’ state - …Destination: <UNKNOWN>
  • BZ 1442697 [Admin Portal] Exception caught when user cancels the deletion on network -> virtual machine sub-tab.
  • BZ 1365237 Upload image doesn’t notice that the disk image was removed, it finalizes the upload and marks it as OK
  • BZ 1416550 Dialog “Select fence proxy preference type to add” in power management will not close when hit cancel
  • BZ 1452984 Engine may block reducing a valid device from block sd if the domain was restored manually
  • BZ 1421417 Disk remains in ‘locked’ state when blocking the connection from host to storage-domain during live storage migration
  • BZ 1460501 Failed to extend block-based storage domain, ExtendSANStorageDomainCommand pass multiple PVs with the same name
  • BZ 1460953 GET request for user’s permissions gives NPE
  • BZ 1458107 Can not change host cluster while approving the “pending approval” host on rhvm4.1
  • BZ 1454843 [engine-backend] VM creation from template reported false negatively in engine.log
  • BZ 1460512 Useless log about removed luns is printed although no luns were removed
  • BZ 1443641 Unregistered external VMs should not be candidates for register once storage domain is being attached
  • BZ 1458568 Can’t create a file domain after navigating to the new block storage domain window when Discard After Delete is checked
  • BZ 1459484 Lost Connection After Host Deploy when 4.1.3 Host Added to 4.1.2 Engine
  • BZ 1444120 After upgrade DC&cluster + Engine restart Reconstruct Master Domain for Data Center fails
  • BZ 1448882 UI | there are alignment issues when creating a template from vm with more than 3 disks
  • BZ 1421771 Affinity enforcement tries to balance HE VM
  • BZ 1429912 Random number generator source of pool VM is disabled in webadmin although RNG source is actually enabled on the VM.
  • BZ 1448511 event.id type is inconsistent
  • BZ 1455262 Use PostgreSQL JDBC drivers 9.2 on Fedora until regression found on newer versions is fixed
  • BZ 1458013 [downstream clone - 4.1.3] RHV-M portal shows incorrect inherited permission for users
  • BZ 1440440 English review of SSO messages that are surfaced to the login screen
  • BZ 1455469 Live storage migration tasks polling should start right away
  • BZ 1112120 [RFE] JSON RPC broker should pass correlation id to VDSM
  • BZ 1440861 Don’t fail with 404 if session user doesn’t exist in the database
  • BZ 1421715 [UI] Add Confirm ‘Host has been Rebooted’ button under ‘Hosts’ main tab
  • BZ 1439692 Unable to determine the correct call signature for deleteluns
  • BZ 1448905 Amend is allowed when VM is up
  • BZ 1445297 [RFE] make db upgrade scripts update vds_type of ‘Red Hat Virtualization Host X.Y (elX.Y)’ to correct value during update
  • BZ 1451246 changing storage type with Discard After Delete causes UI error
  • BZ 1434937 User <UNKNOWN> got disconnected from VM test3.
  • BZ 1433445 Skipped host update check due to unsupported host status is not logged in audit_log
  • BZ 1448832 API | read_only attribute is being ignored when attaching a disk to VM via API
  • BZ 1422099 VM lease selection in webadmin is enabled when it shouldn’t
  • BZ 1440176 A template created from a HA VM with leases doesn’t keep the lease config (only HA config)
  • BZ 1445348 Storage domain should have sub tab showing the VM leases residing on it
  • BZ 1403847 [UI] - Separate lines are missing for the column headers in some dialogs
  • BZ 1434605 SSO token used for the API expires when running only queries

VDSM

  • BZ 1430358 Restarting the SPM vdsm process during a cold merge, after cannot preview other snapshots
  • BZ 1444426 [RHEL 7.4] vdsm fail to start - libvirt 3.2 changes md5 to gssapi in libvirt.conf for sasl
    undefined
  • BZ 1443654 VDSM: too many tasks error (after network outage)
  • BZ 1386830 When creating a storage domain fails due to ClusterLockInitError, it is ignored and action completes
  • BZ 1424810 Failed to update custom bond mode by name with KeyError
  • BZ 1454696 vdsm-client uses unsecure instead of insecure
  • BZ 1447454 getVdsHardwareInfo fails with IndexError
  • BZ 1112120 [RFE] JSON RPC broker should pass correlation id to VDSM
  • BZ 1433734 Strange statsd nic metrics
  • BZ 1450989 Vdsm client is not aware when connection is stale
  • BZ 1443147 Cold Merge: Improve reduce when merging internal volumes

VDSM JSON-RPC Java

  • BZ 1459484 Lost Connection After Host Deploy when 4.1.3 Host Added to 4.1.2 Engine
  • BZ 1112120 [RFE] JSON RPC broker should pass correlation id to VDSM

oVirt Provider OVN

  • BZ 1424782 Supply firewalld service configuration file

oVirt Hosted Engine Setup

  • BZ 1467733 hosted-engine-setup fails installing with static networking configuration for the engine VM

oVirt Hosted Engine HA

  • BZ 1448699 Migration of the HE VM via engine will drop destination host to the status ‘EngineUnexpectedlyDown’.

imgbased

  • BZ 1457670 Boot entry and layer are wrong after upgrade to rhvh-4.1-0.20170531.0

oVirt Log collector

  • BZ 1447790 Collect /var/log/messages (or journal output) from Engine as well

oVirt Engine SDK 4 Ruby

  • BZ 1443420 [RFE] Add a mechanism to check the HTTP result code of errors
  • BZ 1434831 Implement automatic SSO token renew

oVirt Engine Metrics

  • BZ 1458735 Logs in engine.log that contain javastacktrace break log parsing
  • BZ 1419858 Provide ovirt_env_name and engine_fqdn to be used in the fluentd.conf on the hosts and engine machines
  • BZ 1459425 engine.log timestamp must be in iso8601 or the record is not saved in the central metrics store
  • BZ 1459015 When keep_time_key is missing in in_tail fluentd plugin the records are sent with no timestamp
  • BZ 1458682 If config.yml is missing , the Ansible script finishes with no error message that indicates an issue
  • BZ 1434315 [RFE] Update engine and hosts fluentd configurations to use fluent-plugin-viaq_data_model
  • BZ 1456238 [RFE] Add ipv4 and ipv6 to metrics and logs records

oVirt Cockpit Plugin

  • BZ 1452121 Update generated gdeploy config file to add ‘qemu’ user to ‘gluster’ group
  • BZ 1456155 disable-multipath.sh script section should be moved before creation of bricks in the conf file.

Bug fixes

oVirt Setup Lib

  • BZ 1452243 Interface matching regular expression ignores interfaces with a ‘-‘ in the name

oVirt Engine

  • BZ 1463597 [downstream clone - 4.1.3] Issues with automating the configuration of VMs (cloud-init)
  • BZ 1455667 Increase SSHInactivityTimeoutSeconds​ for Upgrade host action
  • BZ 1443078 USB legacy VM originating in 3.5 env fails to start - Attempted double use of PCI slot 0000:00:01.0 (may need “multifunction=’on’” for device on function 0)
  • BZ 1446055 [downstream clone - 4.1.3] HA VMs running in two hosts at a time after restoring backup of RHV-M
  • BZ 1453010 The template created from vm snapshot contains no vm disk
  • BZ 1452182 engine-backup restores pki packaged files
  • BZ 1444611 Start VM failed with the exception, if the score module does not respond before the timeout
  • BZ 1456432 New uploaded QCOW2v3 Glance images will fail to be downloaded from Glance
  • BZ 1449289 RESTAPI - Amend (update VM disk attachment disk qcow2_v3 field) to raw disk is allowed
  • BZ 1435579 Failed to restart VM vm2-test-w2k12r2-1 on Host <UNKNOWN>

VDSM

  • BZ 1438850 LiveMerge fails with libvirtError: Block copy still active. Disk not ready for pivot

oVirt Hosted Engine Setup

  • BZ 1464866 [downstream clone - 4.1.3] hosted-engine –upgrade-appliance reports unsupported upgrade path
  • BZ 1458655 [downstream clone - 4.1.3] ovirt-hosted-engine-setup installs an older HE appliance and then upgrade to latest HE image (currently RHV-4.1)
  • BZ 1458654 [downstream clone - 4.1.3] ovirt-hosted-engine-setup has leftover mounts

oVirt Scheduler Proxy

  • BZ 1444611 Start VM failed with the exception, if the score module does not respond before the timeout