Exploring openSUSE's automated testing tool for ISO images

Ecosystem

openQA is not only a web service. You also can install the service on your own server (see below), but you'll still need ISO images. With SUSE, ISOs are generated automatically as well – by several infrastructure projects that have become very important for the green distributor.

openQA was born out of the need for a standardized, automated testing tool. SUSE and the SUSE community have built a complete ecosystem around openQA and its automated services. However, openQA is only one of several tools in a toolchain that enables the developer to produce new versions at a fast pace. All of these tools were built to fulfill internal needs, and all were eventually opened to the public.

Another important tool is the former openSUSE Build Service, which is now called the Open Build Service OBS [5] (Figure 7). This cluster of some hundreds of cores helps developers produce packages for a variety of distributions. The Open Build Service, which is separated from SUSE's own internal build farm, keeps four to eight hundred cores working constantly building packages for the Linux and open source community.

Figure 7: The Open Build Service (OBS) builds binary packages for a variety of distributions.

None of these tools is limited to SUSE. You can have the OBS compile your software for almost all platforms, versions, and brands of Linux – and even other operating systems. You don't need to keep your own build system ready – OBS does the building for you. According to SUSE, "the Open Build Service is an open and complete distribution development platform designed to encourage developers to compile packages for multiple Linux distributions, including SuSE, openSUSE, Red Hat, Mandriva, Ubuntu, Fedora, and Debian."

So, if you have a tarball of your software, get an OBS account, upload it, and check the target systems you want to compile your software for. Some minutes or hours later, you can download the packages.

SUSE Studio

A distribution is basically just a collection of (usually) binary software packages. Thus, if you take some of the RPMs created by you or others in the Open Build Service, stack them together, add some magic configuration tools or a setup wizard, and pack them into one bootable ISO file (or a virtual machine image), you have created your own distribution (or, nowadays more relevant: a cloud image).

If you are a distributor, you will perform these steps very often, and you'll need a tool to automate the process. Enter SUSE Studio [6] (Figure 8), which has been publicly available for a few years now. You can use SUSE Studio to upload and download your favorite Linux ISO images – including all the changes you made or want, maybe even with the fancy beta version of that totally unstable great server. Fans of ownCloud, KDE, or Gnome, for example, regularly create ISO, KVM, Virtual Box, and VMware images within SUSE Studio – there is probably no simpler way of testing new software than the SUSE Studio. In its web interface, users can click together the distribution and software they want to try: Just choose between openSUSE or SLES or select a cloud image such as jeOS, minimal server, or the Gnome or KDE desktops.

Figure 8: SUSE Studio builds ISO, KVM, VMware, and other images provided by the community and offers them for download.

Both Studio and the Build Service grew more important as SUSE introduced its rolling Release Tumbleweed [7] and re-interpreted the role of its Factory development repository [8]. Late in 2014, SUSE decided to unite the development tree with the rolling release, a decision that has several consequences:

  • Tumbleweed is the developer's test bed now.
  • Several new versions of openSUSE are available per day, all coming from the workflow described in this article (OBS, Studio). The new versions pop up as ISO image in folders within openQA.
  • These daily snapshots are automatically tested by openQA.
  • The importance of "releases" in openSUSE is decreasing. Insiders report that already SUSE 13.2 was "only a snapshot of Tumbleweed."
  • Insiders have called Tumbleweed – the formerly infamous, unstable, rolling release the "best," mostly because it is the most intensively tested SUSE distribution.

It seems a logical step for SUSE to publish the sources of its enterprise product, the SUSE Linux Enterprise Server SLES [9] within this openSUSE toolchain. Stephan "coolo" Kulow, openSUSE's Release Manager, announced that SUSE will put the source code for SUSE Linux Enterprise Server into the Open Build Service. The enterprise section seems to have recognized the quality of the tools that the free SUSE community has developed and is eager to benefit.

DIY

The whole ecosystem around openQA is web-based. You can use openQA, OBS, and SUSE Studio as Internet services, or you can install them on premise, on your own server. The tools are all open source software [10].

The installation procedure is a little rough but very well documented [11]. Going through the process once might help those who seek deeper understanding of openQA. The following two paragraphs will give you a brief overview; refer to the installation guide for more information.

The best start is to install Tumbleweed or openSUSE 13.2 (the most recent one) and upgrade to Tumbleweed by exchanging the repositories. Zypper is the SUSE package manager, similar to Apt on Debian or Yum on Red Hat. Move your old /etc/zypp/repos.d to a safe place and run zypper ar four times to add the Tumbleweed oss, non-oss, debug, and update repositories (Listing 4). Once the repos are ready, update your system with:

Listing 4

Adding Tumbleweed Repos

 

zypper dup

After you upgrade, a zypper in openqa will install the software itself.

Now comes the tricky part – which is not very well documented in the installation guide, and which will vary depending on your settings and choice of web server software: You must configure the web server for SSL, and it must be reachable from the Internet (open your firewall!), because openQA authenticates with OpenID.

Next, you can install the openQA workers (which will perform the tests, run KVM images, and more), fetch the needles for the standard tests with Fetchneedles, and you are ready to go. Next, you can import an ISO image – a simple task which, at the time of writing this article, did not work. Asking the developers resulted in "That's already fixed in the git version," so this process might work by the time you read this article. After you register your first ISO, you can run your first worker, configure or adapt your tests, and admire your first openQA video showing a Linux VM booting.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News