The annual openSUSE Conference is always an exciting event for the SUSE Linux community. This year the event took place in Prague from the 25th to the 27th of May. It’s FOSS was the official media partner of the event and I attended the event on behalf of the It’s FOSS team.
The conference started with the official launch of openSUSE Leap 15, the latest stable release of the professional-grade Linux distribution. If you are not familiar with the SUSE ecosystem, openSUSE is the free version of the SUSE Linux Enterprise commercial product.
At the conference, Richard Brown, the openSUSE Chairman, repeated that, as of today, the stable releases of OpenSUSE and SUSE Linux Enterprise share the same code base inherited from Tumbleweed — the rolling release of openSUSE. All new code should pass first into Tumbleweed before making its way into either the free and commercial stable distributions of SUSE. As a corollary, SUSE Linux Enterprise does not contain “hidden code” or “closed source blobs” that shouldn’t be available in the free version of the software.
In the continuity to the Leap 15 release, Richard Brown also explained the governance of the project. Or actually, the lack of it, since he did not miss any occasion to quote his favorite statement “those who do, decide.” It was also said several times the project, and the community is welcoming for new contributors, whether you come to fix a small bug or for bigger things.
During the afternoon, I attended to several talks related to containers and cloud-native applications. In his talk, Jason S. Evans described how using Docker containers you can create a Tor .onion site is less than 15 minutes.
It appears to be a very hot topic for SUSE Linux Enterprise. And a couple of projects are developed under the umbrella of openSUSE in that area. Notably, Kubic which is still a little bit nebulous to me. From the talk I understood it sits on top of Kubernates in the “cloud stack,” but it also seems to be a catch-all name for other some side projects like MicroOS–which is a Tumbleweed-based OS for microservices and Velum a dashboard to manage your container clusters.
However, what would be a microservice without shared storage? If you use NFS on a NAS you are out: the new cool kid on the block is Ceph, a solution to build distributed storage clusters that can be used as well as an object store, as block storage, or as a shared file system when using CephFS on top of it.
The morning of the second conference day, I followed a couple of workshops. Not only I find more interesting to do things rather than merely listening to talks, but since workshop are interactive and designed for small groups, it is usually much easier to exchange with the presenters than in the main rooms. And it was the case when following the great workshop by Wolfgang “bigironman” and Frank “M0ses”: “Building Containers and VM using OBS”.
The presentation started with some gentle introduction to Containers and VM. That discussion led us to the core of the workshop: OBS, the Open Build System.
OBS is used to create reproducible build images and can package applications in Docker containers (natively build, or through Kiwi) or as AppImage. OBS supports template images and can be used through a web-based GUI or with the `osc` command line tool (I tested it from a container running OpenSUSE Leap 15 on my Elementary OS laptop). The nice thing about OBS is, not only you can create images for various architectures, but also, your images are added to a repository where other people can download them if you build them with the publish flag.
On a completely different topic, during the second workshop of the day, a handful of us was initiated to the arcane tools used by the video team to record and diffuse the conference talks on YouTube or through the channel of the Chaos Computer Club. A key component of the system is Voctomix, a full-HD video mixer written in Python. Ironically, Voctomix is developed mostly on Debian for historical reasons.
The discussion was so interesting that I completely missed the lunch. Then, I attended the next event: “How to Add Stuff to MySQL.” I would have expected this to be a workshop, but it was, in fact, a talk reminding us the basic way to extend MySQL through user-defined functions or plugins. And introducing the “new way” of doing invented at Oracle: the “component API.” For what I understood, it promises to make extensions to MySQL much more modular. If you’re interested in the topic, I can only refer you to the corresponding documentation.
The very first talk of the third day morning was about OBS, the “Open Build System” I already mentioned above.
Ralf Lang gave us a great talk where he started by explaining why developers should use Docker images to set up their development environment: by downloading lightweight images, you can have a working environment in a matter of seconds. This is what I tried to explain myself in a video where I show how you can have an Oracle RDBMS Instance running in a container in a matter of second so you can start database development on your computer without wasting your time doing a manual installation.
Ralf also explained how, using bind mounts, you can “import” your working directory onto the container. Once again something I showed in a video (leaving, I must admit, to the viewer as an exercise how to bind mount his working directory)
The great advantage of such solution is you can recreate or update the tools by replacing the container, and thanks to the bind mount this will not affect at all your data, source code and so on as long as they are confined in the “shared” directory. But the image upgrade process remains at your charge. And this is where OBS enters into the game: you have now a solution to rebuild your images automatically when a dependency change. The guarantee to always have the latest version of your tools nicely bundled and ready to be downloaded by a simple “docker pull” command. The OBS discussion continued after that in a different room. Unfortunately, I wasn’t able to follow that second part since I didn’t want to miss the “embedded track” talks that were taking place at the same time.
Speaking of embedded systems, in his first presentation, Andreas Färber made us a tour of the embedded platforms supported by openSUSE for cross-compilation and the state of the various ARM processor support.
I talked about “cross-compilation” above since openSUSE is not necessarily running on all those platforms. However, you can develop software (“firmware”) running bare metal on those architectures from your openSUSE development computer.
If you want an exhaustive list of newly supported architecture, I encourage you to watch the entire video:
Among newly supported microcontrollers, they were obviously the “new” ARMv7-R and -M. Obviously, I said, not only because of the popularity of the ARM platform but also since ARM is a partner/sponsor of openSUSE something that certainly helps to have the necessary information to support those chips.
Most interesting, Andreas also reminded not only we have now a port of openSUSE for the RISC-V architecture, but we also have a cross-compiler toolchain that can be used to develop firmware for RISC-V based microcontroller boards. Which, as he reminded it to me during the talk, are much less expensive boards that those able to run a full-fledged Linux system.
The second half of the morning, Andreas focussed exclusively on the ARM architecture. Explaining the new challenge introduced not only because of the market maturation but also because of the new threats the Spectre and Meltdown vulnerabilities have put under the light this year. Specifically, came the concern that keeping your operating system up to date is no longer sufficient. To efficiently mitigate those new vulnerabilities you also have to update the microcode for your CPU. Following that, Andreas made a tour of the current port state of openSUSE for some popular boards, like the Raspberry Pi Zero W, the Pine64, the MacchiatoBin or the Rock 64 to just name of few of them. I encourage you to watch the entire talk for the details of about these boards and about many others.
That was how my journey at openSUSE conference oSC18 finally ended. I missed the last half day since I had to get back to France. However, before concluding that article, I would like to take the time to congratulate all the speakers and the whole openSUSE team, not only for the great conference we had but also for their dedication and the fantastic job they do all along the year. Being myself a “Debian guy,” I didn’t know the openSUSE community very well. And I was just amazed by what I saw. Thank you all!