/srv/irclogs.ubuntu.com/2007/06/04/#upstart.txt

=== HTSJacket [n=kevin@c-24-98-52-235.hsd1.ga.comcast.net] has joined #upstart
HTSJacketI'm having trouble understanding this sentence in the getting started page: This should be one of output (input and output from /dev/console), owner (as output and Control-C also sent the process) or none (the default; input and output to /dev/null).  Can anyone explain what "as output and Control-C also sent the process" means here?06:13
=== jonib1 [n=jonas@213.212.2.165] has joined #upstart
=== Md [i=md@freenode/staff/md] has joined #upstart
=== asdaf [n=Ack@213-140-11-128.fastres.net] has joined #upstart
=== reppel [n=reppel@213-140-11-128.fastres.net] has joined #upstart
=== Keybuk [n=scott@quest.netsplit.com] has joined #upstart
=== reppel [n=reppel@213-140-11-128.fastres.net] has joined #upstart
Keybukmorning all10:20
reppelwhy upstart does not pass kernel cmdline argumments as env variables to jobs?10:20
reppelhi Keybuk 10:20
Keybukreppel: because it doesn't yet (missing feature)10:21
reppelKeybuk: ah ok10:21
Keybukjobs should be able to select which variables they want to receive with "env VAR" in their definition10:21
reppelKeybuk: nice10:22
=== Starting logfile irclogs/upstart.log
=== ubuntulog [i=ubuntulo@ubuntu/bot/ubuntulog] has joined #upstart
=== Topic for #upstart: Upstart 0.3.8 | http://upstart.ubuntu.com/ | http://upstart.ubuntu.com/wiki/UpstartOnGentoo
=== Topic (#upstart): set by Md at Sun May 6 19:59:46 2007
=== juergbi [n=juerg@80-219-16-162.dclient.hispeed.ch] has joined #upstart
=== Amaranth [n=travis@ubuntu/member/Amaranth] has joined #upstart
=== tale [n=tale@207.235.54.1] has joined #upstart
Keybukhmm03:36
Keybukwho needs config file code anyway?03:36
=== shawarma [n=sh@atlas.linux2go.dk] has joined #upstart
shawarmaDoes upstart have some sort of in-memory idea about which jobs exist? If so, how do I make it rethink that list?05:11
Keybukyes05:12
Keybukthere's no way (yet) to make it reload that list05:12
shawarmaI see. Hm.05:12
shawarmaThat kind of sucks. :)05:13
Keybukwhy?05:13
Keybuk(do you need to make it reload)05:13
shawarmaI want to have upstart manage a newly added daemon.05:13
shawarmaSo yes, I need to make it reload.05:13
shawarmaUnless I'm missing something obvious?05:13
shawarmaIt's been known to happen.. :(05:13
Keybukwhy not just write the file? :)05:15
Keybukbet you if you do "initctl list", the new daemon's there05:15
Keybukinotify is a wonderful thing05:15
Keybuk<g>05:15
shawarmaKeybuk: It seems not?05:16
Keybukwhich version of upstart/05:16
shawarmaoh..05:16
shawarmaNot making syntax errors in the job file helps a lot.05:17
shawarma:)05:17
corthow does it ensure that it only reads the file once it's been written?05:17
cortor can inotify tell you that the newly-created file has been closed05:17
=== Md [i=md@freenode/staff/md] has joined #upstart
=== mbiebl [n=michael@e180070168.adsl.alicedsl.de] has joined #upstart
Keybukcort: IN_CLOSE_WRITE05:21
cortcool05:21
Keybuk(closed and written to)05:21
shawarmaWhen does upstart consider a job to be started?05:22
shawarmaI.e. without --no-wait, when will "start jobname" terminate?05:22
Keybukdepends whether it's a task or a service05:23
shawarmaSince it's a deamon I want supervised, I expect I should pass it arguments to run in the foreground?05:23
Keybukif it's a task, start will not terminate until the job terminates05:23
Keybukif it's a service, start will terminate once the job is running05:23
Keybukright05:23
Keybukyou should make sure it runs in the foreground05:23
Keybukand make sure "respawn" is in the job definition05:23
AlexExtremeit helps not to leave duplicate values around in the profile from testing <g>05:23
Keybukheh05:24
KeybukI changed the job code today to not bitch about duplicate stanzas05:24
AlexExtremeheh05:25
shawarmaKeybuk: Oh, so "respawn" tells it that it's a service? Got it.05:25
Keybukshawarma: respawn tells it that it's a service that should be respawned05:25
Keybukshawarma: "service" tells it that it's a service that should not be05:25
=== AlexExtreme will have fun merging the changes in main to the profiles branch
shawarmaKeybuk: Oh, ok.05:25
KeybukAlexExtreme: <g> did you look at them yet?05:25
AlexExtremenot in detail yet05:26
Keybukit should make things a lot easier for you05:26
Keybukyou just need a parse_profile.c with a parse_profile() function05:26
AlexExtremesweet05:26
Keybuktakes the usual file, len, pos, lineno parameters, and probably has stanza_*() functions and a table to parse that block of text05:26
Keybukpretty much everything else will be handled for you05:27
Keybuk(watching the directory, tracking reloads & deletes, etc.)05:27
AlexExtremenice05:27
=== AlexExtreme reads through his commit mails
Keybukyou get commit mails?05:29
AlexExtremeyeah05:29
AlexExtremeif you subscribe to a branch you can configure it to send you mails on new commits ;)05:29
Keybukneat05:29
Keybukdoes it attach diffs?05:29
AlexExtremeyep, as long as the diff is under a certain size05:30
Keybukshiny05:30
KeybukI never knew about that05:30
AlexExtremeThe size of the diff (10342 lines) is larger than your specified limit of 1000 lines05:30
AlexExtremeyeah, i only found that feature the other day ;)05:30
=== AlexExtreme likes launchpad
Keybukwhat diff was that?!05:31
AlexExtremerev 69305:32
Keybukwow05:34
Keybukno wonder my fingers hurt yesterday05:34
AlexExtreme:P05:35
AlexExtremeoh, 696 is bigger ;)05:35
AlexExtreme2968 lines05:35
Keybuk2968 < 10342 ?05:37
AlexExtremewhoops05:38
AlexExtrememisread it with an 0 on the end for some reason :p05:39
AlexExtremes/an/a/05:39
AlexExtremeso, with the new code, i would ignore duplicate values and overwrite the old value with the new one instead?05:51
Keybukright05:52
AlexExtremek05:52
mbieblKeybuk: I spotted a small glitch. Patch is here: http://pastebin.ca/53696305:53
Keybukmbiebl: yeah, that'll be needed, thx05:54
Keybukcommitted06:04
AlexExtremebrb, testing the NihHash-ified profile code06:06
mbieblKeybuk: thx06:14
AlexExtreme        /* FIXME: Read configuration */ << if we don't read the configuration, does this mean the current bzr doesn't work? :)06:15
Keybukright06:15
=== AlexExtreme will hold back on updating the profiles branch to the latest main then :p
Keybuk08:23 <Keybuk> is it bad to push incomplete code to main? :p06:17
AlexExtremejust checking in case you've made it working today06:17
Keybukno, not yet06:17
Keybukit's a complex problem that I want to solve06:17
Keybukand I find it difficult to work in the afternoon, for some reason06:18
AlexExtremeheh06:18
AlexExtremenp06:18
AlexExtremebtw, i'm assuming we shouldn't disable jobs from automatically starting on the stalled event?06:19
=== cort [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart
KeybukAlexExtreme: why not?06:41
AlexExtremebecause say a user does "disable *" and doesn't enable any jobs specifically, the system will just hang at boot with no useful message. surely it should give them an opportunity to login and fix their blunder?06:43
Keybukquest upstart% bzr diff -rtag:0.3.8.. | diffstat | tail -106:48
Keybuk 34 files changed, 7423 insertions(+), 6014 deletions(-)06:48
Keybukwhee06:48
AlexExtremehttp://codebrowse.launchpad.net/~keybuk/upstart/main/changes << umm :P06:51
AlexExtreme500 Internal error06:51
AlexExtremeThe server encountered an unexpected condition which prevented it from fulfilling the request.06:51
Keybukpoked lp06:57
AlexExtremek06:59
KeybukAlexExtreme: heh, broken by having tags, apparently07:41
AlexExtremelol07:41
=== Keybuk is still trying to figure out the registry stuff
Keybukit's a little complex right now08:46
Keybukthe theory is:08:47
Keybuk - a hash table for each type (Job, State, Profile, etc.)08:47
Keybuk - each entry is a Name structure that has the name, a pointer to the current holder of that name, and a list of available entries with that name08:48
Keybukwhen we parse a config file, we add all entries to the available list in their relevant namespace08:49
Keybukthen if the current holder of the name is replaceable immediately, we pick the new best current name08:50
=== Keybuk [n=scott@wing-commander.netsplit.com] has joined #upstart

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