/srv/irclogs.ubuntu.com/2006/12/15/#upstart.txt

=== ..[topic/#upstart:theCore] : Upstart 0.3.2 | http://upstart.ubuntu.com/ | http://upstart.ubuntu.com/wiki/ | http://upstart.ubuntu.com/doc/getting-started.html | irc logs: http://people.ubuntu.com/~fabbione/irclogs
=== maro [n=mark@0x55511dab.adsl.cybercity.dk] has joined #upstart
=== j_ack_ [n=rudi@p508DAC41.dip0.t-ipconnect.de] has joined #upstart
=== j_ack [n=rudi@p508D8D74.dip0.t-ipconnect.de] has joined #upstart
=== Md [i=md@freenode/staff/md] has joined #upstart
=== jvtm [i=jvtm@atlantis.spoon.fi] has left #upstart ["poof"]
=== Keybuk [n=scott@quest.netsplit.com] has joined #upstart
=== jonibo [n=jonas@213.212.2.215] has joined #upstart
Keybukphew04:10
Keybukit looks like the upstart test failures on the buildds is caused by EELMO04:10
KeybukI suspect their kernels have inotify disabled04:10
maroEELMO?04:14
Keybukelmo likes to build custom, module-less kernels04:16
marooh, heh :)04:18
_ionWhy not just run stock kernels on buildds?04:19
Keybukbecause they scare him04:19
wasabifear is a mind killer, or something05:17
Keybukheh05:22
=== jonibo [n=jonas@213.212.2.215] has left #upstart []
=== theCore [n=alex@ubuntu/member/theCore] has joined #upstart
wasabinice. on site interview next week.06:15
=== wasabi cheer.
Keybukwasabi: sweet06:24
steev64the Getting Started page link to example jobs is 40406:48
Keybukfixed06:51
steev64thanks :)06:51
steev64as much as people are going to hate me for it (not necessarily *in here*), I am trying to get upstart working on Gentoo06:52
Keybukseems to be quite popular :)06:56
=== Keybuk peers at libdbus
=== AlexExtreme prods at libdbus
AlexExtremenot one of my favourite libs...07:47
AlexExtreme;)07:47
KeybukI like it about as much as implementing my own IPC07:47
Keybuknot very much07:47
AlexExtremeheh07:47
Keybuktrying to decide whether the init/initctl communication should be done with a peer-to-peer libdbus connection07:47
Keybukand whether that'll make it easier on the code at each end07:48
AlexExtremebut still, upstart already has it's own IPC which works for the purpose intended, why change it?07:48
Keybukbecause it's a pain in the arse07:48
Keybukin fact, upstart has two different IPCs07:48
AlexExtremeoh?07:49
Keybukthe one it uses between init and initctl07:50
Keybukand the one it uses when it re-execs itself after an upgrade to transfer job/event state07:50
KeybukI'd rather there was just one07:50
AlexExtremeah07:50
Keybukand I'd rather that one was actually easy to deal with07:50
Keybuke.g. right now, to send job information from one process to the oehter08:09
Keybukupstart packs that into an UpstartMsg struct08:09
Keybukwhich has a UpstartJobStatusMsg struct inside it08:09
Keybukmessage->job-status.name = ...08:10
Keybukand tags the UpstartMsg struct with the type08:10
Keybukmessage->type = UPSTART_JOB_STATUS;08:10
Keybukthen has to arrange for that to be sent asynchronously to the requesting/subscribed process08:10
Keybukso it has to _COPY_ that structure into a ControlMsg struct for each process that could receive it, a field at a time08:11
Keybukwhen the socket is writable, it then grabs the info, and packs it into an iovec buffer08:11
Keybukand writes it to the receiving process08:11
Keybukwhich has to unpack the iovec buffer into an UpstartMsg struct08:11
AlexExtremeright, so the point you're trying to make is that is far too complex and also reinvents the wheel (doing something dbus already does) ?08:11
Keybukexamine the type to determine what message type it is08:11
Keybukunpack the info from the message->job_status struct back into a Job08:12
Keybukand only then decide whether *it* needs to send a reply08:12
Keybuketc.08:12
Keybukyeah08:12
Keybukit's a pain in the arse :p08:12
AlexExtremesounds like it :)08:12
KeybukI'm not sure that something like libdbus is any better though08:12
AlexExtremehmm08:13
KeybukI suspect the problem is the method of IPC08:15
Keybuke.g. "send me the status of job FOO" => "bulk reply of job foo"08:15
AlexExtremebbl08:23
=== treepio [n=pine@88-212-90-121.vl20-cph.dhcp.clearwire.dk] has joined #upstart
=== eMish [n=lerner@bzq-84-109-21-106.red.bezeqint.net] has joined #upstart
eMishI have several questions about updtart09:30
eMishupstart09:30
eMish(1) Does it come without automatic convertor of inittab to it's /etc/event.d ?09:31
eMish(2) DO I need to convert all of /etc/init.d, /etc.rcN.d to /etc/event.d ?09:31
eMish(3) can upstart run alonside with old init ?09:31
Keybuk1 - the ubuntu package has one that handles getty and control-alt-delete changes09:34
eMishnot kuubuntu, the upstart itself09:34
Keybuk2 - no, there are example jobs on the website that handle running the /etc/rcN.d directories alongside upstart jobs; therefore you can convert them at your leisure, or even not at all09:34
Keybuk3 - what do you mean by "old init" ?09:35
eMishok, actually I'd prefer (3), running it alongside existing init then. Can I ?09:35
KeybukeMish: the tarball itself doesn't contain the perl script, mostly by omission at the moment09:35
KeybukeMish: the existing /sbin/init -- or the existing /etc/init.d stuff?09:35
eMishyes09:35
eMishdoesn't upstart want to overwrite it ?09:35
Keybukyes to which?09:35
eMishi compiled upstart and saw that upstart contains init09:36
eMishis it supposed to be a replcement for /sbin/init and the inittab ?09:36
eMishcan I run upstart alongside with existing /sbin/init ?09:37
Keybukit's a replacement for /sbin/init09:37
eMishcan I run upstart alongside with existing /sbin/init ?09:37
Keybukso no, you cannot run it alongside the existing one09:37
eMishfuck09:37
eMishanyway09:37
Keybukyou can install it to a different location, and alternate between them at boot time09:37
eMishheh09:37
eMishit's OS09:38
eMishanyway09:38
Keybukie. --prefix=/opt/upstart then boot with init=/opt/upstart/sbin/init09:38
eMishno, that's irrelevant09:38
eMishi want old init and upstart together09:38
Keybukwhat's the context for wanting to run it "along side" ?09:38
eMishheh09:38
eMishwait09:38
eMishdoes upstart has ability to specify, per job, a "health-checking script" that tells if process is ok or needs to be restarted ?09:39
eMishand that needs to be run periodically ?09:40
Keybukit's a planned feature, yes09:40
eMishgood09:40
Keybuk(upstart's still in development, so often the answer tends to be "yup, on the list")09:40
eMishwhy exactly it can't be run alongside old init ?09:40
Keybukbecause it's process #109:41
Keybukit's designed to be process #109:41
eMishwhy it can't be process # 123 ?09:41
Keybukbecause then it wouldn't be the parent of all daemon processes09:41
Keybukso couldn't supervise them09:41
eMishi want to invoke upstart-init from old init09:41
eMishah, i see09:41
Keybukby assuming it's process #1, it can take advantage of several tricks09:42
eMishwhy wouldn't it just understand old inittab format then09:42
Keybukit's intended to be a complete replacement09:42
eMishto allow for gradual and smooth igration09:42
eMishrevolution, yes09:42
Keybuknobody in reality modifies /etc/inittab much09:42
Keybukjust old hands who know about it09:42
eMishi do all the time09:42
Keybukmost people believe that init starts at /etc/init.d09:42
Keybukso we decided to begin compatibility there09:42
eMishi believe you made couple of mistakes forgetting about "backward compatibility"09:43
Keybukan /etc/inittab parser can easily be written that registers jobs with upstart09:43
Keybuksuch as?09:43
eMishsuch as not parsing old /etc/inittab format09:43
eMishso I could migrate tasks one by one by rewriting lines and sending -HUP 109:43
Keybukwhy is that a mistake?09:43
eMishwhy forgetting about backward compat is what ?09:44
Keybukseriously, you'll find that in 99% of Linux installations, /etc/inittab is unmodified from what the distro installed09:44
eMishi fall into 1%09:44
eMishi always fall into that 1%09:44
KeybukI'm not disputing that09:44
Keybukthat 1%, however, is either09:45
eMishof course those 99% are happy with old init09:45
Keybuka) set in their ways, so unlikely to switch09:45
Keybukb) technically competent enough to switch by hand09:45
eMishlook, you're the guy which can help me09:45
eMishwe have small router appliance, linux0-based of course09:45
eMishand we have our own process management 09:45
eMishwritten in C by some bum09:45
Keybukheh09:46
wasabiI'm not following why you're using Upstart before you've ported your process.09:46
eMishi am fixinf bugs in it and the more i fix it the worse it looks09:46
eMishi'm looking for a comlpete repalcement09:46
Keybukpretty much similar to our story; we had a small linux distribution and realised we needed some kind of process management, so we wrote Upstart09:46
eMishthe big missing part is, we need to specify health-checking cripts for each process09:46
eMishactually now that i think about it, i think checking script can restart the process09:47
eMishbut how would i schedule health-scheking script with upstart ?09:47
eMishbut i don't understand the installation part. /etc/eventd.d is empty09:48
Keybukin theory?  (not yet implemented)09:48
eMisham I supposed to convert inittab manually myself ?09:48
Keybuksomething like "hourly from started JOB until stopping JOB"09:48
Keybukin the job definition of the checking script09:48
eMishi trid initng, doesn't ghave this, too09:48
eMishwhat do you think about initng09:48
KeybukeMish: yes, or use the example jobs tarball which is based on Ubuntu's inittab09:49
eMishi don't understand09:49
Keybukinit-ng is an excellent implementation of a dependency-based init system09:49
Keybukupstart and init-ng are so different, I don't really see them as competitors09:49
eMishnot automatically converting your existing setup if the mistake initng have, too09:49
eMishdifferent ? both try to replce your /sbin/init09:50
Keybukyes, but both replace it with things that are fundamentally different09:50
Keybukto the original /sbin/init, as well as to each other09:50
Keybukso, first, to answer the converting the existing setup problem ...09:50
Keybukupstart is still in development09:50
Keybukwe're releasing early, and often09:50
Keybukand are not far past the "early" stage09:50
eMishI see09:51
Keybukthe 0.2 series was "get a daemon written that's good enough to do the job of sysvinit"09:51
Keybukthe 0.3 series is going to be "have something that's good enough to do a much better job"09:51
eMishi didn't realise it's early09:51
Keybukby the time we reach 1.0, I fully suspect we'll have a suite of migration and compatibility tools for people to deploy09:51
eMishi want char-based (curses) service controller09:52
eMishso i can walk list of services and enable/disable them09:52
eMishstop/start 09:52
eMishadd services, too09:52
Keybuk(phone call, brb)09:52
Keybuklook in util at initctl :)09:56
eMishI made 'make install', am I screwed up now ? I see that /sbin/init is not replaced09:58
Keybukit probably went to /usr/local/sbin ?10:00
eMishyea10:00
=== juergbi [n=juerg@80-219-26-249.dclient.hispeed.ch] has joined #upstart
=== Amaranth [n=travis@ip68-229-188-84.om.om.cox.net] has joined #upstart

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!