Closing the Leap Gap
Tim Irnich, Developer Community Architect at SUSE, coauthored this post.
Today the openSUSE project announced the start of the public beta phase for openSUSE Leap 15.3. This release is an important milestone for openSUSE and SUSE, our users and customers: Leap 15.3 is the first release where openSUSE Leap and SUSE Linux Enterprise share the same source code and use the exact same binary packages. Let’s have a look at the following picture to examine what this means in detail.
In most cases, software packages in openSUSE or SUSE Linux Enterprise distributions originate from the openSUSE Factory Project. They are used to produce various distributions such as Tumbleweed, Leap, Kubic – to name a few. Factory is constantly updated with the flow of changes released by the various upstream open source projects. Leap is openSUSE’s stable release series. It feeds from the Factory “code stream” via two different paths. On the one hand, a subset of Factory is the source SUSE uses to create the SUSE Linux Enterprise products. From Leap 15.3 onwards, SUSE also (in addition to the sources) contributes the SUSE Linux Enterprise (SLE) binary packages back to the openSUSE community, where they form the base of openSUSE Leap. The openSUSE community continues to build the other Leap packages, now called “Backports,” from the latest Factory sources. The combination of the SLE binaries, openSUSE Backports, and a thin layer of branding and configuration will make up openSUSE Leap 15.3 and its successors. The openSUSE Backports also populate SUSE Package Hub, which offers SUSE’s customers the same choice of thousands of community-supported packages on top of the baseline SLE product and SUSE’s enterprise-grade support.
We won’t go into details on how this works under the hood in this post. If that’s what you’re looking for, see our blog series on How SUSE Builds its Enterprise Linux Distribution. Today, we will focus on what this change means for you as an end user. In a nutshell, while portability (i.e. the ability to run software built for openSUSE Leap on SLE or vice versa) between SLE and Leap was previously very likely, it is now almost guaranteed. You can migrate from openSUSE Leap to SUSE Linux Enterprise without having to reinstall anything, and this is a big deal. Let’s take a look at a couple of examples.
Why Should I Bother?
Imagine you’re building software to run on SUSE Linux Enterprise. You need to test this as well as you can. You will most likely apply a tiered approach in your test pipeline. Early on, one key question is: does my software build, install, and function properly on my target platform? Testing this in an automated way requires you to spin up a new (probably virtual) machine, install the target OS, build and deploy your software and test it. It is essential to minimize the time all that takes since the number of test iterations per day is the ultimate limit to your feature velocity. Doing this with SLE requires you to register the newly installed OS at every iteration, which is a bit tricky to automate and, more importantly, takes quite some time to complete. Wouldn’t it be great if there was a way to skip the registration step while getting equally meaningful test results? With 15.3, you can simply use openSUSE Leap as an equivalent replacement for SLE 15 SP3 in this stage of your test pipeline. It also removes any limitations on the number of parallel test instances. You can run as many boxes as you like at no cost.
Another example is the typical “cattle” infrastructure developers and engineers depend on to do their work. Quickly spinning up a virtual machine on the developer workstation or in the cloud or building an experimental container has become the bread and butter for all the techies and nerds worldwide. Anything that constrains their ability to do so is a severe limitation to productivity and innovation. This is why free Linux distros are so popular among developers for prototyping and experimentation. However, using one Linux distro for prototyping and another non-compatible one in production sets you up for trouble — you are pushing detection of integration issues to a later time. And we all know that the later a problem is identified, the more costly it is to fix. With Leap 15.3, you get a free Linux distribution that is essentially identical to SUSE’s commercial Enterprise Linux. It’s also available without any constraints as to how many CPUs you can run, how many VMs you can host, how long you can keep things running and other constraints often found with free tiers of enterprise-grade products. Plus, you can migrate your existing server, VM or container over to SUSE Linux Enterprise within minutes if you need to “turn on” enterprise support at a later time.
The bottom line is: openSUSE Leap is a strong alternative for anyone interested in SLE, but for some reason requires a no-cost option or needs to avoid the technical complexity of registration.
What if I Change My Mind?
Yet another benefit of this move is that in-place migration between Leap and SLE is really easy. As a colleague said: “While it was previously comparable to a long coffee, it now resembles an espresso shot.”
The procedure is described in detail here. In a nutshell, the steps are:
- Install the migration tools: sudo zypper in yast2-registration rollback-helper
- Enable the rollback service: sudo systemctl enable rollback
- Register the machine: sudo yast2 registration
- Run the actual migration: sudo yast2 migration
- Reboot the system: sudo reboot
Easy, right? Let us know if the procedure finished before you were back at your keyboard with your freshly brewed espresso.
Also, thanks to the magic of Btrfs and snapper, you can always roll back to your previous system state. Herein, the rollback helper makes sure that your local system’s state is kept in sync with your registered systems in SCC since you might end up with stale registrations otherwise.
Don’t Forget the Power of Many
The combination of enterprise quality and “The Power of Many” in the openSUSE community brings a couple of additional treats.
A community distribution that is binary compatible with an Enterprise Linux distribution offers unmatched choice. openSUSE Leap not only provides the same quality as SLE. It also combines that with the amazing ecosystem of openSUSE, which offers thousands of additional community-maintained software packages. Previously you had to choose between super rock solid (we do need to stress that Leap was, of course, also very solid already) and large choice of software packages, but no more. You can have both at the same time now.
In addition, SUSE and the openSUSE community have created a way to allow code submits against the SLE code base itself. So, if you, as an openSUSE Leap user, run into a problem that’s rooted in one of the packages inherited from SLE, you can influence both openSUSE Leap as well as SUSE Linux Enterprise at the same time. Think of it as openSUSE users as the most important business partner for SLE.
Sound Too Good to be True?
Combining packages built in two different build pipelines into one distribution is by no means easy. At the beginning, the community faced around 150 packages that needed to be forked and rebuilt from source in the openSUSE build service due to various reasons. In a near-heroic effort, until the time of this writing, the community brought this down to 7 packages that are not binary identical. They behave the same way but have a different checksum than their SLE counterparts. We expect to reduce this further over time; you can find the list of SLE packages rebuilt for Leap here.
How and When Can I Get It?
If you want to participate in the public beta, visit https://get.opensuse.org/testing, which will be updated with all relevant information.
If you run into problems with the beta, the best place to turn to is the openSUSE Factory mailing, to which you can subscribe here. And, since bug reports are the point of a public beta, you can file them here. There’s a list of typical beta test procedures in case you need some inspiration on how to check if everything works fine. If you need help filing a bug report, check this page or contact us on the openSUSE Forums.
The official release of Leap 15.3 is planned for June 2021. Mark your calendars — we’ll throw a big party (maybe).