LWN.net Logo

Time for openSUSE to go all-in with systemd?

By Jonathan Corbet
December 21, 2011
Systemd was designed to bring better performance, better control, and easier configurability to the system initialization and service control task. According to many, it has succeeded in those goals. It also tends to bring a certain amount of unhappiness to those who see no driving reason to make fundamental changes to a key part of the system - especially if those changes sometimes break things. OpenSUSE is not the first distribution to transition to systemd, but its experience in some ways mirrors that of those who came before. Now the distribution is considering plans to move exclusively to systemd, leaving the old SYSV init system behind entirely. Needless to say, not everybody is amused.

The current openSUSE release - 12.1, was the first to feature systemd, but it continues to support the SYSV init system as well. For better or for worse, though, the distribution developers made the decision that old systems, when upgraded to 12.1, would be transitioned to systemd automatically. That is where the trouble starts; there are, it would seem, a lot of things that do not yet work all that well with systemd. That has led to the automatic switch being added to the 12.1 most annoying bugs list, along with instructions on how to switch back to SYSV init.

When Fedora made this transition, the Fedora 14 release was initially targeted as the first systemd-based release, but Fedora eventually decided to wait one more cycle to allow things to stabilize. That decision seems to have worked out reasonably well, even though Fedora users, arguably, are used to disruptive changes and could have handled it. In retrospect, perhaps openSUSE should have done the same thing and given systemd another release cycle to settle in. Or, failing that, they could have held off on the automatic switch to systemd, leaving it as an "opt-in" choice for their more adventurous users. But, as they say, hindsight is always 20-20.

The end result is that, when Cristian Rodríguez posted a proposal to phase out SYSV init entirely in favor of systemd, he was not rewarded with universal acclaim. There was some substantial grumbling about the perceived instability of systemd-based installations and the desire to push users toward technology that is not yet ready for prime time. For example:

This would mean forcing systemd on users whether they want it or not, whether it gives them something or not, even whether it works for them or not. Please don't do it. Please show first that systemd can work reliably and that it can give the users (admins) something that the old solution didn't. This is the way to persuade people that the new solution is better than the old one, not forcing it on them and not giving them a choice.

The openSUSE developers seem to agree, at this point, that the transition was a bit premature and that it has caused some unneeded pain for users; some apologies have been seen on the list. But that still leaves them with the problem of figuring out where to go from here. One option would be to back out systemd entirely, write it off as a bad idea, and recommit to SYSV init (or switch to upstart). There does not appear to be any sign that this option is under consideration; for better or for worse, systemd appears to be seen as the future for openSUSE.

Given that, there is no alternative to making systemd work better. Cristian proposed a three-phase plan to so do. The first step would be to address all known bugs in systemd itself, which makes sense: until the foundation is stable, it is hard to build stable structures on top of it. The second phase involves getting rid of purely hardware-related init scripts and adding systemd unit files to packages that need them. The final stage includes the removal of SYSV init and something called "profit". By all appearances, it is a straightforward plan to further the transition to systemd.

Nobody disagrees with the idea of making systemd work better. But there was some real discomfort with a perceived haste to eliminate SYSV init. Once the old init system is gone, there will be no alternative to running systemd, like it or not, and it appears that some users do not like it.

That puts openSUSE into a bit of a bind. There is a real cost to keeping SYSV init around and functioning; it is a complex and crucial system component that is easily broken if the distribution developers are not running it regularly. Maintaining both systems will also reduce the number of users and testers for systemd, with the result that bugs will take longer to find and to fix. The desire to keep a tried-and-true alternative around is understandable, but, at some point, the costs of doing so are likely to be to high.

That said, there is no talk of removing SYSV init for the 12.2 release, and possibly for some time thereafter. Systemd, along with all the services that interact with it, needs to be brought up to a higher level of stability first. That should be enough work to keep the openSUSE developers busy for a little while yet. Experience suggests that systemd-based openSUSE should stabilize quickly enough, and soon this transition will just be a memory. The road to that place may yet have a rough spot or two, though.


(Log in to post comments)

Time for openSUSE to go all-in with systemd?

Posted Dec 22, 2011 2:49 UTC (Thu) by Baylink (subscriber, #755) [Link]

So, what, not naming it 12.0 /didn't/ keep it from having stupid blocker release configuration bugs?

I'm shocked; shocked, I tell--yes; put the money over here--shocked, I say.

Time for openSUSE to go all-in with systemd?

Posted Dec 22, 2011 5:57 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

> The final stage includes the removal of SYSV init and something called "profit".

is this the editor's typical humor referring to the .com business plan? or is this the humor of the openSUSE developers?

Time for openSUSE to go all-in with systemd?

Posted Dec 22, 2011 11:49 UTC (Thu) by sce (subscriber, #65433) [Link]

1. Address all bugs in systemd itself.
2. Clean up SYSV init scripts and add support for systemd where needed.
3. Remove SYSV init.
4. ???
5. Profit!

Long version: https://lwn.net/Articles/473018/

I'm not sure where this "meme"/joke originated, but I've seen it used in pop culture (e.g. South park episode).

Time for openSUSE to go all-in with systemd?

Posted Dec 22, 2011 11:52 UTC (Thu) by sce (subscriber, #65433) [Link]

Heh, just a quick search away: http://knowyourmeme.com/memes/profit

Time for openSUSE to go all-in with systemd?

Posted Dec 23, 2011 0:33 UTC (Fri) by ballombe (subscriber, #9523) [Link]

Systemd mostly solves problems that only ever existed on Fedora. So once it is ported to other systems, it is much less impressive.

Time for openSUSE to go all-in with systemd?

Posted Dec 23, 2011 4:58 UTC (Fri) by Cyberax (✭ supporter ✭, #52523) [Link]

Uhm?

Inability to reliably kill daemons only existed in Fedora?

That's definitely something new.

Time for openSUSE to go all-in with systemd?

Posted Dec 25, 2011 19:38 UTC (Sun) by alecs1 (guest, #46699) [Link]

Well, I'm on Debian, and after one month without reboot I booted by mistake with Systemd, it was the first time it worked and I noticed the sensibly faster start-up. I also expect the improved control over daemons to be a plus, although I don't remember having problems lately on this laptop.

I actually trust Systemd will get accepted much easier and with fewer problems than the PulseAudio thing, which I don't know what problems solves* but introduced a never-ending stream of bugs over the years, and only got to work correctly for me in the last 6 months.

*it actually made it easy to set-up some USB sound devices, and I also noticed the per-stream volume levels, but I don't care that much about these features.

Time for openSUSE to go all-in with systemd?

Posted Jan 2, 2012 11:38 UTC (Mon) by jezuch (subscriber, #52988) [Link]

I tried to boot with systemd on my Debian box but it failed (to mount the /dev filesystem). I guess that was because I boot a self-built kernel without initrd. Oh well, maybe another time :)

[And it was only *after* it failed to boot that I noticed I don't have a rescue CD lying around. I think it tells something about my faith in Debian Developers ;)]

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds