keesj | hmm I make some progress in the bug I am hunting. I an now reproduces it | 12:17 |
---|---|---|
keesj | I have 3 jobs files (2 service and one "state" ) http://www.paste-it.net/raw/public/g3fbeff/ called test_state_exportfs test_service_exportfs and test_service_userfs | 12:18 |
keesj | the exportfs "service" gets stated before the stop of the userfs | 12:18 |
keesj | when I run a start test_state_exportfs | 12:19 |
keesj | this is because my userfs is defined to stop on test_state_exportfs AND stop on test_service_exportfs | 12:20 |
keesj | when I issue a start test_state_exportfs the "userfs" is going in a stopping state and upstart does not wait for it to be stopped before it starts the exportfs service | 12:22 |
keesj | http://www.paste-it.net/public/ve5305c/ shows that (ouput of initctl events) you see that topped test_service_userfs ok | 12:23 |
keesj | is printed after started test_service_exportfs | 12:23 |
Keybuk | keesj: I'll look presently | 14:21 |
keesj | Do you understand what I am trying to explain? | 15:01 |
keesj | it looks like because the "state" service already puts the userfs service in a "stopping mode" that a check upon start of the exportfs service it does not wait for the userfs service because that one is not "running" | 15:04 |
Keybuk | I haven't read it yet | 15:16 |
Keybuk | ok | 17:16 |
Keybuk | reading now | 17:16 |
Keybuk | test_service_exportfs - this will start before test_state_exportfs | 17:17 |
Keybuk | test_service_userfs - this will stop before either test_state_exportfs or test_service_exportfs | 17:17 |
Keybuk | you run | 17:18 |
Keybuk | start test_state_exportfs | 17:18 |
Keybuk | I would expect to see test_service_exportfs starting->running followed by test_state_exportfs starting->running | 17:18 |
Keybuk | that appears to me to be what your events output shows? | 17:19 |
Keybuk | http://rafb.net/p/HxXtYN53.html | 17:26 |
Keybuk | WFM | 17:26 |
Keybuk | I started test_service_userfs | 17:26 |
Keybuk | then started test_state_exportfs | 17:26 |
Keybuk | that stopped userfs, started service_exportfs, and then concluded starting state_exportfs | 17:27 |
notting | sadmac2: built it for f9/f10. didn't add anything in bodhi for it | 17:29 |
sadmac2 | notting: ok | 17:29 |
notting | sadmac2: there's a -21 because i didn't add a changelog the first time | 17:30 |
sadmac2 | notting: yeah, I forgot that bit :) | 17:30 |
sadmac2 | notting: If you want to test em a bit you can. Other than "does telinit u cause explosions" theres nothing to look for | 17:31 |
Keybuk | keesj: I think you're just getting confused because you're looking at the order of resulting evefnts | 17:37 |
Keybuk | keesj: upstart tends to focus on one service at a time, so it's not unusual to see events in what might appear to be out-of-order | 17:37 |
Keybuk | keesj: use initctl jobs for debugging instead | 17:37 |
plundra | I know there is inictl restart in 0.5, but is there a 'restart' aswell? Just as 'start' etc. that is. | 18:26 |
plundra | In that case, can you 'restart job1 job2 job3' (just as you can start multiple ones) | 18:26 |
plundra | If so, that's fucking awesome :-] Man I hate Ubuntu 8.04 uses 0.3.9 | 18:27 |
Keybuk | plundra: there is if you make a symlink to it | 19:39 |
Keybuk | it was added sufficiently late that the symlink isn't there by default, but it probably should be | 19:40 |
keesj | re | 20:33 |
keesj | Keybuk it really happens that the userfs service is not stopped(still stopping) while the export service is started | 20:34 |
keesj | in you paste line 12 the export service is starting and line 13 only hte userfs is stopped | 20:37 |
keesj | and only in line 19 the service is stopped | 20:40 |
keesj | while at that point the service exportfs clearly looks like running | 20:41 |
keesj | I will have more time tomotow , I will test on 0.5 | 20:54 |
Keybuk | keesj: I don't understand what you're trying to tell me | 20:55 |
Keybuk | in my paste, I start test_state_exportfs | 20:55 |
Keybuk | it *clearly* waits for test_service_userfs to stop *and* for test_service_exportfs to start | 20:56 |
keesj | indeed but not for userfs to stop before is starts exportfs | 20:56 |
Keybuk | yes, it clearly does | 20:56 |
Keybuk | line 19, test_service_userfs (stop) waiting | 20:57 |
Keybuk | userfs has fully stopped | 20:57 |
Keybuk | line 20, test_state_exportfs (start) pre-start, process 10490 | 20:57 |
Keybuk | exportfs actually begins to start | 20:57 |
Keybuk | this is working as intended | 20:58 |
Keybuk | how are you expecting it to work? | 20:58 |
keesj | I expect service_userfs to be fully stopped before service_exportfs starts | 20:59 |
Keybuk | that's exactly what's happening | 20:59 |
Keybuk | I don't understand your confusion | 20:59 |
Keybuk | line 19, service_userfs is *fully* stopped | 21:00 |
Keybuk | line 20, state_exportfs starts | 21:00 |
Keybuk | there's nothing in your job to cause service_userfs to wait on service_exportfs? | 21:00 |
Keybuk | the "stop on starting test_state_exportfs" is the key one | 21:01 |
Keybuk | ah | 21:02 |
Keybuk | do you think that having two "stop on" means "and" ? | 21:02 |
Keybuk | (it doesn't - it means or) | 21:02 |
Keybuk | you would need to use 0.5 for the behaviour you want | 21:02 |
Keybuk | *and* your clause is wrong anyway if you want service_exportfs fully started | 21:02 |
Keybuk | stop on starting test_state_exportfs and started test_service_exportfs | 21:03 |
keesj | what I want is that when i start state_exportfs is FIRST userfs gets fully stopped and after that only the service_exportfs get started starts. | 21:05 |
keesj | that is why i added the second stop on starting exportfs | 21:05 |
Keybuk | then service_exportfs needs "stopped userfs" | 21:05 |
keesj | right | 21:06 |
Keybuk | start on starting test_state_exportfs and stopped test_service_userfs | 21:06 |
Keybuk | 0.5 only | 21:06 |
keesj | but 0.5 can only have one start line right? | 21:07 |
Keybuk | right | 21:07 |
sadmac2 | Keybuk: I am about to head out, but have you looked at my crude little state machine lately? | 21:08 |
sadmac2 | is the implementation helping any? | 21:08 |
Keybuk | sadmac2: no, haven't looked at all | 21:08 |
sadmac2 | (I'm going to write a manpage/user document after I get a little more into it) | 21:08 |
sadmac2 | ah | 21:08 |
sadmac2 | well there's enough there now to be worthwhile | 21:08 |
Keybuk | keesj: only 0.5 has "and" behaviour | 21:09 |
Keybuk | in 0.3 everything is "or" | 21:09 |
Keybuk | and "or" doesn't give you what you want | 21:09 |
keesj | well or is fine for me but apparently at the moment upstart starts the service_userfs it does not stop service_userfs. because (and I am guessing) the service_userfs is in "not started" mode. | 21:12 |
keesj | off to bed now | 21:15 |
Keybuk | no | 21:15 |
Keybuk | nothing to do with that | 21:15 |
Keybuk | it doesn't wait because nothing tells it to | 21:15 |
Keybuk | you don't have any instruction for upstart to wait | 21:16 |
Keybuk | it won't wait because you haven't told it to | 21:16 |
Keybuk | it doesn't know what you're thinking ;) | 21:16 |
plundra | Keybuk: Ok, sweet :-) | 23:26 |
plundra | Too bad not even the upcoming Ubuntu 9.04 or Debian experimental has 0.5 yet (!) | 23:26 |
Keybuk | plundra: I'm not particularly planning to put 0.5 into Ubuntu | 23:27 |
plundra | Keybuk: Bleh, why not? :-) | 23:28 |
plundra | restart would pretty nifty | 23:28 |
plundra | And from what I read in the changes, loads of other stuff were redone etc. | 23:28 |
Keybuk | the userspace was never really finished | 23:29 |
Keybuk | and 0.5 has various other problems | 23:29 |
Keybuk | none of its new features help Ubuntu | 23:29 |
Keybuk | and I'd rather spend my effort working on 0.10 | 23:29 |
plundra | Ok, I see. | 23:29 |
plundra | So what's planned for 0.10? :-D | 23:29 |
Keybuk | lots | 23:32 |
plundra | Mkay, rewrites again? (Lots of stuff was remade for 0.5, right?) | 23:33 |
Keybuk | the main change is dropping "start on"/"stop on" | 23:35 |
plundra | Oh, ok. | 23:36 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!