From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.sysutils.supervision.general/1621 Path: news.gmane.org!not-for-mail From: "rehan khan" Newsgroups: gmane.comp.sysutils.supervision.general Subject: RE: using runit as init Date: Sun, 13 Jan 2008 10:35:40 -0000 Message-ID: <50F2BE60A0EF6D478B1BCC633DEC28CC01F70A@server.home.internal> References: <200801032151.21524.list-supervision@augensalat.de> <200801110858.33026.list-supervision@augensalat.de> <200801110730.09851.mike@geekgene.com> <200801121118.53450.list-supervision@augensalat.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C855D0.A75DE2AF" X-Trace: ger.gmane.org 1200220810 23304 80.91.229.12 (13 Jan 2008 10:40:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 13 Jan 2008 10:40:10 +0000 (UTC) Cc: To: "Vincent Danen" , "Bernhard Graf" Original-X-From: supervision-return-1856-gcsg-supervision=m.gmane.org@list.skarnet.org Sun Jan 13 11:40:32 2008 Return-path: Envelope-to: gcsg-supervision@gmane.org Original-Received: from antah.skarnet.org ([212.85.147.14]) by lo.gmane.org with smtp (Exim 4.50) id 1JE0GV-0004sz-DX for gcsg-supervision@gmane.org; Sun, 13 Jan 2008 11:40:31 +0100 Original-Received: (qmail 15184 invoked by uid 76); 13 Jan 2008 10:40:13 -0000 Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Archive: Original-Received: (qmail 15178 invoked from network); 13 Jan 2008 10:40:13 -0000 Original-X-Trace: 11017290/mk-outboundfilter-2.mail.uk.tiscali.com/PIPEX/$MX-ACCEPTED/pipex-infrastructure/62.241.162.31 X-SBRS: None X-RemoteIP: 62.241.162.31 X-IP-MAIL-FROM: rehan.khan@dsl.pipex.com X-IP-BHB: Once X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ao8CAE55iUc+8aIf/2dsb2JhbACCbqNl Content-class: urn:content-classes:message X-MimeOLE: Produced By Microsoft Exchange V6.5 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: using runit as init thread-index: AchVnxjRpzlXL00KTmmkIcl+XYRHSwAMPJYt Xref: news.gmane.org gmane.comp.sysutils.supervision.general:1621 Archived-At: This is a multi-part message in MIME format. ------_=_NextPart_001_01C855D0.A75DE2AF Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Vincent Danen annvix.org> writes: >=20 > * Bernhard Graf augensalat.de> [2008-01-12 = 11:18:51 +0100]: >=20 > >> Fortunately, I don't have one run script that's more than 4 or 5 > >> lines, and most of that is whitespace :) > > > >Lucky you. > >You don't run mysql, do you? >=20 > I do, but it could be done in less than 5 lines. My current runscript > for mysql is 29 lines, but a lot of that is error checking and = settting > variables, none of which would be required for a single person who = knows > what he's doing. >=20 > mysqld is no more complex than anything else. >=20 I think this is one of the problems with why runit has had slower takeup = and initng and upstart are stealing it's thunder, in the major distro = arena - no offence to the fine annvix distro. Much of the documentation = available on the net provide these highly abreviated init scripts which = might only apply to linux (runit is multi OS). This is not actually what = is required in a general purpose OS. The scripts need to be complete in = the sense that they can cope with most things thrown at them including = incomplete configurations, initial startups etc. In fact when one gets = to mad java apps like Tomcat and Hsqldb the scripts become nightmares as = they have to cope with so many OS's and java versions and such like. mysqld is an interesting example. On a freshly installed OS nothing is = initialised for mysql. How would one cope with this situation? The = fedora scripts ask the user for input and setup initial databases. Runit does not have any in-built mechanism for this this scenario and it = needs to be built into the supporting scripts. Runit also does not have = any mechanism to signal the system that user input is required and that = all other services should not write to the console while this is = happening. Runit also does not have a mechanism to signal that a = particular services needs to have exclusive access to the system (useful = if one wants to migrate the rc.sysinit script to a bunch of runit = services). The scripts built around runit need to take care of these = situations. At the end of startup there needs to be some kind of = indication that services have failed/succeeded for some reason otherwise = they may go un-noticed. In some ways I think runsvdir could use some additional functionality = and I am thinking of re-implementing it in python. Runsvdir does in = effect supervise all the runsv processes (when it is used) and would be = a good place to co-ordinate this kind of activity (process signalling, = holding a dependancy database). I probably need to do this anyway to get = Linux Standards Base compliance. It would be nice to see a collection of multi-OS (linux, bsd etc) init = scripts somewhere out there. Perhaps if someone could help me out with = the cvs/svn setup on the fedorafastboot project we can get a general = script repository setup? R http://sourceforge.net/projects/fedorafastboot ------_=_NextPart_001_01C855D0.A75DE2AF Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable RE: using runit as init

Vincent Danen <vdanen <at> annvix.org> = writes:

>
> * Bernhard Graf <list-supervision <at> augensalat.de> = [2008-01-12 11:18:51 +0100]:
>
> >> Fortunately, I don't have one run script that's more than = 4 or 5
> >> lines, and most of that is whitespace :)
> >
> >Lucky you.
> >You don't run mysql, do you?
>
> I do, but it could be done in less than 5 lines.  My current = runscript
> for mysql is 29 lines, but a lot of that is error checking and = settting
> variables, none of which would be required for a single person who = knows
> what he's doing.
>
> mysqld is no more complex than anything else.
>

I think this is one of the problems with why runit has had slower takeup = and initng and upstart are stealing it's thunder, in the major distro = arena - no offence to the fine annvix distro. Much of the documentation = available on the net provide these highly abreviated init scripts which = might only apply to linux (runit is multi OS). This is not actually what = is required in a general purpose OS. The scripts need to be complete in = the sense that they can cope with most things thrown at them including = incomplete configurations, initial startups etc. In fact when one gets = to mad java apps like Tomcat and Hsqldb the scripts become nightmares as = they have to cope with so many OS's and java versions and such like.

mysqld is an interesting example. On a freshly installed OS nothing is = initialised for mysql. How would one cope with this situation? The = fedora scripts ask the user for input and setup initial databases.

Runit does not have any in-built mechanism for this this scenario and it = needs to be built into the supporting scripts. Runit also does not have = any mechanism to signal the system that user input is required and that = all other services should not write to the console while this is = happening. Runit also does not have a mechanism to signal that a = particular services needs to have exclusive access to the system (useful = if one wants to migrate the rc.sysinit script to a bunch of runit = services). The scripts built around runit need to take care of these = situations. At the end of startup there needs to be some kind of = indication that services have failed/succeeded for some reason otherwise = they may go un-noticed.

In some ways I think runsvdir could use some additional functionality = and I am thinking of re-implementing it in python. Runsvdir does in = effect supervise all the runsv processes (when it is used) and would be = a good place to co-ordinate this kind of activity (process signalling, = holding a dependancy database). I probably need to do this anyway to get = Linux Standards Base compliance.

It would be nice to see a collection of multi-OS (linux, bsd etc) init = scripts somewhere out there. Perhaps if someone could help me out with = the cvs/svn setup on the fedorafastboot project we can get a general = script repository setup?

R

http://sourceforg= e.net/projects/fedorafastboot

------_=_NextPart_001_01C855D0.A75DE2AF--