/srv/irclogs.ubuntu.com/2006/09/22/#upstart.txt

!alindeman:*! And, as always, if you have further questions, please feel free to message an on-duty staff member ( /stats p )12:20
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
=== johnnybuoy [n=void@unaffiliated/johnnybuoy] has joined #upstart
=== mbiebl [n=michael@dialin-145-254-247-141.pools.arcor-ip.net] has joined #upstart
=== maro_ [n=mark@0x55511dab.adsl.cybercity.dk] has joined #upstart
maro_evening :)01:03
=== wasabi [n=wasabi@ubuntu/member/wasabi] has joined #upstart
=== j_ack [n=rudi@p508D93F0.dip0.t-ipconnect.de] has joined #upstart
Steven_Shiauis there anyone know how to move the login prompt after /etc/rc2.d/S99xxx service ? Since when I removed "quiet" and "splash" in grub kernel parameters, the output of those services of runlevel 2 is in a mess.03:33
=== j_ack_ [n=rudi@p508D93F0.dip0.t-ipconnect.de] has joined #upstart
Steven_Shiauor is that possible to move the output of runlevel 2 services to console 2 or other consoles ?03:39
=== j_ack [n=rudi@p508D93F0.dip0.t-ipconnect.de] has joined #upstart
Steven_Shiauforgot to say, I am using upstart 0.2.7-103:40
Steven_Shiauin Ubuntu Edgy alpha3 with updated packages03:40
Steven_Shiauoh, upstart 0.2.7-3 is released, I upgraded that, and now it's better03:50
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
Steven_ShiauThe output of services in runlevel 2 now looks better03:51
johnnybuoyhmm05:08
johnnybuoythere is a problem in edgy mdadm-raid script...05:08
johnnybuoyanyone know about upstart scripts?05:09
!alindeman:*! Regional server split; we're looking into it05:21
=== j_ack [n=rudi@p508D93F0.dip0.t-ipconnect.de] has joined #upstart
=== j_ack_ [n=rudi@p508D8D39.dip0.t-ipconnect.de] has joined #upstart
=== DazWiLLiE [n=WiLLiE@81-235-146-18-no33.tbcn.telia.com] has joined #upstart
=== DazWiLLiE [n=WiLLiE@81-235-146-18-no33.tbcn.telia.com] has left #upstart []
=== j_ack [n=rudi@p508D8D39.dip0.t-ipconnect.de] has joined #upstart
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
=== wasabi [n=wasabi@ubuntu/member/wasabi] has joined #upstart
=== maro_ [n=mark@0x55511dab.adsl.cybercity.dk] has joined #upstart
=== Ingmar^ [n=ingmar@d51A482FD.access.telenet.be] has joined #upstart
=== Seveas [n=seveas@ubuntu/member/seveas] has joined #upstart
=== Artanicus [i=kuitunej@lehtori.cc.tut.fi] has joined #upstart
=== pepsiman [n=malcolm@82-33-127-97.cable.ubr05.azte.blueyonder.co.uk] has joined #upstart
=== fdoving [n=frode@ubuntu/member/frode] has joined #upstart
=== alp [n=alp@host-87-74-40-238.bulldogdsl.com] has joined #upstart
=== LarstiQ [n=larstiq@cust.7.157.adsl.cistron.nl] has joined #upstart
=== zx64 [n=zx64@freecnc/zx64] has joined #upstart
=== neuralis [n=krstic@solarsail.hcs.harvard.edu] has joined #upstart
=== mjg59 [n=mjg59@cavan.codon.org.uk] has joined #upstart
=== thom [n=thom@195.54.228.42] has joined #upstart
=== vvl [i=vvl@leviathan.hellfish.org] has joined #upstart
=== zorglub [n=zorglub@wahe.diwi.org] has joined #upstart
=== _ion [i=johan@kiviniemi.name] has joined #upstart
-ChanServ(ChanServ@services.)- [#ubuntu-server] Ubuntu Server Discussions (development and support)07:24
-ChanServ(ChanServ@services.)- [#ubuntu] Welcome to #ubuntu! Please read the channel topic and consider spending some time on the FAQ mentioned there07:24
=== sciboy [n=sciboy@unaffiliated/sciboy] has joined #upstart
sciboyHello fellas.07:30
=== sciboy [n=sciboy@unaffiliated/sciboy] has left #upstart ["Leaving"]
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
=== wasabi [n=wasabi@ubuntu/member/wasabi] has joined #upstart
=== Ingmar^ [n=ingmar@d51A482FD.access.telenet.be] has joined #upstart
=== Seveas [n=seveas@ubuntu/member/seveas] has joined #upstart
=== Artanicus [i=kuitunej@lehtori.cc.tut.fi] has joined #upstart
=== pepsiman [n=malcolm@82-33-127-97.cable.ubr05.azte.blueyonder.co.uk] has joined #upstart
=== fdoving [n=frode@ubuntu/member/frode] has joined #upstart
=== alp [n=alp@host-87-74-40-238.bulldogdsl.com] has joined #upstart
=== LarstiQ [n=larstiq@cust.7.157.adsl.cistron.nl] has joined #upstart
=== zx64 [n=zx64@freecnc/zx64] has joined #upstart
=== neuralis [n=krstic@solarsail.hcs.harvard.edu] has joined #upstart
=== mjg59 [n=mjg59@cavan.codon.org.uk] has joined #upstart
=== thom [n=thom@195.54.228.42] has joined #upstart
=== vvl [i=vvl@leviathan.hellfish.org] has joined #upstart
=== zorglub [n=zorglub@wahe.diwi.org] has joined #upstart
=== _ion [i=johan@kiviniemi.name] has joined #upstart
-ChanServ(ChanServ@services.)- [#ubuntu-server] Ubuntu Server Discussions (development and support)07:57
-ChanServ(ChanServ@services.)- [#ubuntu] Welcome to #ubuntu! Please read the channel topic and consider spending some time on the FAQ mentioned there07:57
=== matthew_i [n=matthew@pdpc/supporter/sustaining/MasterYoda] has joined #upstart
=== matthew_i [n=matthew@pdpc/supporter/sustaining/MasterYoda] has joined #upstart
=== Artanicus [i=kuitunej@lehtori.cc.tut.fi] has joined #upstart
=== fdoving [n=frode@ubuntu/member/frode] has joined #upstart
=== LarstiQ [n=larstiq@cust.7.157.adsl.cistron.nl] has joined #upstart
=== Keybuk [n=scott@quest.netsplit.com] has joined #upstart
=== wasabi [n=wasabi@ubuntu/member/wasabi] has joined #upstart
=== maro_ [n=mark@0x55511dab.adsl.cybercity.dk] has joined #upstart
=== Md [i=md@freenode/staff/md] has joined #upstart
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
=== juergbi [n=juerg@80-219-26-249.dclient.hispeed.ch] has joined #upstart
=== maro_ [n=mark@0x55511dab.adsl.cybercity.dk] has joined #upstart
maro_would it be possible to make a job for running update-pciids daily when the network is up?02:10
Mdmaro_: do you instert new PCI cards in your system every day?02:11
Mds/instert/insert/02:11
maro_that was just an example02:11
Mdyes, you can02:11
maro_it could be abstracted into "is it possible to do an action on a event if a condition is true"02:12
maro_and a sample event.d file would trigger a huge "thank you!"02:13
maro_or even better, a directory with sample event.d entries (other than the rc compat things) :)02:14
_ionupstart doesn't implement cron/at functionality yet.02:29
maro_ah, I'll wait for the spiffy features then - thanks :)02:37
_ionKeybuk said he's hoping to start developing the 0.5 branch this weekend IIRC. I'm not sure whether the cron/at functionality is going to be in 0.5, though.02:39
_ionI hope so. :-)02:39
maro_cool - me too :)02:39
_ionPerhaps i can even contribute some code, if my health allows.02:39
maro_you're sick? :(02:39
=== johnnybuoy [n=void@unaffiliated/johnnybuoy] has joined #upstart
_ionWell, i've been unable to work for almost two years. Very rarely i have enough energy to be able to concentrate enough to create a small, simple patch for some project.02:43
maro_:/02:48
Keybuk_ion: my vague thoughts are that 0.5 would be a "roughly feature complete" version03:09
Keybukit may be a long cycle, as it's what we'd ship in edgy+1 eventually03:09
Keybukand would be what I'd expect other distros to think about shipping03:10
LarstiQsounds about perfect to hack up one weekend ;)03:12
_ionkeybuk: Sounds good.03:13
wasabiKeybuk: We were talking yesterday about the event failure status chaining. I do think that the event's "exit" status shouldn't be known until the event, and all jobs that follow, directly or indirectly, is known... but that status doesnt' reflect on whether the system has "failed" to startup.03:38
wasabiWhether "startup" fails or not has no bearing on what services were started as a result of triggering it.03:38
wasabiThey're still started.03:39
Keybukwasabi: I'm not sure I follow what you mean03:43
wasabiWell, we were considering the idea of being able to wait for an event to be "done.03:43
wasabiSo, something like initctl trigger foo && echo done03:44
wasabican work.03:44
wasabiSo it doesn't just finish immediatly.03:45
wasabiAlso, to get the return fail/success of an event, delivered back over the control socket.03:45
wasabiie you create an event, the socket tells you the id, then later tells you the success/fail of the id.03:45
Keybukright03:45
wasabiCan an event really be considered completely handled if there are still processes running because of it?03:46
Keybukit's an interesting question03:46
Keybukdepends on whether the process is a service or a task, I guess?03:47
Keybukthe ultimate goal of a service is just to be started03:47
wasabiConsider job2 with "start on job1 starting". When job1 moves to starting, upstart itself issues that event. Causing job1 to start.03:47
Keybukbut the ultimate goal of a task is to be started AND get back to stopped again03:47
wasabiErr, job2 to start.03:47
wasabijob2 may be something like a custom script an admni wanted to run BEFORE a given service starts.03:47
wasabiI think in most cases you would desire job2 to complete before job1 proceeds.03:48
KeybukI disagree03:48
Keybukthe admin should modify job1, no?03:48
Keybukthey're adding a new pre-requisite to it?03:48
wasabiWell, you might say that, but I see that it's a bit non ideal because it makes any upgrade to job1's job file require human interaction.03:49
wasabiThat's not a big deal though.03:49
wasabiWhat if the "admin" is another package that desires to start before one?03:49
wasabiThe other package can't modify job1's script in it's post-inst,t hat'd be messy.03:49
Keybukif you can come up with a use case for that ... ?03:49
wasabiImpossible to revert, would screw up upgrades of job1.03:49
wasabiYeah thinking. ;)03:49
wasabiI have a few ideas, but I can think of them being started in other ways. I'm just not sure which is better. Take xsp... the Mono web server.03:50
wasabiIt's basically a stand alone daemon, which receives requests that originate thorugh apache.03:51
_ionActually not being able to do a three-way merge is package manager's fault.03:51
wasabiAlso, I guess tomcat is the same here.03:51
_ionRe: human interaction during upgrades.03:51
wasabiThose are services which ideally should be started BEFORE apache.03:51
wasabiBut they are installed sepereatly, and apache doesnt' depend on them.03:52
wasabiIn the normal case.03:52
Keybukthe problem is coming up with a model that isn't insane ;)03:52
wasabiIf you install tomcat, you would desire, only if it's installed, for it to start before apache.03:52
wasabiOtherwise apache has no relation to it.03:52
wasabiSo, you don't want the install for tomcat to have to modify apache's job file.03:53
wasabiFor the previous reasons. =)03:53
_ionI think Gentoo has something like "after foo" and "before bar"03:53
wasabiYeah. I think we have that too in our "job-starting apache"03:53
Keybukafter has been proposed03:53
Keybukwe could have "before" as well03:53
wasabievent.d/tomcat :   "start on job-starting apache"03:53
wasabiIs that not before?03:53
Keybukno, because that doesn't cause apache to wait03:53
wasabiYeah, and that's the question. Should it.03:54
_ionAnd it shouldn't IMO.03:54
wasabiWhy?03:54
Keybukwell, for a start you have to define what you're waiting for03:54
_ionEverything that causes apache to wait should be defined in the apache file IMO.03:54
Keybukwhen do you release apache?03:54
Keybukwhen you spawned the tomcat process (too early!)03:54
_ionOtherwise it's just confusing.03:54
wasabiNo, this still works.03:55
wasabiOkay, you know how initctl will work?03:55
wasabiEvent gets issued, all the jobs that upstart is going to change goals on are found, only when they have all successfully reached that goal, is the event considered finished.03:55
KeybukI don't know how that will work yet03:56
wasabiOr, successfully failed, anyways.03:56
Keybukbecause the goal is a wishy-washy bit <g>03:56
wasabiWell, they will be turned "unidle" by the event.03:56
wasabiAt somepoint they'll be idle again.03:56
Keybukunidle?03:56
wasabiNo goal.03:56
wasabiGoal.03:56
Keybukthere's always a goal03:57
wasabiHow so?03:57
Keybukthe goal is always either stop or start, no?03:57
wasabiIf a service is started, and nothing has told it to stop, hasn't it reached it's goal?03:57
_ionIts goal is still "start".03:58
wasabiHmm.03:58
wasabiOkay. I see what you mean then.03:58
wasabiThe goal is start, but it's "done".03:58
Keybukand when tomcat reaches started, it's not yet ready for apache to start03:58
wasabiThere's an indicator for "done" someplace, so it doesn't get touched on the mainloop, surely.03:58
wasabiKeybuk: Yeah, it is.03:58
Keybukno it's not03:58
Keybuktomcat isn't listening yet03:58
wasabiKeybuk: Since we moved post-start into starting. ;)03:58
Keybukwe did ?!03:59
_ion:-D03:59
=== Keybuk must keep up
=== wasabi checks wiki
wasabiI did in my head anyways.03:59
Keybukpost-start being before started seems ... odd :p03:59
wasabiWell, maybe the script names are unappropiate.03:59
wasabipost-exec03:59
wasabipre-exec03:59
wasabi"started"03:59
wasabiman the wiki is always so slow03:59
wasabiYeah.04:00
wasabiI made those changes ages ago. Thought you read em.04:00
wasabiPutting the post-start, whatever we call it, script in starting, makes the most sense.04:01
_ionAgreed.04:01
wasabiThen "started" gets properlly emitted when it's really done.04:01
KeybukI get vaguely dyslexic with long prose paragraphs; which is why I turn things into bullet points when I think I understand them04:01
wasabiYeah.04:02
wasabiI was braindumping.04:02
KeybukI probably missed the change :p04:02
wasabiI don't want to shove that change on you, btw. But think about it. :)04:02
wasabiAnyways, so, initctl trigger foo, causes all the jobs to be enumerated, they all go into some sort of "work" state, as they attempt to move to whatever they should. Some of them get there and then immediatly go back to stopped again, eventually they all go idle.04:03
_ionHaving "pre-start, exec and post-start" in "starting" and "sted" after running those successfully is intuitive IMO.04:03
_ions/sted/started/04:04
wasabiAt the point they're idle, the result code is returned to the issuer of the starting event.04:04
Keybukright04:04
Keybukhere's a question then04:04
wasabiBut that can be recursive. A job may itself run initctl trigger.04:04
Keybuka service's goal is to reach the start state04:04
wasabiIn which case that job's PID is blocking on initctl, and the issuer of the original event is blocking on that job.04:04
Keybukbut a task's goal is to reach the start state and then get back to the stop state04:04
wasabiEventually that unwinds.04:04
wasabiI'd say there's not much difference between a service and a task.04:05
wasabiProgramatically.04:05
wasabiOne just doesn't have anything to run long term.04:05
Keybukthere's no programatically04:05
Keybuk+ne04:05
Keybukbut there might be a desire to distinguish their behaviour for jobs04:05
Keybuke.g. if I have a short task (like, say, check the root filesystem)04:05
Keybukand I trigger that event with initctl04:05
Keybukshould it wait for the root filesystem to be checked04:05
Keybukor for the check to begin?04:05
wasabiI think it should have the potential to wait.04:06
_ionThe first impression is that it should wait for fsck's completion.04:06
wasabiI think not waiting is an acceptable option for initctl though04:06
wasabiinitctl -n trigger whatever04:06
wasabiWhether that's default one way or another is totally open.04:07
_ionOr perhaps alternatively something like this: "start footask" waits for its completion, "initctl trigger footask" doesn't.04:07
wasabiinitctl can put the event on the socket, and then just close it and exit, without waiting for upstart to return the result.04:07
KeybukI was thinking about the failed example04:07
Keybukon job-failed check-root04:07
Keybukshould that be issued if check-root fails to finish, or just when it fails to start?04:07
_ionBoth.04:08
wasabiWhat's the diff?04:08
Keybukwhen do you decide a job has failed?04:08
wasabiWhen it has been determined it is unable to reach it's goal.04:08
Keybukbut what's it's goal?04:08
=== j_ack [n=rudi@p508D8B75.dip0.t-ipconnect.de] has joined #upstart
Keybukis the goal to begin checking the root filesystem, or to have completed the check?04:09
wasabiGood interesting question.04:09
wasabiI can't see much of a use for the goal being to begin it.04:09
_ionHow about this? A task has failed if anything (pre-start, exec, post-start, pre-stop, post-stop) returns a non-zero value. A service has failed if pre-start, exec or post-start returns a non-zero value.04:09
wasabi_ion: That's why I talk about "idle". A task is only "idle" after it's back at stopped.04:10
wasabiA service goes idle at "started".04:10
wasabiBasically, an iteration of the mainloop has determined that there's nothing being waited on, and it's at the current goal.04:11
wasabiFor a task, when it reaches "started", the iteration realizes there's nothing that's running, and sets the goal back to stopped, and keeps going.04:11
wasabiBut it's not idle.04:11
wasabifor a serivice, the iteration realies that it's waiting on a running process.04:12
wasabii'm totaly late for work now.04:12
wasabiI gotta jet. Bbl.04:12
Keybukhave fun04:12
=== Amaranth [n=travis@ubuntu/member/amaranth] has joined #upstart
=== stevenshiau [n=c00jhs00@jfhsiau-NCHC.ADSL.NCTU.edu.tw] has joined #upstart
=== stevenshiau [n=c00jhs00@jfhsiau-NCHC.ADSL.NCTU.edu.tw] has left #upstart []
=== cortana [n=sam@pc-62-31-146-25-ga.blueyonder.co.uk] has joined #upstart
=== Amaranth [n=travis@ubuntu/member/amaranth] has joined #upstart
=== j_ack [n=rudi@p508D8B75.dip0.t-ipconnect.de] has joined #upstart
=== cortana [n=sam@pc-62-31-146-25-ga.blueyonder.co.uk] has joined #upstart
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
=== theCore [n=alex@modemcable106.200-70-69.mc.videotron.ca] has joined #upstart
=== j_ack [n=rudi@p508D8B75.dip0.t-ipconnect.de] has joined #upstart

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