oVirt Blog

oVirt Engine 4.0 Installation Issues on Fedora 24

This blog post relates to oVirt Engine release 4.0 installation on Fedora 24 and probably is relevant for earlier oVirt releases. Having Fedora 24 (Twenty Four) installed on my new laptop (while it was still in beta phase, but this is still relevant for GA), I ran an oVirt installation and encountered the following error message:

ovirt-engine[5566] ERROR run:532 Error: Unable to change process owner ([Errno 1] Operation not permitted)

This is an outcome of permission problems with python-daemon 2.1.0, which is the default package in the Fedora 24 release.

To overcome this issue, I had to downgrade the python-daemon version to 2.0.6 (e.g., sudo pip install python-daemon==2.0.6, a reference to similar general issue can be found here: https://groups.google.com/forum/#!topic/pywws/I0c_RW4DRzg)

Any further issues related to oVirt installation and Fedora 24 will be added to this blog post.

View article »

Subclusters in oVirt 4.0 - Label-Based VM to Host Affinity

Before I start discussing the feature itself I have to explain a bit about the use cases that we were trying to solve.

  • Let us imagine you have a special piece of software with a node-licensing model that only cares about physical machines when counting the number of licenses needed. This specifically allows you to run that software in virtual machines, but you need to control the physical host on which the VMs are running.

  • The other case is basically related to hardware capabilities. Some NICs might be faster than others and you want to place all high traffic VMs on hosts that have them. Or a special custom device is needed and VMs that need it won’t run on a host that does not have it.

Read More »

Announcing the oVirt Engine DR Sub-project

The oVirt Project is pleased to announce a new sub-project within the oVirt community: oVirt Engine DR, which uses the oVirt API and perform tasks that would normally require manual intervention, in case of the need for Disaster Recovery.

Specifically, the oVirt Engine DR is a web application that uses Java, the oVirt API, PostgreSQL, and MariaDB to perform the tasks needed in a Disaster Recovery scenario.

Read More »

Dependency Injection and Mockito

Recently I encountered a small issue in a static helper class that was full of static helper methods. After I finished dealing with the issue at hand and as part of following the Boy Scout rule (always leave the campground cleaner than you found it) I decided to refactor the class and the code using it.

More specifically to remove all the static modifiers and to inject this class whenever it was needed. The refactoring was easy enough but things got a bit more interesting once I got to a class that was using one of the static helper methods.

The class had a wrapper method that called the static method and did nothing more.

Read More »

Application-Scoped Tests for oVirt with Arquillian

oVirt's heart, ovirt-engine, is a monolith with more than one million lines of codes based on Wildfly. One of the problems faced when working on such big projects is that sometimes writing tests is extremely complex. You spend a tremendous amount of time mocking database access and irrelevant services for the unit under test.

One way to deal with that complexity is to treat the database as part of the application. While we will see the advantages of this for writing tests it does also make a lot of sense for other reasons.

In the past the database was not part of the application, it was the opposite. The database was the integration point of different applications and services. A database was full of different views for BI, Finance, Shops, and many more. This has changed over time. Nowadays the integration mostly happens through REST or similar APIs, giving applications the freedom to choose the one (or even more than one) database technology suiting their domain.

Read More »

oVirt 4.0 is Released!

On behalf of the oVirt community, I am pleased to announce a major new release today, oVirt 4.0. This latest community release, now ready for download, has several new features, including a brand-new dashboard management and monitoring system; enhanced container support; faster live migration speeds; and a new direct-for-disk image uploader.

As the upstream development project for Red Hat Enterprise Virtualization, oVirt’s integrated virtualization enables cost savings for enterprises without the need to re-develop applications to conform to cloud platforms' APIs. oVirt also shares services with Red Hat’s cloud solutions including RDO, Red Hat's community OpenStack distribution, as well as stronger container support that integrates tools from Project Atomic, Red Hat's robust container management tool set.

Read More »

Modifying oVirt-Generated ifcfg Files

oVirt is using a bridge based setup to configure networks on the managed hosts. The setup process is done by generating and maintaining network interface configuration files (ifcfg file), which define the network devices used by oVirt. Should any changes be done to these files by an outside party, oVirt will try to restore them to the desired state, to keep the network configuration intact. There are however situations in which the user want to intentionally introduce permanent changes into some of these files, and prohibit oVirt from overwritting them. In order to do so, VDSM hook script can be used.

Lets look at an example, where the user want to add the following entries to the 'ens11' network interface:

USERCTL=yes
ETHTOOL_OPTS="autoneg on speed 1000 duplex full"

Read More »

Advanced Users Authentication, Using Kerberos, CAS SSO and Active Directory

I have a environment where hard coded password are avoided. We prefer to use Kerberos. We also provided a SSO for Web UI using CAS. We use ActiveDirectory for users backend.

So I wanted a oVirt installation that will use kerberos for API authentication. For the web UI, Kerberos is not always the best solution, so I wanted to integrated it in our CAS.

Read More »

Up and Running with oVirt 3.6 and Gluster Storage

In November, version 3.6 of oVirt, the open source virtualization management system, hit FTP mirrors featuring a whole slate of fixes and enhancements, including support for storing oVirt's self hosted management engine on a Gluster volume.

This expanded Gluster support, along with the new "arbiter volume" feature added in Gluster 3.7, has allowed me to simplify (somewhat) the converged oVirt+Gluster installation that's powered my test lab for the past few years.

Read on to learn about my favored way of running oVirt, using a trio of servers to provide for the system's virtualization and storage needs, in a configuration that allows you to take one of the three hosts down at a time without disrupting your running VMs.

Read More »