Showing posts with label systemd. Show all posts
Showing posts with label systemd. Show all posts

Tuesday, November 20, 2012

systemd (and dracut) in next openSUSE

Some weeks ago, I had the pleasure to do a talk at the openSUSE conference in Prague, about systemd (its current state in openSUSE and what we plan for the future) and dracut (mkinitrd replacement).

For those of you who didn't attend the conference, you can watch my talk on YouTube (thanks to openSUSE awesome video team for the recording):


And you can even get my slides ;)

Friday, July 1, 2011

Status update on systemd for openSUSE Factory

Hi all,

here is a update on the work done on systemd for Factory :

(beware, post is long !)

Escargot

  • basic support for systemctl in chkconfig and insserv is done : it is pending review by maintainer before integration
  • support for --root in systemctl was merged upstream and will be used by chkconfig/insserv patches above.
  • a patch has been submitted to upstream systemd to parse insserv.conf : this patch only handles the "system facility" part of insserv.conf and automatically adds depencies specified in the file
  • quick investigation on Yast2 to adapt runlevel editor for systemctl support : we really need help from other people, as I don't have any knowledge of Yast internal and it seems the yast dbus client part might be missing some parts, needed for runlevel editor to talk with systemd.
  • no work done on /usr as separate partition : it is not a systemd issue in itself but from other programs which might be using data from /usr before /usr is available. The best solution would be to mount /usr from initrd => help needed !!
  • (open)SUSE is using unofficial LSB target named $ALL which is supposed to put services requiring it at the end of the boot sequence (or at the beginning of shutdown sequence); After discussing with upstream : on a static boot system (sysvinit), it is easy to resolve such dependencies, but it isn't on a dynamic system (systemd). There is a ugly hack to handle that (creating a ALL.target file which is starting after default.target is done) but it would be probably better to just fix the 4 initscripts which are still using $ALL ( amazon-late, stoppreload, Susefirewall2_setup and vboxes). I'll open bug for them.
  • X-Interactive support in systemd is not working properly : it will only work before getty is started and is broken if you try to start a service after boot. We need to transition packages which are still using X-Interactive to systemd-ask-password (which takes care of the async conversation). Only two packages need to be ported :
    • apache2, when querying password for SSL certificate : apache allows to start a script to handle the password request. We only need to plug the script and configuration part in our package
      and get it used when booting with systemd.
    • openvpn : this one is a bit complex because we can either write a daemon which would do the interface between systemd and openvpn management interface or we can try to patch openvpn to have a similar feature as apache and get this patch upstreamed. The latter has the preference of systemd upstream.
    • For both packages, help is welcome.
    • For compability with sysvinit, support for from /etc/insserv.conf in systemd was not added, so we could remove X-Interactive from openvpn/httpd sysvinit scripts but still have the function when booting from /sbin/init, thanks to /etc/insserv.conf list.
  • /etc/init.d/kbd was not handled properly : this should be fixed inFactory today or tomorrow, with systemd taking care of setting up keyboard properly. However, we might need to improve /etc/sysconfig/keyboard parsing in systemd. More tests are needed (and of course, help is welcome).
  • discussion in progress on opensuse-packaging mailing list and upstream on a set of cross distribution RPM macros to handle systemd unit files.
As you can see, we still have some work to do, but we need everybody help : either on the issues I mentioned (feel free to say "I want to help on this" here) or to do more tests or even to start creating .service files (but we still need to fix the issues listed above).

Thanks everybody for your attention.

I would be great if we could get the ball moving and maybe get one of
the next Factory milestone be a "systemd" test release but to reach this
point, we need YOU !

Friday, June 10, 2011

The road to systemd for openSUSE 12.1

Hi all,

img_2326

systemd is coming for next openSUSE (12.1) scheduled next fall.

I'll help for systemd integration in openSUSE Factory and will act as an interface between you (openSUSE testers, packagers, developers) and systemd upstream.

As you might guess, switching boot manager is not a trivial task and issues will be found. So, we want to have as much feedback and testing as possible, to try to tackle as much (if not all) issues in time for 12.1.

Here is our action plan, in several phases:

  • phase 1: detecting current issues with systemd. Install systemd package and "manually" boot with it, by adding "init=/bin/systemd" at you kernel boot command line. In this setup, we want to find ALL the issues caused by switching to systemd, so please, check systemd on Factory status page and follow the instructions there to fill bug reports. We also want to ensure there is no regression, when using legacy sysvinit initscripts with systemd as boot manager.
  • phase 2: systemd-sysvinit package installed by default and replace sysvinit.
  • phase 3: providing systemd unit files to replace legacy sysvinit initscripts: this is a huge task which won't be completed before openSUSE 12.1, but it can be parallelized among a lot of people (ideally, each packager should be able to create unit systemd file). And we should also split this effort in manageable milestones :
    • phase 3.1: GNOME and KDE live CDs should only use "native" systemd, without any sysvinit involved
    • phase 3.2: installed system using GNOME and KDE live CDs be a "native" systemd (this involves testing additional paths in live installer)
    • phase 3.3: install from DVD for GNOME and KDE should be "native" systemd
Of course, providing systemd unit file should not be a pure "openSUSE" task, because the ultimate goal for those files is to be cross-distribution and merged in relevant upstream projects. And we also don't want to duplicate effort which is starting in other distributions like Fedora, so, collaboration is key. I strongly recommend reading systemd for Administrators, Part III post about the conversion (and also all other posts : systemd for Administrators #1, #2, #3, #4, #5, #6, #7,#8 they are highly instructive).

For discussing / helping with systemd integration for Factory, please use opensuse-factory mailing list or go to #opensuse-factory IRC channel on Freenode.

We need your help to make sure openSUSE 12.1 will use systemd at 200% ;)