#upstart 2007-04-24
<dAndy> is there any throttling if you use the "respawn" commmand? Ie if the command is broken and dies instantly, will upstart eventually give up and put the process back in "stop" mode?
#upstart 2008-04-21
<anders> is there some way to make upstart verbose? trying to make it work on arch linux, but it's just doing nothing here atm
<anders> i suppose i'll rtfm
<anders> duh, --debug
<anders> dang, seems like the arch scripts don't like that :)
<anders> bleh, i give up (for now)
<Keybuk> ...with invalid argument
<Keybuk> BAD: wrong value for error.name, expected 'com.netsplit.Nih.IllegalValue' got 'org.freedesktop.DBus.Error.NoReply'
<Keybuk> 	at tests/test_com.netsplit.Nih.Test.c:232 (test_str_to_int).
<Keybuk> *sigh*
<sadmac2> Keybuk: how's 0.5 comming?
<sadmac2> :)
<Keybuk> sadmac2: still battling D-Bus
<sadmac2> Keybuk: ahh. Decided on flags or profiles yet?
<Keybuk> no, not yet
<Keybuk> that's a 0.5.x issue
<Keybuk> 0.5.0 won't have either
<Keybuk> likewise 0.5.0 won't have states
<Keybuk> 0.5.0 will be largely complete from a service management point of view, so rc2 can be moved over
<Keybuk> with more complex things coming throughout 0.5.x as we need them :-)
<sadmac2> cool
<Keybuk> right now, I'm still getting d-bus to play nicely
<Keybuk> hurrah
 * Keybuk has a valgrind suppressions file that covers most of libdbus now :)
<ion_> :-)
<sadmac2> Keybuk: what are you wrestling with right now wrt dbus?
<Keybuk> sadmac2: just joining all the dots up
<sadmac2> Keybuk: yes, dots were kind of a poorly thought out feature. In the last version they used triangles. It was much more structured.
<Keybuk> heh
<Keybuk> 2/3 of my dbus-related test suites now pass valgrind
<Keybuk> which is good
<Keybuk> though I'm convinced that two suppressions are dbus bugs
<Keybuk> and they itch, and I'm going to end up investigating them :p
<Keybuk> it doesn't look like it _quite_ cleans up the userdb cache properly in the case of shutdown()
<Keybuk> which, admittedly, is only a concern for test suites ... but hey :p
<sadmac2> s3nd p4tch3s
<Keybuk> oh, patches already in bugzilla
<sadmac2> sweet
<Keybuk> I make sure of that :)
<Keybuk> ==5778== Invalid read of size 8
<Keybuk> ==5778==    at 0x4E3E05D: _dbus_connection_read_write_dispatch (dbus-connection.c:3414)
<Keybuk> ==5778==    by 0x4E3E3E4: dbus_connection_read_write_dispatch (dbus-connection.c:3491)
<Keybuk> ==5778==    by 0x404C56: test_bus_disconnected (test_control.c:384)
<Keybuk> ==5778==    by 0x404EF0: main (test_control.c:422)
<Keybuk> ==5778==  Address 0x542b880 is 8 bytes inside a block of size 256 free'd
<Keybuk> *sigh*
<Keybuk> this, I think, is my last one
<Keybuk> that just looks like read_write_dispatch *NEVER* expects the spanish inquisition
<Keybuk> I mean that it never expects to be used to dispatch the disconnected message ;)
<Keybuk> which is a biiiit odd
<Keybuk> missing ref I suspect
<Keybuk> actually, since the docs explicitly say that it terminates when disconnected has been processed, it should damned well expect the last ref to go away :p
<sadmac2> sweet
<sadmac2> and the world is a better place. Open source makes me tingly
<Keybuk> and patch uploaded
<Keybuk> https://bugs.freedesktop.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=dbus&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailreporter1=1&emailtype1
<Keybuk> =exact&email1=scott%40netsplit.com&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
<ion_> Pretty URL
<sadmac2> my IRC client ate it
<sadmac2> :(
<sadmac2> Keybuk: looks like one is fixed already. That's not too bad a response rate
#upstart 2008-04-23
<sadmac2> Keybuk: is it done yet? is it done yet? 8D
<ion_> :-)
<Keybuk> lol
<Keybuk> I was trying to decide whether I need to write test cases for the D-Bus binding tool
<Keybuk> I have test cases for its output already
<Keybuk> (ie. C code that tests code generated by the binding tool)
<Keybuk> and was trying to decide whether I needed to test the binding tool to make sure it output code
<Keybuk> but then I realised it'd be basically one big strcmp in the test case
<Keybuk> so am starting to think that's over testing
<ion_> Heh
<sadmac2> yeah
<sadmac2> Keybuk: I'm looking again at dipping into kernelspace to create the IO mechanism logd needs
<Keybuk> I'm still hopeful that we can find some way to integrate logd with syslog and klog
<Keybuk> either the standard implementations, or a replacement
<Keybuk> though if we want to be able to mail output in failure, it may need to be internal to init itself
<ion_> How about init just gathering the messages to a growing buffer, and dumping them to syslog whenever it becomes available?
<Keybuk> that's probably what we'd have to do
<Keybuk> that would be zero lines of code, which isn't bad ;)
<Keybuk> since it's the direct inverse of how upstart runs shell scripts
<Keybuk> it has an arbitrary buffer in which it dumps the entire shell script for drip-feeding to the shell fd
<Keybuk> it'd just be the inverse, drip feed by read() not write()
<Keybuk> which I happily implemented at the time
<ion_> :-)
#upstart 2008-04-24
<takedown> hi
<takedown> I have question about upstart, control-alt-delete file permit reboot to everyone who press magic keys?(same is init)
<takedown> and shutdown.allow file works with upstart?
<Keybuk> takedown: shutdown.allow does not work with upstart
<tale_> can somebody show me an example of how to use the status command to see the status of say my open-ssh service?
<Keybuk> status open-ssh
<tale_> Keybuk, I get this error:  sudo status sshd
<tale_> status: Unknown job: sshd
<tale_> what name is it expecting?
<tale_> the name of the script in /etc/init.d/?
<tale_> because that doesn't work either
<Keybuk> the name of the upstart job in /etc/init/jobs.d
<Keybuk> or /etc/event.d on older versions
<Keybuk> unless you write an openssh service yourself, you won't have one
<ion_> Ah, i didn't even notice the switch away from /etc/event.d :-)
<ion_> /etc/init/jobs.d is a good choice.
<Keybuk> ion_: I'd changed the job defaults sufficiently that the move and drop was the right thing to do
<Keybuk> http://bazaar.launchpad.net/~keybuk/upstart/trunk/revision/scott%40netsplit.com-20080418123201-dunua2k23pmhhwqz?start_revid=scott%40netsplit.com-20080422064448-wo7a025i7ssk6i7c
<ion_> It's more obvious than event.d IMO, and the other upstart configuration can be under /etc/init so that /etc isn't polluted.
<Keybuk> tale_: Ubuntu and Fedora are still using sysv-rc for running most daemons
<Keybuk> sysv-rc will just have one upstart job for an entire runlevel
<tale_> I see that now that I'm looking at /etc/init/jobs.d
<tale_> I was curious because I saw the commands on a ubuntu cheat sheet yesterday and I couldn't get them to return anything but an error
<Keybuk> status tty1
<Keybuk> that will return you a useful answer
<tale_> ok
<Keybuk> brb, hardy time
<ion_> I manually switched polipo to be managed by upstart instead of sysvrc, since it chokes to an assertion failure every once in a while. :-P Not often enough for me to switch to something worse for my needs (such as squid), though, and i hope to get around to fixing that bug myself some day.
<Keybuk> dbus is strangely missing dbus_connection_pair (&conn1, &conn2);
<Keybuk> test_dbus: tests/test_dbus.c:1037: test_object_message: Assertion `dbus_connection_send_with_reply ( conn, message, &pending, -1)' failed.
<Keybuk> *sigh*
<Keybuk> what's up with you
#upstart 2008-04-25
<Keybuk> aha!
<Keybuk> fails with insufficient memory inside the timer function
<Keybuk> which it should
 * Keybuk declares success for the night
<ion_> :-)
<Keybuk> ok...
<Keybuk> 526 of libnih, and 914 of upstart have the bare bones of D-Bus support
<Keybuk> no methods yet, but nearly all of the glue to make the methods trivial to add
<Keybuk> 525 of libnih, sorry
<Keybuk> if you want to play:
<Keybuk> 1) write an XML file in D-Bus Introspect format
<Keybuk> e.g. http://bazaar.launchpad.net/~keybuk/libnih/trunk/annotate/scott%40netsplit.com-20080425001233-8o0ta6dbia8r0plh?file_id=com.netsplit.nih.tes-20080421094354-men8yuazzjl3shgb-1
<Keybuk> 2) generate C code from that
<Keybuk> nih-dbus-tool com.netsplit.Nih.Test.xml
<Keybuk> 3) write your own method handlers
<Keybuk> for that StrToInt you would need to write a function with the prototype:
<Keybuk>   int dbus_str_to_init (void *data, NihDBusMessage *message, const char *input, int32_t *output);
<Keybuk> store return values in the latter pointers, for strings use the message argument as the nih_alloc context to attach them to
<Keybuk> return 0 if everything was ok, < 0 if you raise an error
<Keybuk> if you want to return a D-Bus error use nih_dbus_error_raise (NAME, MESSAGE)
<Keybuk> otherwise the generic FAILED will be returned (if you raise ENOMEM, you'll get looped :p)
<Keybuk> 4) compile and play
<ion_> ion: tag
<ion_> Now i'll find this piece of log easily. :-)
#upstart 2009-04-20
<keesj> Hi
<Keybuk> hey
<keesj> Keybuk: do you happen to remember what tools you used to create the graphics on your presentation as fosdem?
<keesj> Keybuk: do you happen to remember what tools you used to create the graphics on your presentation as fosdem?
<Keybuk> OpenOffice ?
<keesj> k
 * Keybuk can't remember which graphics it had on it
<keesj> let me find it ..
<keesj> http://box.mmapps.net/p2083499.jpg
<Keybuk> yeah that's just OpenOffice
#upstart 2009-04-22
<temoto-mobi> Hello. "start on startup", website says 'w/o writeable filesystem and network'. Does it mean that localhost network is not available too?
<sadmac2> temoto-mobi: network should not affect upstarty
<sadmac2> *upstart
<temoto-mobi> sadmac2: i don't understart. How to configure memcache: start on startup    or    start on runlevel 2  ?
<temoto-mobi> *understand
<sadmac2> temoto-mobi: runlevel 2 I expect
<temoto-mobi> sadmac2: thank you.
#upstart 2009-04-23
<temoto> Upstart runs all "start on runlevel 2" scripts in paralel?
<damjan> yes
<Zeqadious> damjan: you ever get around to toying with those arch upstart scripts?
<damjan> Zeqadious: I've made my first successfull boot of Upstart on ArchLinux
<Zeqadious> ah
<damjan> I'm starting /etc/rc.sysinit and rc.multi now
<Zeqadious> i know you were interested in 0.5 versions: http://zeqadious.homelinux.net/junkbin/upstart-0.5.1-jobs/
<Zeqadious> if it helps
<damjan> so that I'm compatible with Arch as it is
<Zeqadious> again based directly from Arch
<temoto> damjan: that's awesome, thank you.
<damjan> Zeqadious: I also made a multi-instance agetty script
<Zeqadious> damjan: i would interested in seeing that :)
<damjan> so basically, instead of having a separate script for each tty
<Zeqadious> i tried to write a arch stype stat_busy stat_done stuff for upstart, but its quite flakey
<Zeqadious> oh thats cool
<temoto> start on stopped sysinit/kernel-logger RESULT=ok       <- how does it work?
<damjan> I have one,  instance $TTY; exec /sbin/agetty -8 38400 $TTY linux
<damjan> Zeqadious: and I have another script that starts all of the instances when rc.multi is stopped
<damjan> temoto: sysinit/kernel-logger is a job
<temoto> damjan: sorry, i mean "RESULT=ok"
<damjan> when it's stopped (i.e. successfully run) your other script will run then
<Zeqadious> if kernel-logger exits with status=1 it won't
<temoto> exitcode?
<damjan> temoto: each Unix process has a return value
<temoto> aha
<damjan> yeah like ecitcode
<temoto> thanks, now i get it
<temoto> errorlevel on windows
<iamthelostboy> hi.. i have a upstart job getting started by an application emitting an event.. it is mostly working, except that upstart isnt terminating as I would expect.. i have cut the job down to a single 'exec xinit <app> <params>'
<temoto> RESULT=ok and RESULT=0 is same?
<damjan> Zeqadious: http://www.netsplit.com/2008/04/19/upstart-05-job-lifetime/ .. about instances
<temoto> My ubuntu 9.04 has upstart 0.3.9 .. wow, i did expect something newer.
<Zeqadious> damjan: nice stuff
<temoto> damjan: are you developer of upstart?
<damjan> temoto: no
<damjan> far from it :)
<Zeqadious> thats Scott's blog
<damjan> Zeqadious: so these jobs you have, this is a port from rc.sysinit right?
<Zeqadious> yes
<damjan> k
<Zeqadious> i have upstart job scripts for dbus, acpid, hal, networkmanager, crond, and syslog-ng too
<Zeqadious> so far*
<Zeqadious> they are ... problematic
<temoto> I have two for memcacheq and mongodb :)
<temoto> Zeqadious: what's problematic in crond or syslog?
<Zeqadious> temoto: those seem to work 100%, however the others tend to not honor the start on stanza rules
<temoto> Zeqadious: you mean tens of "and stopped" ?
<Zeqadious> damjan: here is my 'current in use scripts' however they aren't quite compatable with Arch Linux anymore.  But please feal to free to steal if you like anything http://zeqadious.homelinux.net/zizzy-linux/i686/abs/core/upstart-jobs/
<damjan> I need to do the shutdown part... couldn't find much documentation about it for Upstart
<Zeqadious> i have problems because my data partition is always in use and can't be unmounted
<Zeqadious> lol
<Zeqadious> the command 'reboot' works 100%
<Zeqadious> ctrl+alt+delete 0%
<temoto> So on ubuntu using upstart 0.3.9 i can create directories, not only job files? upstart runs like /etc/event.d/*/* ?
<damjan> yes
<temoto> cool
<temoto> start on RESULT=failed    now what this mean?
<damjan> when exitcode is not 0
<temoto> RESULT of what?
<Zeqadious> anything
<temoto> uh
<temoto> any other upstart job?
<Zeqadious> yes
<temoto> Zeqadious: it's your jobs.d/sulogin
<Zeqadious> temoto: i'm aware
<temoto> hm.. if anything fails - sulogin.
<temoto> What if /sbin is not mounted - then sulogin job fails and upstart runs another one?
<damjan> temoto: if /sbin is not mounted, upstart will not start either
<Zeqadious> lol
<temoto> right
<temoto> But what if /sbin would be unmounted after upstart starts?
<temoto> ..and anything fails
<Zeqadious> system required boot files reside in /{bin,sbin,lib,etc} per fhs.  they are required to be there for boot.
<damjan> temoto: upstart (and sysvinit) are /sbin/init, can't be umounted
<temoto> fs can't be unmounted while program started from it is running?
<Zeqadious> temoto: /usr, /var, and /home are often on other partitions however
<damjan> temoto: yes, it can't
<temoto> hm.. all this start on stopped this and stopped that.. it's possible (and Zeqadious did) to build a complex dependancy tree.
<temoto> But it's very hard to see this dependancies with just browsing files.
<temoto> There must be some kind of sysv-rc-conf program to manage jobs via UI.
<damjan> yeah it can be hard to debug
<Zeqadious> as the dev's of most projects seem fond of saying, "patches welcome"
<Zeqadious> :)
<damjan> a simple tool showing the dependency tree would be nice
<temoto> so not yet?
<Zeqadious> temoto: not that i'm aware
<temoto> i see
<Zeqadious> my scripts certainly aren't 100% yet anyway. closer to 70% and rough.
<Zeqadious> the status messages are very* problematic because of the parallel jobs :)
<temoto> Zeqadious: btw in one your job file i saw you put \ at the end of lines in 'start on' stanza. In other job i see no \.
<Zeqadious> see previous line.
<temoto> Zeqadious: so that's syntax error?
<Zeqadious> technically yes, but it will still work.
<temoto> erh..?
<temoto> I think they 100% must not require \, that would make jobs readable.
<Zeqadious> damjan: do you happen to know if the environment jobs run in is 100% posix compliant (eg. dash) or the regular 100% posix based (eg. bash)?
<Zeqadious> damjan: i get the feeling from working on this for a while that its probably /bin/sh
<damjan> I don't know
<Zeqadious> oh well
<temoto> Zeqadious: > script instead gives shell script code that will be executed using /bin/sh
<damjan> I think I've read somewhere about the implementation of script, but that was long time ago
<temoto> http://upstart.ubuntu.com/getting-started.html
<Zeqadious> at least for version 0.3.9 anyway
<Zeqadious> probably still the same however. 
<damjan> paths.h:#define SHELL "/bin/sh"
<Zeqadious> nice
#upstart 2009-04-24
<Keybuk> damjan: ?
<damjan> what??
<Keybuk> damjan: wondered why you were quoting paths.h
<damjan> [00:21] <Zeqadious> damjan: do you happen to know if the environment jobs run in is 100% posix compliant (eg. dash) or the regular 100% posix based (eg. bash)?
<Keybuk> ah
<temoto> VBoxManage startvm doesn't "run" forever, it forks VBoxHeadless and quits. VBoxHeadless keeps running. How to decribe it in therm of upstatr??
<sadmac_> temoto: if you're using 0.3.9 you're sunk. if its 0.5.1, add the daemon stanza
<temoto> sadmac_: surprisingly, i have 0.3.9 in ubuntu 9.04.
<temoto> Is 0.5 kinda experimental?
<temoto> firefox-3.5 here in packages!
<sadmac_> temoto: I'd say that it is. ubuntu has no plans to ship it
<temoto> omg.. even no plans
<temoto> This is sad.
<sadmac_> temoto: 0.10 is supposed to be ready for their next release.
<temoto> sadmac_ | temoto: 0.10 is supposed to be ready for their next release.  < i didn't understand that, sorry.
<temoto> Are you being sarcastic about their concern on stability of upstart?
#upstart 2009-04-26
<JamesB192> What's the latest on using selinux with upstart?
<sadmac_> JamesB192: works fine in Fedora
#upstart 2010-04-26
<dkam> Hey guys - I'm having trouble getting my nginx upstart script to work. Calling "stop nginx" hangs and doesn't stop the server. If I break out of 'stop' and run it again, it tells me nginx has stopped - but in reality it hasn't.  - /etc/init/nginx.conf is here: https://gist.github.com/efaccba21c77438425be
<dkam> Also - this is Ubuntu 9.10 with upstart version 0.6.3-11
<Keybuk> what does "status nginx" say before you call "stop" ?
<Keybuk> probably https://bugs.edge.launchpad.net/upstart/+bug/406397
<plautrba> Keybuk: have you noticed my last comment on utmp issue?
<plautrba> https://bugs.launchpad.net/upstart/+bug/183729/comments/15
<Keybuk> plautrba: yeah I saw
<Keybuk> I think that's probably a better approach
<Keybuk> ie. just having a passing compatibility with utmp/wtmp
<plautrba> yes, that's the idea
<plautrba> i used it in a same way for fedora 12 with upstart-0.3.11 - https://bugzilla.redhat.com/attachment.cgi?id=398797&action=edit
<Keybuk> I guess I'd like that code to be somehow merged with util/utmp.c
<Keybuk> and in a function
<Keybuk> but then that means we'd need a shared library between init and util
<Keybuk> and that gets messy ;)
<Keybuk> but then maybe that's an odd way of looking at it
<Keybuk> anyway, bed ;)
<Keybuk> thanks for the patch
<plautrba> it's used only once in init, I don't think that merging this with utils something worth it
<Keybuk> shall apply and worry about it after ;)
<plautrba> np, thank for comments ;)
<dkam> calling status: status nginx
<dkam> nginx stop/killed, process 1199
<dkam> process 1199 didn't exist.
<dkam> Yeah - looks like it could be 406397.
<diegows> hi
<diegows> where is the best place to put an script that must be executed in first place on shutdown and reboot?
<diegows> /etc/rc[06].d/K00script doesn't work because X is killed before
<wasabi_> diegows, you're not likely going to be able to drop a script anywhere on teh system and have it do things in X.
<wasabi_> Since X is contains a user session.
<wasabi_> And is not some general place that any running program can pop stuff up on.
#upstart 2010-04-27
<Keybuk> ion: I must get around to writing crazy zsh expansion for Upstart
<Keybuk> e.g. start <tab> not completing anything already running ;)
<ion> Yeah :-)
<Keybuk> but first I should probably write more of Upstart
<shan3> hi all!
<shan3> I have read the getting started page http://upstart.ubuntu.com/getting-started.html but I have a question for which I can't seem to find an answer on the site.
<shan3> Are there any special characteristics required for a script that is run by Upstart
<shan3> ?
<shan3> I have a 'traditional' service script that forks to the background and I tried many different methods inclusing using states... But I can't get it to start
<shan3> *including
<shan3> running the script from command line works fine
<shan3> Hi all. Any idea why a simple job like this: http://pastebin.com/Q6mkJzzw doesn't work?
<sadmac> shan3: looks like it would need the task keyword, since the script exits.
 * shan3 google task keyword
<sadmac> man 5 init is the docs
<shan3> sadmac: what about using the 'service' option and having a pre-start script instead... ?
<shan3> http://wiki.frugalware.org/index.php/Upstart_Job_HOWTO < says we can do that instead of script or exec
<sadmac> shan3: oh, for what it looks like you want to do that's right
<sadmac> shan3: except no service option if you're using the latest version
<shan3> sadmac: hm... if I use pre-start script, upstart doesn't even recognize my job as a job...
<sadmac> shan3: what version of upstart is this?
<shan3> the one in Ubuntu 10.04 RC
<shan3> 0.6.5
<ion> A typo or invalid syntax somewhere?
<shan3> let me try again using pre-start script without the service option... 
<shan3> that's about all I've been changing
<sadmac> shan3: the service option is no longer supported
<sadmac> shan3: its bad syntax
<shan3> Hm... so then what is the right way to run a script that exits in a job?...
<ion> Make it a pre-start/post-start script or make the job a task by using the âtaskâÂ stanza.
<shan3> ion: Thanks... I'll have to read the latest docs... seems like I've been reading outdated ones and pulling my hair out.
<ion> init(5) as sadmac said.
<shan3> yup... got it.
<LzrdKing> woah, it exists!
<sadmac> LzrdKing: yes. welcome to the pocket dimension of xindu
<LzrdKing> oh, i musty be on the worng place
<LzrdKing> woah, typos galore!
<LzrdKing> i must be in the wrong place*
<LzrdKing> how can i use upstart to bring up my wireless as soon as wlan0 is visible to the kernel?
<sadmac> LzrdKing: you need to have udev run initctl emit something so you get an event when that happens
<LzrdKing> how do i get udev to do that?
<sadmac> LzrdKing: ask in #udev :)
<sadmac> LzrdKing: depending on your distro maybe something of the kind is already set up
<Keybuk> SUBSYSTEM=="net", RUN+="/sbin/initctl emit ..."
<LzrdKing> i don't think so, as much as i've tried, i can't get wlan0 up before a mountall happens, whch tries to mount nfs shares
<sadmac> nfs + wireless + boot-essential = cry
<LzrdKing> so i can have udev emit anything that the upstart sctips then looks for?
<LzrdKing> scripts*
<sadmac> LzrdKing: indeed.
<Keybuk> if you have mountall, it sounds like you're running Ubuntu
<LzrdKing> so if it emits "wirelessnetworkvisible" then the upstart script should have "start on wirelessnetworkvisible"?
<LzrdKing> Keybuk: yes, karmic
<Keybuk> then you will already have events from udev 
<Keybuk> e.g. net-device-added wlan0
<Keybuk> which will already run "ifup wlan0" if you have wlan0 configured in /etc/network/interfaces
<LzrdKing> i do, but that mountall comes along to early
<LzrdKing> shouldn't udev emit that event before anything in rcS.d/ is run?
<sadmac> LzrdKing: you may be able to add "and net-device-up wlan0" to mountall's start conditions. Maybe.
<LzrdKing> i need the "and" for mutliple requirements?
<sadmac> LzrdKing: yes, but the "and" has some quirks and surprises
<LzrdKing> like what?
<sadmac> LzrdKing: if you have a job that says start on starting foo and bar, foo will get stuck in the starting state until bar comes along, because its starting event won't get retired until that condition is met, even though its in another job.
<LzrdKing> maybe i'll just take my nfs shares out of fstab and mount them manually in rc.local...
<sadmac> LzrdKing: or make them noauto in fstab and mount them in rc.local
* Keybuk changed the topic of #upstart to: Upstart 0.6.6 "No, she's dead, this is her son" | http://upstart.ubuntu.com/
 * sadmac counts the minutes until someone who barely speaks english and whom he's never seen before or will see again files a Fedora bug suggesting we update the Upstart package without articulating any particular need for it.
<LzrdKing> new version?
<Keybuk> yeah, nothing really important in it - just wanted to flush it out
<Keybuk> main reason is that whatever gettext I used for 0.6.3+0.6.5 had files generated against the GPLv3 version of Bison
<LzrdKing> sadmac: if i use noauto then mount -a won't mount it?
<sadmac> LzrdKing: yes
<LzrdKing> Keybuk: terrible
<LzrdKing> sadmac: have you tired to get wireless+nfs up at boot time before?
<sadmac> LzrdKing: no. I also don't use Ubuntu :) but I don't think the maintainers of any of those components are expecting to work with oneanother
<LzrdKing> sadmac: you said it was "cry"
<LzrdKing> so i thought you tried and failed miserably, as i am
<sadmac> LzrdKing: I'm crying at the idea.
<LzrdKing> it really shouldn;t be that hard, i mean, all i need to do to bring up wlan0 is "iwconfig wlan0 essid myESSID; dhclient wlano"
<LzrdKing> oops, wlan0
<Keybuk> LzrdKing: did you add it to /etc/network/interfaces ?
<LzrdKing> Keybuk: yeah i did
<Keybuk> that's all you should need to do
<LzrdKing> it didn't seem to make any change 
<LzrdKing> plus i have the iwconfig/dhclient command isn a script, plus i installed wicd
<LzrdKing> s/isn/in
<LzrdKing> startup scripts need to be organized better
<LzrdKing> so people can figure out whats going on
<sadmac> Keybuk: what's the new codename from?
<LzrdKing> rc#.d/ was easy to understand, upstart is hard
<ion> rc#.d was full of race conditions and ugly workarounds that may or may not have worked.
<LzrdKing> but i understood what was happening
<LzrdKing> i will understand upstart, eventually
<LzrdKing> messaging is wierd, things become so loosely connected now
<JanC> in the past things weren't connected at all  ;)
<LzrdKing> sure they were, program a called program b
<LzrdKing> but that was it
<Keybuk> yes, you knew that for a program to be started after networking was up, it had to be replaced with a number "higher than 40" in "runlevel 2"
<Keybuk> in Ubuntu
<Keybuk> but in Debian that had to be "higher than 35" in "runlevel S"
<Keybuk> and in Fedora that had to be "any value" in "runlevel 3 or 5"
<Keybuk> etc.
<LzrdKing> but it was easy to look at the directory listings and link your script into an existing runlevel startup
<JanC> I think there are some plans to make it possible to map what was started by what
<LzrdKing> i just need to learn the new system, then i'll say, boy that sysv crap sure was backwards
<shan3> Is it possible to use bash instead of sh for upstart jobs?
<ion> exec /path/to/bash-script
#upstart 2010-04-28
<JanC> I think shan3 wants to boot slower  ;)
<Caesar> Is there a way to validate an upstart job for anatomical correctness but otherwise not do anything with it?
<shan3> In Ubuntu 10.04, is it possible that a bash script I run from an Upstart job can exit with errors because it is not compliant with dash?
<Keybuk> your question doesn't make sense
<Keybuk> scripts run from an Upstart job (within the script...end script block) are run with /bin/sh, which on Ubuntu is dash
<Keybuk> this means you *cannot* include so-called bashisms in them
<Keybuk> they are not bash scripts
<Keybuk> if you instead call out to an executable bash script using exec, then it will be run with whatever the #! line is at the top
<Keybuk> (ie. set that to #!/bin/bash *not* #!/bin/sh)
<shan3> Keybuk: Thanks for the reply... but I cannot figure out why my bash script will not run from the Upstart job but works perfectly when run from terminal
<Keybuk> can you pastebin the upstart job?
<shan3> sure...  1 sec
<shan3> http://pastebin.com/JVLiFwaZ
<Keybuk> /usr/sbin/mfmrootdaemon being the bash script?
<shan3> yes
<Keybuk> well, it could be any number of issues
<Keybuk> for example, is /usr even mounted/
<Keybuk> it's stopped when rcS is started, which might be quite soon after udev is started
<Keybuk> it might need mounted filesystems like /proc, which aren't available when udev is started
<Keybuk> have you tried adding set +x to your bash script, and "console output" to the job, to see what it fails on?
<shan3> but it should work if I run 'sudo start myjob' , right?
<Keybuk> if it works when you do that, but doesn't work otherwise, then it would be a dep issue
<Keybuk> if it doesn't work when you "sudo start", then I'd do the set +x/console output trick to see how it fails
<shan3> no it doesn't work when I use start... I'll try set +x now
<Keybuk> the set =x goes at the top of mfmrootdaemon obviously
<Keybuk> set +x I mean
<Keybuk> it makes bash print each line before executing it
<Keybuk> so you'll see where it breaks
<shan3> Keybuk: do you mean set -x ? coz that print the commands and arguments... either way, I've added 'console output' ans set +x and also set -x... but still no output
<Keybuk> err yes
<Keybuk> maybe -x
<shan3> -x enables and +x disables... 
<shan3> start outputs 'myjob start/running' but there is no sign on it in ps
<shan3> *of it
<Keybuk> notting: around?
<notting> sure, why not
<Keybuk> I hear RedHat have written their own init replacement, and will be using that instead of Upstart
<Keybuk> care to comment?
<notting> (give me a few minutes)
<Keybuk> :-)
<notting> someone who is a RH employee is writing something in their spare time. i have not looked at what they've written so far
<notting> there are no current plans to either ship it, or not ship it
<Keybuk> they claim RH is paying them to write it
<Keybuk> and that it's a foregone shoe into Fedora
<notting> i'm not exactly comfortable attempting to talk about a third party in their absence. i'd prefer to let them speak for themselves.
<notting> but nothing has been built for fedora, or proposed for fedora, or discussed in fedora in any way
<mclasen> I'm sure it will be, in time
<Keybuk> notting: ok ;)
<Keybuk> so you don't know much about it
<notting> i know of it/the basics about it
<ion> iNIHt
<ion> Nothing wrong with NIH if you have a good reason for it. Whatâs the reason for the RH init?
<notting> no linux subsystem is complete unless there's a implementation that starts with 'g' and an implementation that starts with 'k'. init has neither.
<Keybuk> it's all about the 'u' now
 * notting waits for canonical to come out with their ibis mascot, then
<sadmac> Keybuk: I heard this rumor too. My reaction was the same as yours.
<Keybuk> sadmac: I had a reaction? :p
<sadmac> Keybuk: yes. I asked notting :)
<Keybuk> when I first heard about it (six months ago?) I didn't expect it to actually get finished, so yeah, I guess I'm surprised about that ;p
<Keybuk> ah, that it's basically launchd?
<sadmac> Keybuk: I know nothing about it
<sadmac> Keybuk: where'd you hear it from?
<Keybuk> various people leaking things to me, until finally Lennart came clean and sent me the draft announcement today
<sadmac> Keybuk: its lennart then?
<Keybuk> who else? :p
<sadmac> Keybuk: I actually did think that earlier.
 * sadmac wonders if he hasn't done enough damage
<Keybuk> damage?  he did a great job on Avahi, finally killing that evil mdns responder crap from Apple
<Keybuk> and PulseAudio killed esd
<sadmac> Keybuk: Pulseaudio killed puppies too
<Keybuk> I never said that ;)  you said that ;)
<sadmac> Keybuk: avahi... no opinion, I'll give you that one
<sadmac> Keybuk: Whenever Ubuntu gets that magical patch that makes Pulse not suck upstream then I'll be ok (not your fault in this case. He won't take the damn thing.)
<Keybuk> is that the "apt-get remove pulseaudio" patch?
<sadmac> Keybuk: also, do you look at it as killing esd or cementing alsa?
<JanC> pulseaudio works fine
<JanC> except for 1 usage scenario maybe (a system daemon like mpd needing to play sound, but even that's solvable)
<Keybuk> yeah, it's always worked ok for me
<sadmac> right now this box will periodically produce static instead of sound unless I kill pulse.
<sadmac> and that's for straight alsa apps
<sadmac> if it goes through gstreamer it hardlocks
<sadmac> busy-looping inside libpulse
<JanC> your gstreamer uses pulse I hope?
<sadmac> JanC: yes. It seems to use it in such a way that it hits the pulseaudio glitch harder, or hits a different glitch.
<JanC> anyway, never seen that happen recently on Ubuntu (for at least 1 year)
<JanC> may depend on the hardware though
<sadmac> intel
<sadmac> this box is on its second motherboard too. same problems as the last chipset on this one.
<JanC> I think you mean HDA, intel doesn't make audio chips (anymore?)
<sadmac> yeah. that's what I mean
#upstart 2010-04-29
<Keybuk> huh
<Keybuk> I just realised how something combines nicely to make "manual" mode easy
<Keybuk> echo manual >> /etc/init-override/something.conf ;-)
<Keybuk> wow
<Keybuk> so, err
<Keybuk> really
<Keybuk> ion: we *really* don't need udev
<ion> Nice
 * Keybuk blames Caesar
<Caesar> You what?
<Caesar> Oh that
<Caesar> /etc/default for evar!
<Caesar> Hmm, /etc/init-override, do you really need to take another directory in /etc for this?
<Caesar> Can't you have it in /etc/init?
<Keybuk> /etc/init is where normal configs go
<Keybuk> maybe /etc/init/apache.override ?
<Caesar> Yeah, that sounds reasonable
<Keybuk> .conf
<Keybuk> .custom
<Keybuk> ;-)
<ion> /lib/init, /etc/init ;-)
<ion> (Yeah, i see major reasons for that not to be desirable unless /etc/init provides a syntax to make any arbitrary changes to what /lib/init says.)
<Keybuk> /Library/Init/Daemons
<Keybuk> /System/Library/Init/Agents
<ion> Hah
<Keybuk> can't remember the third one off hand
<Keybuk> it's Daemons, Agents and something else
<ion> Does MacOSX have a case-insensitive filesystem?
<Keybuk> case sensitive iirc
<ion> In that case, the capital letters are insane. :-P
<Keybuk> no more insane than lower case letters ?
<Keybuk> it's quite justifiable in fact
<Keybuk> same justification for "Makefile" etc.
<Keybuk> /S<tab> gives you something systemy, not a file or other directory
<ion> /v/l/d/i<tab> expands to /var/lib/dpkg/info. Iâd personally find having to type /V/L/D/I<tab> instead just annoying. :-) The shell can be made to do a case-insensitive match, of course, but iâd find a case-insensitive filesystem a nicer solution.
<Keybuk> zsh is the default shell in OS X isn't it?
<ion> Dunno
<Keybuk> haraldh: hey
<haraldh> moin
<Keybuk> how goes?
<haraldh> fine :)
<haraldh> and for you?
<haraldh> will you adopt dracut?
<ion> Will you adopt update-initramfs? ;-)
<haraldh> :)
<haraldh> hmmm... no
<haraldh> maybe assimilate :)
<Keybuk> haraldh: I would have thought dracut would be based on systemd now?
<ion> Iâm actually ignorant about their differences. For all i know, dracut may be amazingly better.
<haraldh> ion, "better" is maybe not the right word
<haraldh> more flexible maybe
<haraldh> Keybuk, no
<haraldh> Keybuk, will not happen
<haraldh> not in the near future
<haraldh> Keybuk, so, I guess you are well informed about systemd :)
<Keybuk> I know it exists ;-)
<haraldh> but haven't seen the code yet?
<Keybuk> ing-commander systemd% ls
<Keybuk> 99-systemd.rules  device.h                       ratelimit.h
<Keybuk> CODING_STYLE      execute.c                      securebits.h
<Keybuk> LICENSE           execute.h                      service.c
<Keybuk> Makefile.am       fdset.c                        service.h
<Keybuk> ...
<Keybuk> ;-)
<haraldh> :)
<haraldh> and what are your feelings about it?
<Keybuk> you mean aside from the fact it's basically launchd?
<haraldh> yes
<Keybuk> none really
<Keybuk> it's a different approach, I think Lennart is wrong for a number of reasons, but I don't have any resentment over him working on it
<haraldh> ok
<haraldh> because he was worried about it
<Keybuk> if he was worried, he would have talked to me about it early on ;)
<haraldh> well he did sort of
<haraldh> tried to talk you into implementing cgroups and stuff
<Keybuk> yeah, and I told him what's wrong with them - and he didn't listen :p
<Keybuk> but *shrug* Lennart ;P
<haraldh> :-)
<Keybuk> I think Fedora people have more cause to have feelings than me
<haraldh> I hope not .)
<Keybuk> from my POV, I have guaranteed Upstart users in the form of Ubuntu
<Keybuk> so even if none of the other distros used it, I could still entertain myself maintaining it
<Keybuk> as long as I thought I was right, that is :p
<haraldh> true
<haraldh> use what works for you
<haraldh> that's my credo
<Keybuk> but I think Lennart is in for more of a struggle there than he raelises
<Keybuk> it's taken four years to get Upstart into other distributions
<Keybuk> and it had to be proven rock solid stable
<Keybuk> he's facing quite an uphill battle ;)
<haraldh> true
<Keybuk> anyway, yeah
<Keybuk> I'm quite froody about the whole thing ;)
<Keybuk> I've known about it since November
<Keybuk> so it's not exactly a surprise, though the timing was awkward - as want to make sure we get a positive response out straight after he announces to avoid any community member mudslinging
<Keybuk> on dracut
<Keybuk> I don't think I'll have time to do anything about it this cycle
<haraldh> kk
<Keybuk> I'd still like to talk to you about it though, as been thinking about what you said at Plumbers, and increasingly think that the right way to go is going to be to include init itself in the initramfs - and pass state into the full system
<haraldh> hmm
<ion> I concur
<haraldh> me2
<ion> Having a completely different âinitâ based on whether we have a / mounted yet would seem quite arbitrary in hindsight at the point thereâs an init implementation that can handle the switch.
<ion> And completely different ways of getting network up and partitions â root or not â mounted.
<Keybuk> right, they'd become the same
<Keybuk> and if my hunch is correct that we don't need udevd anymroe
<Keybuk> it makes the initramfs really simple
<ion> Indeed
<Md> how would you load drivers without udevd?
<Keybuk> Md: so, I was drawing a diagram of the plumbing layer
<Keybuk> explaining what each bit did
<haraldh> and identify raid signatures?
<Keybuk> and I realised I'd missed udevd off
<Keybuk> and it still worked
<Keybuk> think about it, what does udevd actually *do*
<Keybuk> it doesn't make device nodes anymore, those are made by the kernel
<Keybuk> it (mostly) doesn't do permissions anymore, those are done by the ConsoleKit ACL helper
<Keybuk> it doesn't directly talk to apps, apps just listen on the netlink socket
<Keybuk> and we have two daemons (init & udevd) listening on the netlink socket and running stuff
<haraldh> well udevd broadcasts on the netlink socket
<haraldh> giving more infos about devices
<Keybuk> sure, but that info is already in the db
<Keybuk> so an app using libudev has it anyway
<haraldh> true, but it has to be created
<haraldh> with all the udev helpers
<Keybuk> ah, but does it
<Keybuk> what if the udev helpers were instead run the first time an app queried the db?
<haraldh> on the device?
<Keybuk> that's a bit more "on demand" than "probe every damned device on boot"
<haraldh> hmm
<haraldh> it's like upstart vs systemd :)
<haraldh> on demand vs event driven :)
<Keybuk> ;-)
<Keybuk> I was actually talking to Apple guys it turns out
<Keybuk> comparing notes on our respective layers
<Keybuk> so it's no surprise it sounds bit like launchd, err, systemd ;)
<haraldh> :)
<Md> still, you have not explained what will load the drivers
<Keybuk> Md: as I said, we have *two* daemons *today* that can run things on kernel events
<Keybuk> upstart is quite capable of running modprobe
<Md> maybe assuming a perfect kernel which does not need any fixup rules
<Keybuk> it'd be easier to write those in shell than in udev's evil rules syntax :p
<Keybuk> interesting thought experiment anyway :p
<Keybuk> I'm not going to start a "de-udev-ification" in maverick <g>
<Keybuk> though I may experiment towards the end of the timeframe once everything else is stable
<Keybuk> (in a consider for 11.04 kinda way)
<Keybuk> right bed
<BCMM> how does one control which services are started at boot time?
#upstart 2010-04-30
<melter> how do i specify in a script what to do when a service is stopped or restarted?
<sadmac> melter: depends on what that script does and how it relates to the script stopping
<melter> it's for a database
<sadmac> melter: what does it do?
<melter> starts the database at boot and shuts it down when the server is rebooted; i've also got other scripts, but that's the one i'm re-writing atm
<melter> is there a complete upstart reference somewhere?
<sadmac> melter: man 5 init
<melter> it looks like pre-stop will work, but what does "It will be run before the job's stopping(7) event is emitted and before the main process is killed." mean? Will a stop command kill my database process?
<sadmac> eventually, yes
<melter> so how do i safely shut down something important without data loss?
<sadmac> in pre-stop you'd quiesce it and halt it
<melter> sadmac: thanks
<ion> <@ahu> classic 'One of our Google Summer of Code students took this to heart and implemented a binary search that was unfortunately not only incorrect but also slower than the linear search'
<ion> keybuk: It might be nice to have watershed-like functionality for tasks. âstart fooâ if foo is already running would OR the âstart_againâ flag for the instance with TRUE and when the instance stops, it would be started again if start_again is true.
<Keybuk> yeah, I can see why that'd be useful
<Keybuk> "restart task when done if another start request came in while it was running"
<ion> Should also happen with start-inducing events including cron-like ones and state changes.
<Keybuk> sure
<Keybuk> same thing really
<ion> Yeah
<Keybuk> my next two weeks are going to be trying to write down Upstart design stuff
<Keybuk> draw pretty diagrams etc.
<ion> Alright
#upstart 2010-05-02
<dkam> Hey guys - I run a web app which requires a couple of daemons to run - is it appropriate to use Upstart to manage these users based processes?  
<dkam> Seems like a good way to do it - starts up at system startup, respawns if it crashes. 
<dkam> Does this look sane?  http://gist.github.com/386808
<dkam> (I'm still not quite sure about where the environment variables go - I think sudo eats them if I don't put them within the sudo call)
<torment> how can i tell upstart to not start network-interface from grub?
<torment> its hanging my system boot
<torment> no takers huh
<Keybuk> don't you just hate it when you write an e-mail that would make an awesome blog post, but can't, for any number of reasons, post it publicly :-(
<ion> Heh
<ion> Perhaps some unknown person just happens to get hold of it and post it anonymously in a pastebin/wikileaks/something. :-P
<Keybuk> lol
<Keybuk> I don't really want to enter a public argument with Lennart over systemd vs. upstart
<Keybuk> or, indeed, a private argument ;)
<Keybuk> mail was answering internal questions as to why Upstart doesn't do some of the things systemd does
<Keybuk> like why cgroups don't work for process supervision
 * Keybuk played with them for Upstart a couple of years ago, if you recall
<ion> Yeah, vaguely
<Keybuk> it's the screen problem
<Keybuk> you place each service in a cgroup
<Keybuk> cgroups ensure each child process is in the same cgroup
<Keybuk> and you use the cgroup feature where a cgroup becoming empty notifies the cgroup creator
<Keybuk> so, getty has a service
<Keybuk> that service has a cgroup (debug:/systemd-1/getty@.service/tty1 in systemd)
<Keybuk> you login, your login process stays in that cgroup
<Keybuk> and your bash process stays in that cgroup
<Keybuk> now you run screen
<Keybuk> that stays in that cgroup
<Keybuk> and you run something like irc
<Keybuk> that stays in that cgroup
<Keybuk> you now detach screen, and exit bash (and thus exit login)
<Keybuk> screen is still running
<Keybuk> irc is still running
<Keybuk> the cgroup is not empty
<Keybuk> getty is not respawned
<ion> Right
<ion> I was thinking of how to collect disk usage patterns for optimum reordering in the far future. There could be a daemon that constantly gets information about block reads from the kernel and updates a markov chain. A defrag process could then run with idle IO priority and reorder filesystem blocks to optimize for the parts of the chain with the highest usage weights. The chain could additionally be pruned of stuff below a weight threshold every now and then. I have ...
<ion> ... no idea whether that would actually be feasible, but there must be a way to do something similar, since Windowsâ¢ is doing it. Another thought: a device mapper that does filesystem-independent block reordering based on that data.
<Keybuk> it would be pretty trivial with btrfs
<Keybuk> though why would you want to reorder the filesystem all the time?
<Keybuk> you only really care about the order of things read during boot
<Keybuk> to try and group them together
<ion> I also care about things read during post-boot computer usage. Windowsâ¢ does that too, optimizing blocks for frequently started pieces of software.
<ion> The actual reordering doesnât need to be constant. It could also happen every now and then.
<Keybuk> bear in mind though that the newer Linux filesystems tend to not fragment as much
<Keybuk> so exactly what windows does might not be relevant
<Keybuk> you might, instead, for example want to keep track of the most commonly used files
<Keybuk> rather than blocks
<ion> Nevertheless, if a person always starts OpenOffice and Firefox after booting the system, it would be nice for the blocks to be in roughly sequential order.
<Keybuk> and when those packages are upgraded, hint strongly to btrfs not to accept fragmentation
<Keybuk> right, but the windows approach is probably wrong
<Keybuk> (for Linux's filesystems)
<ion> The base concept sounds good for any filesystem. Generate a statistical model, such as a markov chain, and reorder blocks based on what weighs the most in the model.
<ion> And, naturally, keep evolving the model forever. There should also be a bias toward recent usage patterns.
<Keybuk> no
<Keybuk> again
<Keybuk> you don't want to reorder *blocks* on a Linux filesystem
<Keybuk> you want to reorder *files*
<ion> Make that more generic: s/blocks/data/, so an implementation that reorders files matches the description. :-)
<Keybuk> it'd be pretty easy to write though
<Keybuk> just enable open tracing
<Keybuk> and on shutdown read through /sys/debug/tracing/trace and update your file lists
<Keybuk> then reorder
<ion> Yeah
<JanC> reordering files takes time too  ;)
<ion> Naturally
<Keybuk> my iPhone feels a lot smaller now
#upstart 2011-04-25
<jMCg> Hey guys.
<steffen_b2> hi
<jMCg> I'm trying to write an init script for trafficserver. The start really works simple -- but the problem is the stop.
<jMCg> upstart doesn't clean up all the children: when I start traffic_cop, that will spawn traffic_manager which will spawn traffic_server - so a stop needs to stop all these.
<Keybuk> an init script or an upstart conf file?
<Keybuk> upstart should clean them all up unless they break session
<Keybuk> ps -j ax
<Keybuk> can you paste the relevant bit for those scripts?
<jMCg> http://pastebin.com/BnDmvNZ3
<Keybuk> no, I mean the relevant part of the ps output
<Keybuk> also that "&" is totally not meant to be there, right? :p
<jMCg> Keybuk: yes, they seeem to do that.
<jMCg> http://pastebin.com/9mGVpe7F
<jMCg> I'm a little confuzzled - I wonder how that looks in Solaris.
<Keybuk> yeah they broke session
<Keybuk> Upstart kills everything in the process group it knows about
<Keybuk> which in this case is 26499
<jMCg> How does one break sessions?
<Keybuk> so it wouldn't kill anything in 26504
<Keybuk> setsid()
<jMCg> Why would it make sense to start a new session?
<Keybuk> who knows
<jMCg> oh man, I love comments like this:   setsid();                     // Important, thanks Vlad. :)
<jMCg> Well, that's in traffic_cop, and then there's one in traffic_manager, it seems.
<jMCg>   while ((setsid() == (pid_t) - 1) && (errno == EINTR)) {
<Keybuk> so yeah, if killing one doesn't clean up its own mess, meh
<jMCg> Solaris has a different way to track this. They do so via contracts.
<jMCg> That's why this https://svn.apache.org/repos/asf/trafficserver/traffic/trunk/rc/trafficserver.xml.in works on Solaris, but this: http://pastebin.com/BnDmvNZ3 doesn't work on Linux.
<Keybuk> there are ways to do that on Linux too
<JanC> jMCg: isn't there a way to tell trafficserver to shut down everything?
<jMCg> JanC: "trafficserver" is a rather fragile script that tracks pids and does that.
<jMCg> JanC: https://svn.apache.org/repos/asf/trafficserver/traffic/trunk/rc/trafficserver.in
<jMCg> Keybuk: such as?
<Keybuk> cgroups
<jMCg> http://www.freebsd.org/cgi/man.cgi?query=ctrun&apropos=0&sektion=0&manpath=SunOS+5.10&format=html
<jMCg> Keybuk: anyway, you think it'll do any harm to remove the above while loop from the second-in-line daemon?
<Keybuk> no idea
<Keybuk> without knowing why Vlad thinks it's important ;)
<jMCg> Nonono. That's in the first daemon.
<jMCg> And I don't even know who that guy is. We don't have a Vlad on the project right now.
<jMCg> (But we have two Igors, me being one of them)
#upstart 2011-04-26
<jMCg> meh.
<jMCg> sudo stop httpd-atkobe -- hangs, because I've started the httpd through start-stop-daemon.
<jMCg> Actually it hangs no matter what..
<jMCg> http://pastebin.com/zKTBDvGZ
<ion> Iâm almost the forking behavior of that main process doesnât match âexpect forkâ.
<ion> almost sure
<jMCg> ion: it's an apache server.
<ion> Better to remove the âexpectâ stanza and make the main process not fork if youâre not 100Â % sure of how it behaves.
<ion> s/not fork/not daemonize/
<jMCg> https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/438313
<ion> rather https://bugs.launchpad.net/upstart/+bug/406397
<jMCg> ion: unsure. It starts on boot, but cannot be stopped/restarted later on.
<ion> Yeah, thatâs a symptom of using incorrect âexpectâ.
<hunterloftis> New upstart user, simple 1-line script, having trouble understanding permissions... trying (just for now) to run as root
<hunterloftis> But I get "-su: line 0: exec: /var/node/golf/server.js: cannot execute: Permission denied"
<hunterloftis> oh - maybe I need to chmod +x the thing?
<hunterloftis> cheers =)
<jMCg> ion: removed expect, now it doesn't start :-/
<jMCg> http://pastebin.com/cpeUsN0a
<jMCg> added expect daemon, and now upstart *thinks* it starts.
<jMCg> httpd-atkobe start/running, process 1421
<jMCg> i.galic@kobweb /etc/init % ps -cafe | grep 142[1]
<steffen_b2> exec "$0" "$@"'
<steffen_b2> doesnt look right actually
<steffen_b2> hi 
<steffen_b2> :)
<jMCg> steffen_b2: I think scott or ion showed me that
<steffen_b2> what does that do ? 
<steffen_b2> /opt/bw/bin/httpd-worker -f /etc/bw/apache/vhosts
<steffen_b2> looks like this is what you want to execute 
<steffen_b2> but i shut up 
<steffen_b2> i dont know the problem 
<steffen_b2> and need to get some sleep ;) 
<steffen_b2> bye
 * jMCg too needs to sleep ~_~
<TJ_> what can be the reason of getting "unable to execute: Permission denied" when i try to start something with upstart that has 777 as mode ?
<TJ_> ah, never mind... damn.. need more coffee
<jMCg> the problem with this:         su -s /bin/sh -c 'exec "$0" "$@"' komunalbedarf.at -- /opt/bw/bin/httpd-worker -f /etc/bw/apache/vhosts/komunalbedarf.at/httpd.conf -k start
<jMCg> Is that you cannot expect fork or expect daemon in upstart... Expect fork expects one, expect daemon two, but the above should result in three or four forks...
<ion> Indeed
<ion> So make it not daemonize.
<jMCg> Yeah. And tell it to expect daemon or what?
<ion> Drop the âexpectâ
<jMCg> ACK.
<jMCg> Anyway. One more important.. feature, or maybe I'm not aware of that.
<jMCg> SMF has different modes a service can be in.
<jMCg> One of them is "maintenance" meaning the start or restart didn't work.
<jMCg> SMF also comes with a log file for each service, so when a service is in maintenance you can see why that is.
<jMCg> I would be enormously useful if something like /var/log/upstart/service[:instance].log was automatically created for every service.
<jMCg> ion: this: http://pastebin.com/QWrtZ4Ei is pretty ugly.
<ion> exec su â¦
<jMCg> But at least I can start/stop it now. And scott said the next release will come with the feature I most need
<jMCg> What I don't quite get is how upstart can follow here - since httpd has a different session ID... oh...
<jMCg> In this case it works because the processes hang on each other, if I kill the shell, the daemon is a goner too, because it didn't detach, so got nothing todo with the session ID.
<SpamapS> jMCg: such a feature is planned for the near future
<SpamapS> jMCg: if you want the output of the job logged,   | logger works.
<radix> I have an /etc/init/munin-node.conf, but "start munin-node" is saying that it's an unknown job
<radix> I'm not sure why this happened in the first place on my system, since I just installed the munin-node package, but I'm wondering if there's a way to get upstart to tell me what all known jobs are
<radix> ah, I found initctl list
<radix> aha, and reload-configuration fixed it
<JanC> radix: that shouldn't happen though
<JanC> unless you disabled inotify in your kernels or something like that  ;)
<marrusl> or are running in a chroot on natty, but....  yeah.
#upstart 2011-04-27
<SpamapS> start xxxx always looks for the job tho.. at least, thats what I thought
<hvgotcodes> ive tried to do . /etc/environment and then export avar but my process cannot see the 'avar' variable
<ion> set -a first.
<ion> Whoops, i missed that you did export the variable.
<ion> Thatâs not the problem then. We need more information.
<Keybuk> hvgotcodes: could you pastebin your .conf file?
<hvgotcodes> Keybuk: sure
<hvgotcodes> Keybuk: https://gist.github.com/80bdf98f03a57fba2538
<Keybuk> ah, I see what you did
<Keybuk> "." isn't an upstart keyword
<Keybuk> it's a shell command
<Keybuk> surround everything from that "." to after the exec in a script/end script block
<Keybuk> http://paste.ubuntu.com/600007/
#upstart 2011-04-28
<jMCg> Keybuk: ETA until the new, super great features are released? (Automatic logging, run as user, capabilities)
<Keybuk> jMCg: I don't have a patch for automatic logging ;)
<jMCg> Keybuk: how difficult is it to achieve that everything upstart runs through exec, pre-start, post-start, etc... has it's stdout and stderr filtered to /var/log/upstart/service[:instance].log ?
<jMCg> That would be really helpful, when you change a config, restart, and all of sudden mysql is givin you the finger and you don't know why.
<Keybuk> jMCg: it requires a logging service running that receives input from those file descriptors and writes to the filesystem
<Keybuk> while coping with buffering due to read-only filesystem during boot
<Keybuk> and deals with a filesystem being fundamentally read-only (Chromium OS, for example)
<Keybuk> and also avoiding the problem where if that logging service dies, every single process on the system immediately SIGPIPEs
<jMCg> Keybuk: I suppose SMF simply requires you to run your Solaris on an Filesystem that doesn't suck... - or it logs only services which depend on milestones >= filesystem
<Keybuk> I don't know, I haven't looked at SMF in years
<jMCg> And I haven't looked at it in.. hours.
<JanC> Keybuk: weren't you going to include a logging daemon, cron, initd, at, udevd, a dbus daemon and an X session manager into upstart?  ;-)
<jMCg> No X please, it's obsolete. But we could put in a kernel.
<JanC> :P
<Keybuk> JanC: a variation of "include into" that means people could pick and chose their components and defaults
<Keybuk> upstart is not systemd after all ;)
<JanC> well, I think personally you don't need cron into upstart, but a time-based service could issue events that upstart then handles
<jMCg> IIRC, launchd has something of that kind
<JanC> which is probably what you were thinking already
<Keybuk> JanC: I see that as the same thing
<jMCg> "cgroups are used to track service processes, instead of PIDs. This means that daemons cannot "escape" systemd even by double-forking."
<ion> There are problems with using cgroups like that, which is why Upstart will go with an approach based on proc connector.
<jMCg> I thought it used ptrace?
<ion> âwill goâ
<Keybuk> jMCg: and yet systemd explicitly recommends software doesn't daemonize
<Keybuk> man daemon on a sd system
<Keybuk> so I guess that works well for them
<jMCg> Keybuk: what does upstart recommend?
<Keybuk> "Moreover, since some of these steps interfere with process monitoring [...] of the init system is recommended not to execute them"
<Keybuk> jMCg: Upstart recommends that if your software doesn't work with the init daemon, you file a bug on the init daemon ;)
<jMCg> +1 :)
<JanC> well, I guess there are several ways to handle forking etc., and all have pros & cons?
<JanC> the easiest is if services are well-behaving themselves  ;)
<ion> Daemonizing canât really be thought as bad behavior per se.
<ion> In fact it can used as a good indicator about when the daemon is ready.
<JanC> right, but I was thinking more about starting sub-processes and then not keeping track of them
<jMCg> heh.. SMF has killed my "daemons" after a timeout (usually 60) seconds, when I forgot to add a '&'
<JanC> sombody complained about the earlier
<JanC> about that
<jMCg> That was me.
<JanC> ;)
<jMCg> I've got a bug on that.
<jMCg> https://issues.apache.org/jira/browse/TS-755
<jMCg> I said if nobody complains, I'll commit that shit. Nobody's complained in three days. I think I can commit it.
<JanC> hehe, we just set a rule for the new ubuntu-be locoteam leadership council "if nobody complains within 7 days, a proposal is accepted"  ;)
<jMCg> How long can someone complain about that rule, or is that instantly valid?
<JanC> it was proposed last Monday, and will be formally accepted next Sunday  ;)
<jMCg> On a sunday, that's unfair, people are hungover on sunday.
<jMCg> wh00t. I just realized, I haven't tested this shit.
<JanC> Sunday evening  :P
<JanC> anyway
<JanC> it was already accepted by everybody important today  :P
#upstart 2011-04-29
<hvgotcodes> test
<codebeaker> Pong!
#upstart 2011-04-30
<plzHelp> hi everyone, I am pretty new to upstart. I have tried to follow an extremely simple example in upstart's getting start page but with no success. Anyone care to help?
<plzHelp> ok, i guess no is in here
<plzHelp> no one is in here
#upstart 2011-05-01
<steffen_b> hi 
<steffen_b> does anyone know how dbus interacts with upstart 
<steffen_b> i'm having some shutdown problems (daemon not stopped before switch off) 
<steffen_b> i tried the unmount-remote-filesystem event (which is in init.d) 
<steffen_b> and i only get functional working shutdown (sort off) if i switch off the dbus stop on
<steffen_b> maybe someone else has natty here is well
<sammy> a GUI? anywhere? someone in #ubuntu suggested I ask here but I just can't believe there isn't a GUI included w Ubuntu by default for managing services
<ion> Feel free to contribute one. :-)
<sammy> ion: :P I guess services are pretty low level, and maybe leaving them to the command line is smart.
<JanC> there is a tool that can enable/disable services IIRC
<JanC> GUI tool
<steffen_b> not that important 
#upstart 2012-04-24
<bradleyayers> any timeline plans for state rewrite?
<SpamapS> bradleyayers: I believe its been on hold since Keybuk reduced his involvement so much after leaving Canonical
<bradleyayers> damn :(
<bradleyayers> that's really really a shame
<SpamapS> bradleyayers: probably more likely that you will see a reworking of 'expect fork' into something new before the state rewrite
<bradleyayers> so is the project basically 100% james now?
<SpamapS> bradleyayers: slangasek and I chip in here and there, and we've gotten patches from redhat and a few other community contributors
<bradleyayers> fair enough
<bradleyayers> canonical should replace keybuk :)
<SpamapS> jodh has been pretty good :)
<SpamapS> bradleyayers: the state problem has fairly straight forward work arounds now too
<SpamapS> bradleyayers: did you have a particular problem in mind that needs the state rewrite? I've solved most of them with the 'wait-for-state' job we added in Ubuntu 11.10
<SpamapS> granted, the addition of a 'while' keyword would be way better. :)
<bradleyayers> well, i suppose i just don't understand wait-for-state, and havent found a good tutorial for it
<bradleyayers> i basically want "start on started rabbitmq and started postgresql" "stop on stopping rabbitmq or stopping postgresql", and for my job to be started when either one is restarted
<bradleyayers> (my job relies on both postgresql and rabbitmq, so if either is restarted, i want my job to stop gracefully (and block the restarting thing), then start when it comes back up)
<bradleyayers> wait-for-state seems a bit cryptic to me and i'm not sure how to apply it to my situation
<bradleyayers> SpamapS: ^
<SpamapS> bradleyayers: your job is broken, IMO, and should be fixed to start normally without either of them available yet.
<SpamapS> bradleyayers: because if it needs rabbit and postgres, they might be on a different box, and you can't control the order of boxes w/ upstart
<bradleyayers> by box you mean computer right?
<bradleyayers> hmm i see your point
<SpamapS> we went through it w/ openstack too
<SpamapS> openstack will likely run on thousands of computers
<SpamapS> so it starts up with 3 phass.. 1) sanity checks, 2) poll for resources, 3) running
<SpamapS> s/phass/phases/
<bradleyayers> yep
<SpamapS> But yeah, until you have that baked in..
<SpamapS> you need sequencing.
<SpamapS> so wait-for-state, you'd just put this in pre-start:
<SpamapS> start wait-for-state WAIT_FOR=rabbitmq WAITER=mything
<SpamapS> start wait-for-state WAIT_FOR=postgres WAITER=mything
<bradleyayers> well wait-for-state won't scale to more than one box right
<SpamapS> and just start on runlevel [2345] and stop on stopping postgresql or rabbitmq
<SpamapS> bradleyayers: right
<bradleyayers> so i'd be better just changing my process to have a proper startup sanity + poll for resources check
<SpamapS> yeah
<bradleyayers> then my process will die if either resource becomes unavailable
<bradleyayers> and will be restarted, and my startup checks will just keep it hanging there until the resources come back up
<bradleyayers> i suppose what jumps out to me in that scenario is that i lose the ability to tell if my process is really running yet using just upstart's "status"
<bradleyayers> which i suppose is fine, if you're thinking in a multi box setup
<SpamapS> well no, just poll for a very long time for the things you need, you shouldn't be respawning much :)
<SpamapS> bradleyayers: the fine grained eventing is for early-boot plumbing.
<bradleyayers> right
<bradleyayers> so i've just been taking the wrong approach
<SpamapS> we all have
<SpamapS> because it was easy to "get it right" when it was all in a single thread
<bradleyayers> yeah
<SpamapS> and you had 5 servers
<SpamapS> now you have parallelism everywhere, and 100+ servers
<bradleyayers> ya
<SpamapS> the scenario that makes me wonder is the massive powerfail
<bradleyayers> hah, yeah
<SpamapS> I remember the livejournal outtage, how they had to bring things up carefully
<bradleyayers> but really you shouldn't need to 'bring things up carefully' right?
<bradleyayers> i guess if you have a bunch of things all trying to become master
<SpamapS> dbs -> cache servers -> storage servers -> queue workers -> app servers -> proxies
<SpamapS> leader election *should* always be autoatic
<bradleyayers> but if everything just sits around waiting for their dependencies to be alive, why would you need to be careful about what order you start things up?
<SpamapS> well you wouldn't
<SpamapS> but thats now how things are put together all the time
<SpamapS> its getting better though
<bradleyayers> yeah
<SpamapS> EC2 helps with that.. since crap goes down so often. :)
<bradleyayers> well i greatly appreciate the advice
<SpamapS> more people are used to writing resilient services
<SpamapS> bradleyayers: and I appreciate the kick in the pants to document wait-for-state better
<bradleyayers> i believe i've been nagging for a long time :P
<bradleyayers> when you document it, you should put a flow diagram in :D
<SpamapS> and a pony
<SpamapS> everybody wants a pony
<bradleyayers> perhaps as the background
<bradleyayers> the colour scheme of the diagram should match the pony also
<SpamapS> if I ever own a horse
<SpamapS> I will name it Idempotent
<SpamapS> cause I want him to run the same way, over and over
<bradleyayers> haha
<bradleyayers> i'm not sure the wit would be appreciated by many :P
#upstart 2012-04-26
<bradleyayers> How can I make upstart honor user job `start on` stanzas?
<bradleyayers> for example I have a user job with `start on runlevel [2345]`, yet it does not start when the computer starts
<bradleyayers> i have already enabled user jobs (i.e. update dbus config for upstart)
<bradleyayers> it's as though upstart doesn't load user jobs until at least after runlevel
<bradleyayers> so it seems that user jobs don't honor `start on` until i create a session by connecting via dbus from the user
#upstart 2012-04-27
<bid> hi, is instance is a good way to pass args? i want to do somthng like this: service myapp arg restsrt. basicly i want to exec a different command depending the "arg" value... 
<SpamapS> bid: instance is for running two of the same job at the same time.
<SpamapS> bid: you can just use any variable you want in the job
<SpamapS> bid: so 'start yourapp FOO=bar' will set $FOO to bar in the job
<bid> thanks SpamapS, so i can do this "service myapp start foo=bar" and inside my script i can do this if [ "$foo" -eq "bar"]; then exec ... fi 
<SpamapS> bid: yes
#upstart 2012-04-29
<alienth> i know the plan is to eventually have upstart handle temporal triggers, and be able to deprecate some areas of cron. Are there any thoughts in that implementation on how to handle email output in a cron-like way?
<alienth> or should temporal tasks which need to email output stay in cron?
<SpamapS> alienth: the addition of cron has been shelved, I don't know that it is a priority for anybody committing to upstart regularly.
<SpamapS> alienth: so yes, I'd suggest using cron for all temporal tasks
<SpamapS> (and IMO, its not really upstart's job, even if it would be easy.. ;)
<alienth> SpamapS: txh for the input :)
<spladug> SpamapS, what about starting upstart tasks from cron as a way to ensure that a cron job never runs more than once simultaneously? 
<SpamapS> spladug: yeah thats a great idea
<SpamapS> spladug: perhaps somebody should add support for that to cron :)
<alienth> think that would be tricky to do in cron natively :/
<alienth> due to how it is designed
<alienth> most people use wrappers to ensure it (which is what we're doing now)
<alienth> upstart does seem like a handy way to address it
<alienth> but the trouble with moving some stuff into upstart is that email output becomes much more obtuse
<SpamapS> it will be easy no doubt
<alienth> (compared to cron)
<SpamapS> the event loop can have scheduled things
<SpamapS> I'm just not a huge fan of building everything into one daemon that runs as pid 1
<SpamapS> as much of a "hack" as mountall is, I like that its concerns are separate from upstart's
<SpamapS> alienth: right, to get email output, you'd need to have something like 'errors to foo@bar.com' and then have upstart assume sendmail works .. 
<SpamapS> it just becomes more and more and more code in something that *must* work
<spladug> so would a wrapper script that emails output be the best bet?
<SpamapS> I believe mailx will only send email if there is a body
<SpamapS> or can be coaxed to do that
<spladug> roger, thanks :)
#upstart 2013-04-23
<marcoceppi> I was under the impression that upstart could run init.d scripts through the start/stop/restart commands. Am I mistaken wrt to that?
<SpamapS> marcoceppi: totally mistaken
<SpamapS> marcoceppi: the service command is the thing that binds the two systems
<marcoceppi> SpamapS: Ah, okay, that's what I was looking for
<marcoceppi> SpamapS: I knew something bridged the gap, I just couldn't remember for the life of me
#upstart 2014-04-21
<mmeyer_> hi, I have a question on the emit event
<mmeyer_> I am testing upstart and have a file.conf that have a emits line
<mmeyer_> and another one that have a start on the event 
<mmeyer_> but zhen I start the fisrt one the second one doesnÃ¹t start
<mmeyer_> ... anyone know why?
<JanC> the emit statement is for documentation
<JanC> emits*
<JanC> you need to actually emit it from inside a script block (or from the application)
<mmeyer_> okay thanks like initctl e,it event 
<mmeyer_> emit*
#upstart 2014-04-23
<marianogg9> hi guys, which is the stanza to specify an .env file?
<threeturn> Hi guys
<threeturn> i'm trying to use the setuid feature with no luck.
<threeturn> basically what I want to do is set the setuid with a variable like "setuid ${user}"
<threeturn> If i do service foo start user=nobody the service doesn't start. I see in dmesg "main process: unable to find setuid user"
<threeturn>  thought?
<mmeyer> marianogg9: have you tried exec su root -c /usr/sbin/myenvfile
#upstart 2014-04-24
<yedi> if you have "start on started" by itself, when does the task start?
<yedi> i'm having this issue where i can't seem to stop one of my tasks
<yedi> i'm wondering if that's the reason
<afournier> hi there
<afournier> how does upstart knows to not start tty1.conf when console.conf is runnned on tty1 ?
<jodh> afournier: console.conf is for lxc containers only and there both tty1.conf and console.conf are started. 
<afournier> you mean virtualisation ?
<afournier> kinda.. ok
<afournier> thanks
<fish_> hi
<fish_> how can I make upstart respan my service infinitely? respawn limit 0 5 for example?
<jodh> fish_: either set a very high number ('respawn 999 1') or create a helper job that specifies something like 'start on stopped JOB=myjob RESULT=failed PROCESS=respawn\n start myjob'.
<fish_> jodh: hrm, I just tried 0 and it seems to work
<jodh> fish_: ah - just checked the code. You can indeed specify zero or in fact you can say "respawn limit unlimited" which is clearer.
<fish_> jodh: would be even clearer to add this to the docs :)
<fish_> jodh: but thanks for looking that up
<jodh> fish_: indeed - an oversight. I'll add it...
<fish_> jodh: cool!
<jodh> fish_: ok, man page updated in upstream Upstart (soon to filter down to Ubuntu) and cookbook updated: http://upstart.ubuntu.com/cookbook/#respawn-limit , http://upstart.ubuntu.com/cookbook/#making-a-job-respawn-indefinitely .
<fish_> jodh: cool! but it still only mention 'unlimited' where you might want to still specify the interval. guess you can do 'unlimited 5' as well, right? but that's not mentioned
<afournier> dbus-daemon man page does not say anything about --activation=upstart, is this handled by a patch ?
<afournier> 0003-upstart-add-upstart-as-a-possible-activation-type.patch
<afournier> looks like it
<jodh> afournier: yes, unfortunately that functionality was removed and I believe was not acceptable to upstream.
<afournier> strange...
<afournier> no place where those patches are downloadable ?
<afournier> i found the source package
<jodh> afournier: sure - http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/precise/dbus/precise/files/head:/debian/patches/ (or 'bzr branch lp:ubuntu/precise/dbus')
<afournier> thanks
<afournier> they dont fit well with the 1.6.18
<afournier> or maybe my version of dbus is already patched :/
<marianogg9> hi guys
<marianogg9> I need to set an .env file (automating $ source file.env)
<marianogg9> which stanza should I use to do that?
<jodh> marianogg9: is this for a system job or a session job?
<marianogg9> jodh: system
<jodh> marianogg9: in which case, you need to source it in *every* script section your job has that needs those variables ("script", "pre-start", etc).
<afournier> jodh, is there a chance that these patches get applied upstream ?
<marianogg9> jodh: ok, I write it down like "pre-start script / source file.env / end script
<marianogg9> *wrote
<jodh> afournier: I think it's unlikely at this point - https://bugs.freedesktop.org/show_bug.cgi?id=34526
<marianogg9> jodh: https://gist.github.com/marianogg9/11258170
<jodh> marianogg9: that won't work if you want file.env to apply to app_gem - you need to turn the 'exec' into 'script'+'end script', add the 'source file.env' to that block before app_gem.
<marianogg9> jodh: https://gist.github.com/marianogg9/11258507 ?
<jodh> marianogg9: right. I suggest you test it fully (start/stop/restart) before adding the respawn stanza though.
<marianogg9> ok :)
<afournier> jodh, i will redo the patches myself then (working on an upstart layer for openembedded) hope a solution will be found very soon so i won't have to redo it :)
<marianogg9> jodh: "main process (6939) terminated with status 127"
<afournier> ouch
<jodh> marianogg9: http://upstart.ubuntu.com/cookbook/#determining-why-your-service-fails-to-start, http://upstart.ubuntu.com/cookbook/#obtaining-a-log-of-a-script-section, http://upstart.ubuntu.com/cookbook/#checking-how-a-service-might-react-when-run-as-a-job
#upstart 2014-04-25
<ironi> Hi, what is a good way to get global env vars available within upstart processes?
<fizbin> I'm having a problem writing this upstart script.
<fizbin> Basically, on startup I need to run an external program to dump out some env. var settings into a tempfile, then I need to source that tempfile, then I need to exec the daemon.
<fizbin> But upstart ends up tracking the wrong PID. I think the PID it ends up tracking is the PID of that env-producing program, but maybe it's tracking the PID of mktemp. Not sure.
<fizbin> If there were some way to store environment variables set in the pre-start script so that the "script" section started with the same environment that pre-start had when it exited...
<fizbin> Of course, in the pre-upstart world this wasn't an issue, since the daemon writes its PID to a file in a known location, but in upstart...
<fizbin> Is there some way to forcibly tell upstart "You know nothing about this job; it's stopped."?
<jobin> Hey, all! I am trying to check the status of cron service using sudo service cron status as a non-privileged user on ubuntu 14.04 desktop 64-bit but get a status: Unknown job: cron error in return. However, if I do the same thing on ubuntu 12.04 64-bit desktop I get the appropriate result. I notice that I can check teh status if I am root on 14.04. Why is this happening and how can I solve this?
<jobin__> Hey, all! I am trying to check the status of cron service using sudo service cron status as a non-privileged user on ubuntu 14.04 desktop 64-bit but get a status: Unknown job: cron error in return. However, if I do the same thing on ubuntu 12.04 64-bit desktop I get the appropriate result. I notice that I can check teh status if I am root on 14.04. Why is this happening and how can I solve this?
<xnox> fizbin: pre-start script
<xnox> fizbin: .... do stuff
<xnox> fizbin: end script
<xnox> fizbin: script
<xnox> fizbin: source tmp-file
<xnox> fizbin: daemond
<xnox> fizbin: end script
<fizbin> xnox: So I have to use a constant temp file name?
<fizbin> I assume I delete in the post-start script?
<xnox> fizbin: exporting environment in pre-start, will not be presered to daemon.
<xnox> fizbin: alternative is to have two jobs -> first one "daemon-starter" which does:
<xnox> task
<xnox> .... do things to determine variables
<xnox> start daemond FOO=BAR BAZ=TRATA
<xnox> end script
<xnox> (forgot 'script' just after task)
<xnox> fizbin: the daemond job would then just be "exec daemond"
<xnox> fizbin: but it will get the right environment because daemon-starter launches it. Hence daemond job shouldn't have any starton conditions.
<xnox> fizbin: also please see cookbook about managing environment.
<xnox> fizbin: what sort of things are you executing and sourcing inside the environment?
<xnox> fizbin: typically it's akward when daemon rely on environment variables.
<fizbin> xnox: It's part of a vendor's system, and the system is intended to be deployed on an EC2 system, and it was doing a curl of http://169.254.169.254/latest/user-data
<fizbin> Which is a special URL on EC2 machines, and after that's dumped to a temp file it sources that file.
<xnox> fizbin: why use an upstart job? does vendor provide an init.d script that you can install and use?
<xnox> fizbin: this sounds very dubious, especially doing it over http.
<fizbin> Vendor instructions actually modify several different /etc/default/* files. Those are sourced by standard upstart scripts.
<xnox> fizbin: i'm not sure i can at all help you. can you provide those instructions or actually show what's it's doing? i would separate things out: 1) curl > somewhere; start my-daemon ENVFILE=path-to-tmp-filename.a1231fab 2) my-daemon job bail if ENVFILE is empty, e.g. pre-start [ -n "$ENVFILE" ] || {stop; exit 1;}
<xnox> and script
<xnox> source $ENVFILE
<xnox> end script
<xnox> fizbin: so there is plenty of things you can do. Did you read cookbook?
<fizbin> xnox: Not if you're actually on an EC2 box. That IP is routed specially by Amazon's virtualization system. Intercepting anything to/from that specific IP would require a deep compromise of Amazon's systems,
<xnox> fizbin: http://upstart.ubuntu.com/cookbook/
<fizbin> xnox: I tried to read the cookbook, but figuring out just what the "expect" clause was talking about was seriously confusing.
<xnox> fizbin: it tracks the first exec.
<fizbin> Upstart, at the moment, appears to me to be a much, much more brittle system than the old sysv init system.
<xnox> fizbin: upstart jobs meant to execute a daemon that either runs in foreground, forks ones, or double forks.
<fizbin> In particular, on an upstart system you need to be extremely careful that none of your /etc/default files result in any other process running.
<xnox> fizbin: if you have a script stanza that executes a lot of command, then that's not a daemon but a series of things -> put all of them into a script and have an upstart job that execs that.
<fizbin> So, for example, you can't comment out a chunk of some /etc/default file by preceding it with "if /bin/false; then" and then having a "fi" at the end of the commented region.
<fizbin> xnox: s/a lot of command/any program other than just the daemon/
<xnox> fizbin: by default we don't want to source anything from /etc/default and those things that do are for legacy compatibility instead.
<xnox> fizbin: you should use /etc/init/job.override file instead where you can override any portion of the job (e.g. remove the sourcing of the /etc/default/* file)
<xnox> fizbin: clearly the vendor system you are working with is not integrated / have upstart jobs written for.
<xnox> fizbin: so why can you not use init.d script for it, which would be used on ubuntu?
<xnox> fizbin: what vendor / software is this?
<fizbin> xnox: Ah. Well, despite what you may wish to do, upstart as I interact with it is upstart as Ubuntu ships it, which has nearly every upstart job source the relevant /etc/default file before exec'ing the daemon.
<fizbin> And it isn't the vendor's software directly that won't play nice with upstart - their instructions included modifying stuff like /etc/default/rsyslog which then made upstart lose track of rsyslogd.
<xnox> here is example of correctly sourcing default that doesn't loose track of things
<xnox> expect fork
<xnox> respawn
<xnox> pre-start script
<xnox>     modprobe -q autofs4 || true
<xnox> end script
<xnox> script
<xnox>     if [ -f /etc/default/autofs ] ; then
<xnox>         . /etc/default/autofs
<xnox>     fi
<xnox>     exec /usr/sbin/automount $OPTIONS
<xnox> end script
<xnox> fizbin: i'd want to here which vendor is this that advises people to break their rsyslog.
<fizbin> Sure, it doesn't.... until you put something in /etc/default/autofs that execs a different program.
<xnox> fizbin: and looking at /etc/default/rsyslog -> the interface that file provides can be achieved with "echo exec rsyslogd -my -options > /etc/init/rsyslogd.override"
<fizbin> Put a curl command in /etc/default/autofs, or a cat, or ... I guess not an echo, because that's a shell builtin, but how about even a call to /bin/true
<fizbin> And then upstart loses autofs
<fizbin> Okay, so the result of my question of "how to make this work" is "don't actually do anything in /etc/default/whatever, because upstart can't handle it".
<fizbin> I will report this back to the vendor (FP Complete, their self-hosted pro version of the IDE. Admittedly, we also got a preview release, so they may have corrected it already before they went general availability)
<fizbin> At the very least, it would be nice if something in the cookbook said in big bold letters "If you run any program in your script except the daemon, upstart will get confused and be unable to find the daemon process. In particular, if you source external files (for example, files in /etc/default), those files must not do anything but set environment variables and invoke shell builtins."
<fizbin> It is kind of broken that upstart means attempting to comment a chunk out of what had always been a shell script (/etc/default files) with a "if /bin/false; then ... fi" wrapper introduces a whole new bug.
<xnox> fizbin: in shell comments start with "#" ;-)
#upstart 2014-04-26
<rrva> I used "expect fork" wrongly and now after the service processes are all dead upstart start/stop just hangs. How to clear this state inside upstart without reboot?
<rrva> I had to rename my service.conf to service1.conf to fix this
<ion> rrva: https://github.com/ion1/workaround-upstart-snafu
<rrva> ion: thanks. this is important enough to make a fix to avoid upstart confusion inside upstart
#upstart 2015-04-20
<sqwishy> How do I debug my `start on` stanza?
<sqwishy> It's starting earlier than I'd like
<sqwishy> Is there a way to do it without restarting the system?
#upstart 2015-04-21
<kanupatar> hi guys
<kanupatar> may i know, if we have the updstart port for arm?
<kanupatar> I am planning to port this in my arm based board to check the fast boot fesibility
<kanupatar> hello\
<ZuZuu> Hi everybody
<ZuZuu> I've got a trouble with upstart and Java launcher
<ZuZuu> The error in upstart logs is : Could not reserve enough space for code cache
<ZuZuu> The java launcher work weel with SystemV or just in the shell
<ZuZuu> Anyone got idea?
#upstart 2016-04-25
<cristian_c> hi
<cristian_c> I've to convert a sysv/upstart daemon to a systemd service
<cristian_c> I've read the migration documentation but I need to get information about some field values of the .service file
<cristian_c> I need to know what value to use in Type= field and what value in After= field
<cristian_c> Any ideas how to retrieve these?
<LetoThe2nd> hi! i'm trying to create a simple upstart service which basically only consist of pre-start and pre-stop. pre-start works as expected, but pre-stop seems to never be called.
<LetoThe2nd> is there anything i'm probably missing?
<LetoThe2nd> current state is http://pastebin.com/aqy3xvtM
<LetoThe2nd> (found workaround https://bugs.launchpad.net/upstart/+bug/252996/comments/5 - but is that really a good idea?)
<lnykryn> cristian_c: do you have the original upstart.conf/initscript somewhere?
<cristian_c> lnykryn: I've got the original script, yes
<lnykryn> can you post it somewhere? I could take a look (unless it is confidential of course :-) )
<cristian_c> yes
<cristian_c> html2pop3.sh
<cristian_c> the filename
<cristian_c> I pastebin it
<cristian_c> hmmm, I'll use private pastie, from pastie service
<cristian_c> so, I get the exact version of the script
<cristian_c> ok, 2.56a version
<cristian_c> I'm getting the source to paste
<cristian_c> lnykryn: http://pastie.org/private/ohomaztoeikcre14y5lq
<lnykryn> looks like Type=simple , the initscript runs $JAVA $COMANDO& which means that the process does not do fork
<cristian_c> of, not forking
<lnykryn> and since it does not have any LSB header, it means that it does not need anything special in the After
<cristian_c> ok
<cristian_c> so, I'll follow the classic example of unit file in archlinux wiki / systemd how-to documentation
<cristian_c> lnykryn: thank ypu very much!
<cristian_c> *you
<lnykryn> Also you might want to KillSignal=SIGKILL in the [Service] section so it matches the behavior of the initscript during stop action
<cristian_c> ok
<cristian_c> thank you again
<lnykryn> you are welcome :-)
<lnykryn> next time it might be better to ask on #systemd channel
<cristian_c> lnykryn: #systemd guy told me asking in #ubuntu channel
<cristian_c> lnykryn: #ubuntu guy told me aaking in #upstart channel
<cristian_c> :D
<cristian_c> in the meantime I've read the 30 pages systemd-ebook-psankar 'systemd for administrator'
<cristian_c> *administrators
<cristian_c> blog story
<lnykryn> cristian_c: yep, that is a good start, also David Strauss gave recently a really nice talk about some basic concepts in systemd http://www.slideshare.net/warpforge/effective-service-and-resource-management-with-systemd
<cristian_c> I've read all the 8 parts of the psankar book, but it was not very much useful to write the unit, in my case (I didn't know what parameter/value pairs to use in the new unit .service file) :)
<cristian_c> lnykryn: ok, thanks for the link
<cristian_c> very interesting slides! ^^
<cristian_c> pictures are much helpful!
<owen1> my upstart script doesn't start at reboot. any ideas? http://askubuntu.com/questions/759706/how-to-write-upstart-script-for-a-background-service-db
#upstart 2016-04-27
<[diablo]> Good evening #upstart
<[diablo]> guys we're trying to write an upstart job to call a BASH script.. for RHEL6 
<[diablo]> we need to be sure that the networking is up, and that the file system is there
<[diablo]> http://pastie.org/10815230
<[diablo]> syntax check works, but it does not run :-/
<[diablo]> anyone advise whats up please?
<CrazyTux[m]> pre-start process: unable to execute: Argument list too long
<CrazyTux[m]> What could this error mean?  
<CrazyTux[m]> this is so odd, no matter what I do  upstart is telling me job fails to start due to argument list being too long, yet there is no really long argument list, and it initially stated that for my pre-start stanza, which then I commented out the entire block and now its saying for my script stanza
<chras> CrazyTux[m]: any details?
<CrazyTux[m]> chras, it looks like it was an issue with my #limit stack 240 480 line
<CrazyTux[m]> I commented it out and it works now
<CrazyTux[m]> but now I've one last issue
<CrazyTux[m]> I'm trying to chown -R ${USER}:${GROUP} $DIR
<CrazyTux[m]> for DIR in a b c
<CrazyTux[m]> and this is error'ing out
<CrazyTux[m]> inside script stanza
<CrazyTux[m]> if I comment out the for loop all is well.
<CrazyTux[m]> well its more like for FSDIR in "$A" "$B" "$C" [newline] do [newline] chown -R ${USER}:${GROUP} $FSDIR [newline] done
<CrazyTux[m]> "done" seems to be highlighted in vim syntax though so not sure if its reserved or something in upstart
<chras> CrazyTux[m]: i havnt used the limit stuff before, but for your chown prob be useful to echo out your chown to see why its failing
<chras> then you could try running it by hand
<CrazyTux[m]> my loop by hand is fine
<chras> whats the actual error when it errors out?
<CrazyTux[m]> init: process-name pre-start process (24199) terminated with status 2
<chras> so whats exiting with an exit of 2
<chras> but didnt you say that
<chras> that your for FSDIR was in a script, or was it in pre-start ?
<CrazyTux[m]> i've tried both
<chras> CrazyTux[m]: something in your pre-start is throwing an exit 2, which is causing your event to fail out
<chras> just need to isolate what that is
<chras> it could be your chown
<chras> tho im not sure what fail case in chown would exit with 2, instead of 1
<chras> could you pastebin your event?
<CrazyTux[m]> sure one moment.
<CrazyTux[m]> chras, http://pastebin.com/ZXgEMTr1
<chras> k sec
<CrazyTux[m]> sure
<chras> and that all works without errors with the exception of your chown loop ?
<chras> hm, you said it above
<chras> but its not in the paste
<chras> your do part of your for
<chras> and that DOES throw an exit 2
<CrazyTux[m]> correct
<CrazyTux[m]> let me try re adding it
<CrazyTux[m]> but
<CrazyTux[m]> I literally
<CrazyTux[m]> tried 100 variations
<CrazyTux[m]> so prob
<CrazyTux[m]> just got dd'ed in vim
<CrazyTux[m]> lol
<CrazyTux[m]> testing now sec.
<chras> other then missing the do
<chras> it looks all sane
<CrazyTux[m]> chras, what would cause the limit stack issue?
<CrazyTux[m]> chras, that causes it to exit out too
<CrazyTux[m]> chras, interesting that worked...
<chras> im not that familar with the limit stuff, i can try it here
<chras> so still error'd out?
<CrazyTux[m]> chras, not sure how the slipped throug; however I do know for fact I did try it with a do in a one line form/fashion
<CrazyTux[m]> chras, no that was a go
<chras> oh? good?
<CrazyTux[m]> yes ty
<chras> fresh eyes
<CrazyTux[m]> haha :)
<chras> lemme try limit here, sec
<CrazyTux[m]> I literally tried putting it on one line, because typically when I write bash it is one liner's in console
<CrazyTux[m]> for x in a b c; do echo x; done
<CrazyTux[m]> I did that that haha
<CrazyTux[m]> and it didn't like it :P
<CrazyTux[m]> Sure.
<CrazyTux[m]> Right now I've ulimit set in script block right before exec, would this even take affect or cause any adverse behavior?
<CrazyTux[m]> when setup in this manner it seems ok
<CrazyTux[m]> but I find it where that limit nofile works  but not stack.
<chras> k i actually do get the same error as you with limit
<chras> thats what i do, just ulimit manually inside my script stanza
<chras> oh
<chras> i think. thats bytes 
<chras> right, limit stack works for me, when i use it with bytes
<chras> with limit stack 240 240 , i got the same too many arguments error
<chras> with limit stack 8192 8192 i got a segv as expeted, and then i did 8k (8388608) and it worked fine
<CrazyTux[m]> hmmmm
<CrazyTux[m]> so its looking for limit stack 240k /
<CrazyTux[m]> yup
<CrazyTux[m]> worked here.
<CrazyTux[m]> nice.
<CrazyTux[m]> chras, thank you for your kind help.
<chras> hey no worries
<CrazyTux[m]> chras, next time your in SoCal let me know, I'll buy you a few beers!
<CrazyTux[m]> chras, interesting
<CrazyTux[m]> chars, so 240k works on several systems but I've got one where it tells me...
<CrazyTux[m]> [1730361.753244] init: /etc/init/freeswitch.conf:54: Illegal limit, expected 'unlimited' or integer
<CrazyTux[m]> so I converted it to straight integers.
<CrazyTux[m]> but still no cigar, very weird.
<CrazyTux[m]> 1.12.1 upstart version
<CrazyTux[m]> vs 1.11
<CrazyTux[m]> weird...
<CrazyTux[m]> 1.11 works
<CrazyTux[m]> but either way, no worries thanks for your help!
<CrazyTux[m]> I can take it from here :P
<CrazyTux[m]> chras,  ok so yea I know Im not crazy lol, so beyond that stack issue between the two versions my for loop is again broken
<chras> i use 1.11
<chras> when i said 8k, i meant i did limit stack 8388608 8388608
<CrazyTux[m]> Yea .1.12.1 is the "more" problematic one
<CrazyTux[m]> chras, oh really? I did 240k
<CrazyTux[m]> and it worked
<chras> i didnt try that, but seems reasonable
<CrazyTux[m]> Yea
<CrazyTux[m]> compiling latest stable.. will see what happens
<CrazyTux[m]> on a dev box 
<CrazyTux[m]> yea no cigar, still does not like the for loop it seems on the later versions.
<CrazyTux[m]> w/e ill deal with it for now ol
<CrazyTux[m]> lol
<CrazyTux[m]> #moving onto more important things will come back to this lol
#upstart 2016-04-28
<[diablo]> Good morning #upstart ... guys how can I tell an upstart conf file not to fork please? I want the script thats getting called to fully run before upstart continues
<[diablo]> or at least finish before the login prompt
<[diablo]> would running the script as pre-start be better?
<afournier> hi i updated an home made system from 1.6.1 to 1.7 so upstart runs as PID 1 and assert after processing some events:  "com.ubuntu.Upstart.c:2651: Assertion failed in control_emit_event_emitted: env != NULL"
<afournier> any idea ?
<afournier> i traced this problem up to this bug report, but here we are using it as init (PID 1)... https://bugs.launchpad.net/upstart/+bug/1161329
<jeffreylevesque> any fine wizards here?
<jeffreylevesque> i created an upstart script, which works.  Except, the datetime is always the same - https://github.com/jeff1evesque/machine-learning/blob/master/puppet/environment/development/modules/compiler/templates/webcompilers.erb#L38
<jeffreylevesque> how can i adjust the `echo` statement, so the datetime correctly reflects the current time for the `echo`?
<jeffreylevesque> any bots in here with enough ai to answer my q
<chras> jeffreylevesque: whats happening now ? that when you do a start you get the same time ?
<jeffreylevesque> had to move it into the `exec` - https://github.com/jeff1evesque/machine-learning/blob/3277f30c1bf47f84c449370c7d1dffdc3bccb084/puppet/environment/development/modules/compiler/scripts/sass#L14
<jeffreylevesque> it's all fixed
<chras> jeffreylevesque: yeah, thoes stanzas are their own independant sh's 
<chras> cant pass variables between them
<[diablo]> evening guys
<[diablo]> can anyone please tell me how the hell I tell an upstart conf file to run a script that sleeps for 60 seconds, but does not fork... I want the entire boot process to pause for the full 60 seconds before continuing 
<[diablo]> sadly I'm needing to do it in RHEL6 which is running upstart 0.6.5
<chras> so you want rest of bootup to depend on that one sleeping event, just to pause bootup ?
<[diablo]> hi chras 
<[diablo]> well actually I'll explain
<[diablo]> I have done for RHEL7 an expanding storage system with vmware guest ... 
<[diablo]> on boot, it must rescan busses, expand the lvm, and grow the fs
<[diablo]> problem is with RHEL6, the extending of ext4 takes some time... I don't want the boot to continue and the user to login before it's finished
<[diablo]> I thought that the process was getting killed by upstart for hanging around too long... because I saw sometimes it only grew the fs say by half...
<[diablo]> so I need really two things... to be sure that the boot waits until the grow fs has completed, and that the process does not time out
<chras> while its off topic, couldnt you do thoes things concurrently while people are logged in ?
<[diablo]> hmmm
<chras> thoes are all safe to do while online
<[diablo]> yes
<[diablo]> but
<[diablo]> if a user is in a rush, hypothetically he could login, not see the fs has fully expanded and wonder why it's not the size he'd asked for
<[diablo]> I'd much prefer the delay being on the boot until login, and the fs fully expanded by the time he's logging in
<chras> well you could always make your getty/gdm/whatever depend on your resize event finishing succesfully
<[diablo]> yes 
<[diablo]> thats true...
<[diablo]> however I prefer not to edit those files... ideally I just want to drop in a /etc/init/resize.conf
<[diablo]> and not mod anything else
<chras> there shouldnt be any limitation to how long it takes for your upstart event to finish
<[diablo]> chras, yeah actually I think the timeout was when I was trying out doing pre-script or something akin
<chras> you could temporarily overwrite the start on for your getty.conf
<chras> with getty.override
<[diablo]> oh ok
<[diablo]> one sec. let me find something
<chras> i havnt done any long running pre-start's
<[diablo]> guess it's minigetty on rhel
<chras> but i quite often do running-forever stuff in script stanaza's 
<[diablo]> oh I've got a starttys
<chras> yeah i dont know what the redhat upstart events are, or if you are using custom ones
<[diablo]> chras, can't find much info really on upstart on rhel6, just the norm
<chras> i use all custom events for our events
<chras> never used any standard or base ones
<[diablo]> I'll look into this override 
<chras> that might be simpliest way to do waht you want
<chras> i think you need 1.3+ for it
<[diablo]> doh
<[diablo]> no, it supports it 0.6.5
<[diablo]> just found it in the man
<[diablo]> so I'd put something like start on resize
<chras> start on stopping resize 
<chras> best bet
<chras> since you want it to trigger after your resize event is finished
<[diablo]> ah gotcha
<[diablo]> giving it a whirl now
<chras> and then you could even flag that based on succes/fail
<chras> but i assume in the end, you want the user to be able to log in regardless
<[diablo]> hmmm sadly not working, most likely my mistake...
<[diablo]> but you've given me food for thought
<[diablo]> many thanks chras 
<chras> what didnt work ?
<chras> didnt get your getty?
<[diablo]> did't wait for login prompt
<chras> so your resize ran , and then your login prompt fired
<chras> without resize finishing
<[diablo]> ah I see I did something wrong
<[diablo]> one sec
<[diablo]> hahaha chras I think you've nailed it... I'm running a sleep 60 cos I'm testing it out at home on a vm
<[diablo]> splash has gone, no login yet...
<[diablo]> chras, dude u da man
<[diablo]> works!
<chras> nice one
<[diablo]> thats exactly what I wanted !
<chras> you might have to check a fail case with that, just in case a resize never happens
<[diablo]> chras, aye
<[diablo]> dude many thanks really
<chras> are you doing your resize in a script, or a pre-start script?
<[diablo]> it's been pissing me off all afternoon...
<[diablo]> now it's gone midnight here ... gonna have to head to bed
<chras> i dont recall if a stopping event will fire if a pre-start fails
<[diablo]> cheers dude and all the best! god bless IRC :)
<chras> have a good one
<mjnowak> Anyone have a minute to possibly help me out with a nginx not respawning problem?
#upstart 2017-04-24
<ko_lo> clever adding
<ko_lo> grmbl I still get the invalid job class
<ko_lo> I don't get it
<ko_lo> and env | grep UPSTART return nothing
<ko_lo> I'll try to do it as root and tricking with uuid
<ko_lo> ok, it's magic now
<ko_lo> I try to follow this https://www.digitalocean.com/community/tutorials/the-upstart-event-system-what-it-is-and-how-to-use-it
<ko_lo> as a root
<ko_lo> and I still get Invalid job class: save
<ko_lo> (my file is /etc/init.d/save.conf
<ko_lo> oh, it's supposed to be in etc/init/
<ko_lo> ok, I have it working \o/
<ko_lo> but I want it to start on desktop-end which is a user events and not accepted by initctl check-config
#upstart 2017-04-25
<hallyn> ko_lo: what does initctl list-sessions show?
#upstart 2017-04-26
<m1dnight_> hallyn: 
<m1dnight_> List all running sessions being managed by a Session Init. The format of this command is: <pid> <socket>
<m1dnight_> Right in the cookbook :)
<m1dnight_> http://upstart.ubuntu.com/cookbook/#initctl-list-sessions
<hallyn> m1dnight_: i was asking ko_lo what it shows on his system bc he's having a hard time with user jobs
<hallyn> so, i think i asked before...  is there anyone here interested in maintaining (or already maintaining) a fork of upstart?
<m1dnight_> oh my apologies, out of context then :) 
<hallyn> m1dnight_: np.  but if you have an idea for helping ko_lo ...  :)
#upstart 2017-04-27
 * ko_lo is back aliiive
<ko_lo> I found a workaround without using upstart, but my brain want to know
<ko_lo> :D
<ko_lo> hallyn: I'm curious about your question about a fork of upstart, what is the current state ? 
<hallyn> unmaintained.
<hallyn> the main point of forking would be to completely avoid any concerns with CLA
<hallyn> but right now noone is maintaining upstart
 * ko_lo try to google CLA
<ko_lo> but isn't ubuntu pushing people to upstart?
<ko_lo> or am I a bit late / not uptdodate
<ko_lo> ok gotcha
<hallyn> lol, yeah, a few years late :)
<hallyn> anyway i'm *considering* maintaining it, but i hate the ptracing and am not so comfortable with the codebase...  
<ko_lo> I'm confused in the fight against systemd
<ko_lo> there are people Hating it, and people loving it, and nobody in the middle
#upstart 2017-04-28
<jmatthies> I have an odd issue with 1.12.1-0ubuntu4.2 on Ubuntu 14.04.  It may be a kernel issue, as the 5 out of 27 boxes that have this issue are 3.13.0-96 #143.  The setuid stanza is not working for LDAP users, but works for a local user.  We can't readily update the kernels, so I was trying to find something concrete to indicate what the exactl problem is. 
#upstart 2018-04-27
<BrazierCustoms> anyone here?
