User: Password:
|
|
Subscribe / Log in / New account

A call for votes in the Debian init system discussion

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 0:07 UTC (Mon) by tzafrir (subscriber, #11501)
In reply to: A call for votes in the Debian init system discussion by johannbg
Parent article: A call for votes in the Debian init system discussion

That is what you believe. However those two are not there. Systemd has been added to the current Debian Stable. It was added as a basically working but with rough edges. The current package works well. Upstart was added even before that and is more mature.

OpenRC should give you an idea of how long it takes to integrate an init system. It's still only in the experimental release, even though efforts to port it to Debian have started even before Wheezy was released.

So, if you think any of those two tools would work: just show us the code. A working Debian package. Please make sure it is ready in time. Jessie is frozen in Nov-5 and there's much integration work to be done before that.


(Log in to post comments)

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 0:31 UTC (Mon) by jspaleta (subscriber, #50639) [Link]

I think its a misnomer to call upstart.. mature. That does a disservice to the concept of maturity. Upstart still misbehaves..badly..even in Ubuntu.
The problems with upstart are not distribution integration issues. The problems with upstart are deep, fundamental problems its design. These problems that have been identified and have gone unaddressed for years.
There are multiple open bug reports against it in launchpad where the active developer stated that a rewrite of Upstart would be needed to fix the bug. A rewrite that has never happened.

This is not maturity as I understand it, stagnation is not maturity.
The code has never reached maturity and is stuck in perpetual adolescence.

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 1:37 UTC (Mon) by nirbheek (subscriber, #54111) [Link]

In the interests of documentation, and to make your own argument stronger, it would be nice to have a list of these bug reports and comments so that uninitiated people like me can follow along. Thanks!

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 6:32 UTC (Mon) by jspaleta (subscriber, #50639) [Link]

As requested:

bug report indicated that conditional event parsing does not work as expected. Upstart lets you build event conditional statements like start on A and B or (C and D) but they do not work. Such constructions are considered valid syntax for job files...but they do not work as one would plainly expect them to.
https://bugs.launchpad.net/upstart/+bug/447654
Scott, as maintainer at the time, comments about "...event operator stuff being utterly broken..."

bug report indicating in embedded scriplets logic result in jobs not restarting when requested to.
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/70...
Scott has a terse comment concerning lack of pre-stop coverage.

A pathelogical pre-stop bug report that Scott filed. This time upstart loses track of a running service entirely! That's a deal-breaker. This is as bad as the expect fork failure situation. Is Debian going to make it a policy to forbid all pre-stop scripts in Upstart job files to paper over this problem as well?
https://bugs.launchpad.net/upstart/+bug/539175
Scott makes a terse comment about needing to re-think the start/stop scripts and the event model.

bug report on event unblocking race condition
https://bugs.launchpad.net/upstart/+bug/516713
Scott, makes a terse comment with a sketch as to a solution to keep the events blocked, but clearly its never integrated.

bug report indicating upstart fails to unmount systems cleanly:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/10...
read more on this specific issue and how systemd handles this from Lennart's G+ account recently.

bug report indicating failure of expect fork.
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/53...
and
https://bugs.launchpad.net/upstart/+bug/406397
Scott, as maintainer at the time, writes in a comments to both bugs about a pending rewrite to fix this. His proposed solution, to remove ptrace and to potentially use cgroups instead. He also speaks out against the introduction of pid file tracking as a fallback mechanism for job files to use as an alternative to expect fork pid tracking mechanism. Expect fork is still broken, upstart still does not allow pid tracking as a fallback.

So lets recap. the event handling is racey. The pre-stop scripts design is broken. The event conditional logic is broken, the start/stop command logic is racy/broken, the expect command is broken. What's left. Oh yeah... upstart's backwards compatibility for existing sysvinit scripts is good enough to rely on. But if you want to rely on anything upstart purports to bring to the table..get ready for dentist visit like fun time.

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 6:46 UTC (Mon) by nirbheek (subscriber, #54111) [Link]

Awesome. Thanks for the detailed list, jspaleta!

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 10:19 UTC (Mon) by misc (subscriber, #73730) [Link]

It is also worth to note that the latest cgroup integration proposal in upstart ( https://lists.ubuntu.com/archives/upstart-devel/2013-Nove... ) explicitely exclude cgroup to track processes.

I have also been pointed on this post, explaining that the portability of sysvinit is not really what people think it to be ( https://teythoon.cryptobitch.de/posts/on-portability-of-i... )

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 11:07 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

Yup. Upstart's motto is: "We do things as differently as possible compared to systemd". Even if it makes new features next to useless - just look at socket activation.

A call for votes in the Debian init system discussion

Posted Jan 28, 2014 8:36 UTC (Tue) by geertj (guest, #4116) [Link]

Thanks! The most factual and therefore convincing argument so far in this discussion.

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 8:10 UTC (Mon) by tzafrir (subscriber, #11501) [Link]

"Mature" here means that I install a package and get the software working. Besides the sore issue of sysvinit being essential, which means that installing upstart is a bit scary. If you want to include an upstart init file, you just use the standard Debian packaging tools, which do the right thing with them (an example of the wrong thing: with the current systemd in Wheezy, there is no simple way to properly enable a service in the postinst script. There are several methods you can do on your own, but they generally fail if your system is installed where systemd is not PID1, such as in a debootstrap. This was fixed already).

How do you install openlaunchd on Debian? How do you install mdm or whatever it is called? How do you package their configurations?

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 8:45 UTC (Mon) by johannbg (subscriber, #65743) [Link]

With whatever method is used in Debian I presume and those maintaining those ports having to deal with the work involved in doing that.

And as far as I know Debian has never "officially" released any releases with either kfreebsd or hurd which makes it even less sense that they have anything to say which init system will be the default in Debian GNU/Linux part.

The kfreebsd and hurd communities in Debian have to decide for themselves which init system they want to use since in the end of the day they are responsible for implementing,packaging and maintaining it that work should not fall onto other maintainers hands.

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 10:29 UTC (Mon) by tzafrir (subscriber, #11501) [Link]

https://www.debian.org/ports/ lists kfreebsd-amd64 and kfreebsd-i386 as official ports. hurd-i386 is indeed an unofficial port.

A call for votes in the Debian init system discussion

Posted Jan 27, 2014 16:26 UTC (Mon) by smurf (subscriber, #17840) [Link]

> Besides the sore issue of sysvinit being essential

This is no longer true. There is now a sysvinit-package which is indeed essential, but it is empty and pre-depends on sysvinit-core | upstart | systemd-sysv. Problem solved.


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