/srv/irclogs.ubuntu.com/2009/09/10/#upstart.txt

Keybukmbiebl: the shutdown messages are normal00:27
Keybukthat's unrelated00:27
Keybukat -> atd - good catch00:27
Keybukudev-finish - good catch00:27
Keybukthe directly after upgrade stuff isn't ideal00:28
Keybuknot sure why you have a running dbus though00:28
Keybukbut it's because those are services are can't shutdown, so we can't "inherit" them00:28
Keybukthey're still running under sysv conditions until you reboot00:28
mbieblKeybuk: I'd also suggest to remove dbus-reconnect.conf and run telinit q in dbus.conf's post-start01:23
Keybukmbiebl: doesn't work ;)02:23
ionWhy is that?02:25
Keybukbecause telinit q reloads all the configs02:29
Keybukand throws away the accumulated "start on" events ;)02:29
Keybukit was a bad choice for dbus reload, in hindsight02:29
ionSo, there should be a way to tell Upstart just to reconnect to dbus?02:30
Keybukyes02:30
ionkeybuk: rc-sysinit starts again if one runs mountall from a system that has already booted up. Any way to fix that?03:39
ionThe job starts running rcS scripts03:40
ionkeybuk: Why is anacron a task?04:11
PuffTheMagiccan someone point me to some docs on what events i can emit06:35
PuffTheMagiclike how do i start stop services06:36
PuffTheMagicusing initctl emit06:36
PuffTheMagicor like... cant i get a list of services this way?06:37
mbieblion: anacron is not a daemon06:39
mbieblIt's triggered by cron (and other event sources)06:40
mbiebl<Keybuk> and throws away the accumulated "start on" events ;)06:41
mbieblDo you intend to approach it differently then or keep the current solution?06:43
ionmbiebl: Ah. In that case, ‘task’ is right, but something else must be done to prevent ‘start anacron’ from blocking for ages, especially during the installation of the package.13:33
Keybukoh, is that what it's doing?13:39
Keybukhah13:39
ionto053953 < ion> keybuk: rc-sysinit starts again if one runs mountall from a system that has already booted up. Any way to fix that?13:39
ionto054029 < ion> The job starts running rcS scripts13:39
Keybukno, I mean anacron13:40
ionI mean, that’s another issue i talked to you about.13:41
Keybukoh13:41
KeybukDon't Do That Then13:41
ionHehe13:41
Keybukmountall will emit events like filesystem, which will start other bits13:42
ionIndeed13:42
KeybukI guess rc-sysinit should have "start on startup and filesystem"13:42
Keybukbecause it should be only run-once13:42
ionI think there’s a slight design problem with my fsck-queue patch. I’m just installing a virtual system to test. If there’s a LVM VG that resides on /sda1 *and /sda2, the code will probably output {"8:0", "8:0", NULL} which then will get both locked (i.e. added to the lock hash).13:45
ionThat is, i’ll have to make the get-physical-dev-ids code not output duplicates.13:46
Keybuk*nods*13:52
Keybukmbiebl: you were saying something about /forcefsck not working ?14:43
keesjso anybody has a good dbus-deamon starting service?(that waits for the service to be started?)14:44
Keybukkeesj: ?14:44
Keybuknot sure what you mean14:45
keesjsomething that checks if the daemon is ready 14:45
Keybukyou don't need to14:45
keesjI need to sue fork for that?14:46
Keybukright, "expect fork" and "exec dbus-daemon --system --fork" are sufficient14:46
keesjthanks14:47
MdKeybuk: I have noticed myself as well that /forcefsck does not work since I switched to upstart14:48
ionAh, Mount *mnt isn’t nih_alloc’ed. No wonder it segfaulted. :-P14:48
sadmac2Keybuk: Yesterday you said that in the expression on foo started that started was a sub-state of foo (or sub-job or whatever)?14:58
sadmac2Keybuk: I was wondering if you'd thought of a way to create more of these sub-states14:58
=== h\h is now known as haraldh
sadmac2in terms of syntax etc.14:58
Keybuksyntax is the wishy bit15:00
Keybukbut yes, you can create them15:00
Keybukyou can also create them deliberately inside logs15:00
Keybukerr inside jobs15:00
Keybuke.g. apache logrotate15:00
keesjI have an other meta physical question, suppose I have a dbus server that I want to launch using dbus activation, would'nt it be nice if is wat a upstart server?15:01
keesjservice15:01
Keybukyes15:02
keesj(so I have respawn and such)15:02
Keybukit's relatively trivial to patch d-bus to use Upstart to start services15:02
sadmac2Keybuk: heres a few thoughts then: Suppose the existence of a stanza called "exclude" which takes as its argument a few sub-states. It prevents those sub-states from being true at the same time15:03
Keybukwhy would you want that?15:04
Keybukand how would such a thing be resolved?15:04
sadmac2Keybuk: if you tried to start one state it would stop any of the others in the list15:04
sadmac2Keybuk: the "why" I'm getting to :)15:04
Keybukisn't that the same as "while not <state>" ?15:04
Keybukstarting that implies that <state> has to be stopped15:04
Keybuk(for the same reason that starting "while <state>" implies that <state> has to be started)15:05
sadmac2Keybuk: for two states yes. for N or more its a bit more difficult. Plus this is a push maneuver. It implicitly /makes/ it true15:05
Keybukassuming you're talking about the physical "start" command15:05
Keybukwhich is the only case where we want that kind of behaviour15:05
KeybukI don't think we ever want auto behaviour like that15:05
sadmac2Keybuk: ah, but we do, let me continue15:06
Keybukcould you explain on the ML?15:06
KeybukI'm really busy at the moment15:06
sadmac2Keybuk: sure. It'll be out of context there since we started the discussion here, but that's our fault to begin with anyway :)15:06
Keybukyou can provide context ;)15:07
sadmac2Keybuk: not to mention I'll see you in two weeks anyway :)15:09
=== robbiew-afk is now known as robbiew
Keybukindeed15:19
ionkeybuk: Okay, now everything seems to work – i have tested the fsck queue as well (in a virtual machine). Patches updated.15:34
Keybukawesome15:35
ionActually, i just noticed a missing nih_assert that should be there. Patches updated again. :-P15:36
Keybukion: can you get rid of the LIKELY/UNLIKELY bits15:36
ionOkay15:36
Keybukalso no need to nih_warn() on repeating update_mount_dev_ids15:37
Keybukif it's not supposed to happen, assert15:37
Keybukif it's safe, just return15:37
Keybukactually, it's quite easy for that to be called multiple times15:38
Keybuke.g. a disk change for an md device15:38
Keybuk(would you need to recalculate then, I wonder?)15:38
ionupdate_mount_dev_ids is called just before fsck is spawned, and the dev_ids are only used for fsck locking.15:40
Keybukit looks like you call it in the udev device watcher15:40
Keybukin which case15:40
Keybuksay the fsck is queued15:40
Keybukand a new update for the udev device comes in15:40
Keybukyou'd need to dequeue the existing fsck (I don't think you even check for it right now)15:40
Keybukrescan the ids15:40
Keybukthen queue again15:40
ionDo md or lvm partitions ever become visible if they are not ready/fully initialized?15:41
Keybukyes15:41
Keybukthough the watcher thing checks for that15:41
Keybukbut they can *change* remember15:41
Keybukimagine:15:41
Keybukboot, mdadm initialised, in degraded15:41
Keybukuser notices while fsck of / is happening15:42
Keybuk(md is /var maybe)15:42
Keybukand pulls the disk out and replaces it15:42
Keybukyou'll get a change for the queued md15:42
Keybukforcefsck - not sure this hook is right15:43
Keybukmountall gets passed this as --force-fsck on the command-line, it doesn't check for the file15:43
Keybukremoving that should go in post-stop of the conf I think15:43
ionOk15:44
=== robbiew1 is now known as robbiew
PuffTheMagicso is there anyway to start a service using 'initctl emit'?15:50
sadmac2PuffTheMagic: yes. initctl emit <something> where the service is defined with start on <something>15:50
PuffTheMagicoh, but no equiv of 'initctl start <serfvicename>'15:51
sadmac2PuffTheMagic: no15:51
PuffTheMagic:(15:51
sadmac2PuffTheMagic: why?15:51
PuffTheMagiccause stupid palm dev had to use upstart 0.3.x on the Pre....15:52
PuffTheMagicso there is no dbus interface15:52
PuffTheMagicand i wanted to make a gui15:52
PuffTheMagicfor starting stopping services15:52
PuffTheMagicso i have to make a service that wrapps around upstart/initctl15:53
PuffTheMagicand relays stuff over dbus15:53
PuffTheMagicand i wanted to just use events15:53
PuffTheMagicbut i guess i could just call initctl start/stop15:53
PuffTheMagicjust seems ugly15:53
PuffTheMagicis there a libupstart or anything in the older upstarts that will give me more functionality?15:55
sadmac2PuffTheMagic: there was a time when such a thing as libupstart existed. Not sure if its still rattling around in that code.15:55
PuffTheMagicwell im using 0.3.815:56
sadmac2PuffTheMagic: still.15:56
Keybukyes, there's a libupstart in 0.3.815:57
Keybuk(it's how initctl talks to upstart)15:58
PuffTheMagicgood15:58
PuffTheMagicso i can use that to do start/stop :D15:58
Keybuksadmac2: *cough* isn't "that code" what you're going to be supporting for the next seven years? :p15:58
PuffTheMagichaha15:58
sadmac2Keybuk: 7? You're some crazy kinda optimist. I'm betting on it being around in 2040.15:59
sadmac2I'll retire before 0.3 does.16:00
Keybukyou could always ship 0.6 instead :p16:00
Keybukthen, when you have some problem with it, I probably won't just point and laugh <g>16:00
PuffTheMagicso the palm devs must have static build initctl then cause i see no libupstart on this userland16:00
PuffTheMagichow lame16:00
KeybukPuffTheMagic: upstart always static-builds initctl and init16:01
sadmac2Keybuk: you overestimate my authority on these issues. notting is the one to bug. maybe plautrba.16:01
PuffTheMagicoh16:01
sadmac2Keybuk: 8ball says don't count on it though :(16:01
sadmac2Keybuk: I'm support engineering now though. I don't build the product. I just get stuck with the consequences.16:01
nottingKeybuk: didn't land in time (heck, i still haven't seen any patches for integrating it yet, and i do not have time to look at it myself right now)16:02
KeybukI guess you're not using it any differently than in F10?  No plans to convert more jobs over?16:03
nottingnope. but i'd assume it's still not a no-op to land it16:03
sadmac2notting: its missing the state transfer thing, which means the ttys-don't-respawn thing will come back. other than that its not hard.16:03
sadmac2not a no-op, but not hard.16:04
sadmac2Keybuk: I wasn't planning on moving anything until 1.016:04
sadmac2just gonna have to fiddle with them again then anyway.16:04
sadmac21.0/0.10 depending on how stable we feel.16:04
* Keybuk is moving things now, it's fun16:04
ionkeybuk: Patches updated.16:38
ionShutdown seems to be delayed by perhaps 10 seconds by this: http://heh.fi/tmp/upstart-rc-stop-cont-stop-cont16:46
ionLVM seems to be nice enough to compute which physical partitions each logical volume spans, and only report those partitions in /sys/.../slaves instead of e.g. every single partition the volume group uses.16:50
ionkeybuk: Did you receive the above messages?18:25
Keybukion: I can't answer that question ;)18:26
Keybukshutdown: the "10 seconds" is killall5 running18:27
Keybukthe upstart output is just a side-effect of what killall 5 is doing18:27
Keybuksome other process is the one not stopping18:27
ionOk18:29
ionWhy SIGSTOP?18:29
ionCan you review the new patches, btw?19:04
=== robbiew1 is now known as robbiew
mbieblion, Keybuk: who is responsible for mountall?22:26
ionDunno about responsible, but Keybuk is the author. :-P22:26
mbieblok, there is a bug wrt to ntfs mounts22:27
mbieblI have a ntfs-3g auto mount in my fstab and subsequently mountall fails22:27
mbieblwhich stops the boot process22:27
mbieblI think there are two issues here: 1.) failing to mount ntfs(-3g) mount points22:28
mbiebl2.) the mount point is non-critical (mounted as a shared partition under /mnt/data)22:29
mbieblthe boot should not fail because mount failed for a non-critical mount point22:29
mbieblKeybuk: and a more cosmetic issue: the output of mount differs between the old-style mounting using the sysv initscripts and mountall22:34
mbieblhttp://pastebin.ca/156154122:34
mbieblKeybuk: btw, is there a bug tracker for this sort of issues or should I send it to the m-l or via pm?22:50
=== robbiew1 is now known as robbiew
=== robbiew is now known as robbiew-afk

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