/srv/irclogs.ubuntu.com/2012/05/02/#launchpad-yellow.txt

gary_posterfrankban, how much more work do we need on lpsetup before we can switch our buildbot setup to it?  If the answer is long or not clear, please feel to take your time; no rush12:04
gary_posterand hi btw :-)12:04
gary_posterand good morning fellow US east coasters12:04
frankbanmorning gary_poster, just the time to test it and fix eventual bugs after the two branches in slack coding and slack review are landed12:05
gary_posterfrankban, great.  I propose we do that soon, even as a non-slack task.  It sounds like a relatively small task, so maybe once our green buildbot rate is up to 80% or so. Hopefully soon. :-)12:07
gary_posterfrankban, I'm looking at your lpsetup branch now12:07
frankbangary_poster: thanks12:08
gary_posterbac benji frankban call in 212:09
gary_posteror 112:09
back12:09
gary_posteroh boo, my video is not working all of a sudden12:09
gary_posterI'm gonna try to reboot.  that will mean 2 min probably12:10
gary_posterbenji, I thought you were back today.  If I'm right, please join us, and if not, sorry to bother, and no need to respond12:14
benjibeep12:20
gary_posterare you road runner, and one of us is wile e coyote?12:40
gary_posterfrankban, in your MP at the very beginning, why bother with catching those exceptions and sending them to sys.exit?  doesn't letting the exceptions through accomplish the same thing with more potentially valuable diagnostics (in the form of the full traceback)?12:47
frankbangary_poster: the exceptions are (exceptions.ExecutionError, KeyboardInterrupt, MemoryError). Catching the KeyboardInterrupt is just a way to stop the execution in a nice way. MemoryError is explosive, and ExecutionError is explicitly raised by the script with a meaningful comment.12:51
gary_posterfrankban, yes, I guess the MemoryError seems the oddest to me.  Wouldn't that indicate an error for which the traceback might be interesting?12:54
gary_posterExecutionError I understand12:54
gary_posterKeyboardInterrupt is fine too12:54
frankbangary_poster: agreed in not catching the MemoryError12:54
gary_posterso, s/seems the oddest/is the only one that seems odd/12:54
gary_posterok cool12:54
gary_posterfrankban, really nice how this has simplifications and cleanups, like no longer having to explicitly handle oneiric and instead finding the interface12:56
frankbangary_poster: yes, it simplifies things and it's more robust too.12:57
frankbangary_poster: and uses another great hint by serge :-)12:57
gary_posterfrankban, I'm somewhat worried about the retry around sshlxc.  ISTM that we only want to retry if the ssh call itself fails, not if the command run within the ssh fails.  Is that not a valid worry?12:59
gary_posterfrankban, serge's hint == get_network_interfaces (/sys/class/net)?13:00
frankbangary_poster: yes13:01
gary_postercool13:01
frankbangary_poster: let me check the ssh definition in shell toolbox13:01
gary_postercool13:03
gary_postereverything else looks great frankban.  Once we resolve that worry I'll approve.13:04
frankbangary_poster: you are right, since ssh raises the same error we intercept in retry, maybe we want to retry the lxcip part, not the ssh connection. I suggest I fix that moving the decorator inside the function.13:05
gary_posterfrankban, that's what I was thinking too, but it might be more complicated than that:13:06
frankbangary_poster: you are thinking that we need wait_for_lxc again, right?13:06
gary_posteronce we have the ip, that does not necessarily mean that the sshd is ready13:06
gary_posterfrankban, yeah, I'm afraid so13:07
gary_posterunless you say why not, which I'd be happy to hear :-)13:08
frankbangary_poster: at least it will be not as ugly as before, thanks to "retry".13:08
gary_postertrue13:08
gary_posterok frankban, will approve with these comments,13:08
gary_poster.13:08
frankbanthanks gary_poster13:08
gary_posterapproved13:15
gary_posterstepping away; back soon13:15
bacis it me or are there more SRUs than normal following a release?13:44
benjiI come to town and everyone looses their mind: http://boingboing.net/2012/05/01/tennessee-man-jailed-for-using.html14:08
gary_poster:-/14:16
gary_posteralong with an advertisement for http://shop.boingboing.net/product/Instant-Underpants14:17
benjiboingboing is a slightly odd site :)14:20
benjifrom the description of the bill given in the article, I'm pretty certain that the "old $50 bill" the guy was arrested for using was from the 1997 series :S14:22
bachey i saw a shop selling similar underpants the other day in cameron village.14:24
frankbancan anyone confirm you don't see files in /var/lib/lxc/[running lxc]/rootfs/sys from the host?14:26
benjifrankban: I don't see any files in there for my running lxc container14:31
frankbanthanks benji, so I guess there is no way to see the contents of a sysfs mounted inside a container14:32
benjifrankban: not that way at least because the sysfs is mounted on top of that directory inside the container.  If you just need to peek at it you could do something like "ssh CONTAINER cat /sys/foo" or use scp14:35
frankbanbenji: yes I know, unfortunately I can not use ssh in this context14:37
benjihmm14:38
benjiI'm really getting tired of "make" not producing a working LP under LXC, I have lost so much time this morning to that brokenness.14:49
benjiI guess I need to do something about it.14:50
gary_posterbenji, wfm :-/15:12
gary_posterwell, it works well enough for bin/test anyway15:13
benji"Waveform monitor"?15:13
benji"Western Federation of Miners"?15:13
gary_posterworks for me :-)15:13
benjiah!15:13
benjigary_poster: does your binary search thing take an arbitrary domain over which to work?  I'd like to search through seed-space instead of test-space15:15
gary_posterbenji, currently my binary search thing takes two arguments and prints them out, along with "Hello world!" :-)  In the notes I have for how it should work, no, I wasn't planning that.  What would the process be for that?15:17
gary_postermy binary search thing also complains appropriately if you don't give the right number of arguments.15:17
gary_posterIt's pretty sophisticated.15:17
benjiheh15:17
benjiIt seems to me that a general facility to run a command and use, say, a given file as the domain to search shouldn't be too hard; you could provide a template to substitute the value into, run the command and use the exit code to decide if it was on one side of the division or another15:19
benjithere could also be a non-bisect mode where it just runs commands until it finds one that generates the desired result (zero or non-zero exit code)15:20
gary_posterbenji, this the process I had in mind: http://pastebin.ubuntu.com/962568/15:22
gary_posterIt feels like what you would describe might be so general purpose as to require further coding for every actual task you needed to do.  I'm not quite sure how what I sketched would fit into that general story, for instance; nor do I see how you would use it for the seed-space approach yet.15:24
gary_posterIt would be cool to have a general purpose tool, though, so if you thouht it would work it would be fun to steal some lunch or slack time and talk about it15:25
bacgary_poster, benji: could one of you review https://code.launchpad.net/~bac/launchpad/bug-987898/+merge/104399 ?15:25
bacthe diff is a tad longer due to removal of trailing whitespaces15:26
gary_posterI'll do it bac15:26
benjigary_poster: yeah, what I want is general and -- I now realize -- not applicable to what you are doing because any or all of the tests can interact, but for my thing each item in the domain is independent15:26
gary_posterthat's what I thought, benji, yeah15:26
bacfrankban: approved your MP15:27
frankbanthanks bac15:27
gary_posterbac, I take it that resetting the db/undoing what the previous test did was problematic?  probably because sample data is involved?15:28
gary_posterSo, a nicer fix would be a rework into using factories?15:28
gary_posterfir instance?15:28
gary_posterfor15:28
gary_posternot saying I'm asking for that. just thinking through it15:28
bacgary_poster: yes that would be nicer.  is that the approach you'd prefer?15:29
gary_posterbac, well, if I could have it for free, sure. ;-)15:29
bacgary_poster: replacing sample data with generated data is always better in my mind but not free.15:30
gary_posterright15:30
baci was going for the quick fix15:30
gary_posterbac, how not-free would it be, do you think?  one day?  two?  and how much would you feel like doing it?  not at all?15:31
bacbut i'm happy to do either15:31
bacno, it should be relatively quick.  just not as quick as s/[]/...15:31
bac:)15:31
gary_posterheh15:31
gary_posterbac, ok, switching to factories seems like a known, good, and relatively cheap thing to do for the problem, so I'm +1 if you are game.15:32
bacok15:34
gary_postercool, bac, thx15:34
frankbanbenji: fwiw: you can access the container sysfs through /proc/<containerinitpid>/root/sys/15:39
benjifrankban: cool15:39
bacgary_poster: turns out it isn't a simple matter of using sample data.  the data are in a mocked up Bugzilla Transport.  so i will instead just make the call to undo the changes which will restore the data to a known good state.16:02
gary_posterbac, ok, cool, sounds good.  And I don't object to the initial approach fwiw, but this does sound better to me16:03
gary_posterfrankban, definitely submit lxc-ip to lxc itself--I think it belongs there16:04
gary_posterthat's what hallyn was encouraging, I believe16:05
gary_posterthat is, not just in ubuntu, but in the base code16:05
frankbanI will definitely do that when the search-interface branch is ready, and hopefully with your help gary_poster16:07
frankbanI don't even know how to start doing that...16:07
gary_posterfrankban, me either ;-) but I bet hallyn will help.  I'm happy to do paperworky things to help too16:08
frankbanthanks gary_poster16:08
gary_postercool, welcome16:08
gary_posterlunch16:17
gary_posterbac, it looks like https://code.launchpad.net/~bac/launchpad/bug-987898/+merge/104399 is ready for re-review, yeah?16:45
bacgary_poster: no16:45
bacgary_poster: i've rethunk it16:45
gary_posteroh ok16:45
gary_posterok16:45
baci think the problem is the mockers use of class data rather than copying it to instance data16:46
benjiMy machine crashed because I was silly enough to close the lid.  I'm applying updates and will reboot again after that.16:46
bacdoing that should isolate the tests with no special care needed16:46
gary_posterbac, ok cool16:46
gary_postersounds great16:46
gary_posterbenji ack16:46
frankbangary_poster: could you please re-review the sshlxc part of https://code.launchpad.net/~frankban/lpsetup/use-lxcip/+merge/104350?16:47
gary_posterfrankban, sure, looking16:48
gary_posterfrankban, you added wait_for_lxc back but then you did not use it in sshlxc.  Why not?16:52
frankbangary_poster: if I do that,  an ssh connection "true" is performed each time you call sshlxc.16:55
frankbancurrently it works like that: wait_for_lxc is invoked just after the lxc is started. Later, I think we can assume the ssh server is up and running inside the lxc16:56
gary_posterlooking further...16:57
frankbannext calls to sshlxc just retry to obtain the ip, without retrying the ssh call16:57
gary_poster...in initialize_lxc you are saying, we call wait_for_lxc after start and before initialize...16:57
gary_posterok frankban.  I guess...in sshlxc, if we are assuming that the ssh call will work, why are we not assuming that the lxc_ip will work?  the ip should work before the ssh.16:59
gary_posterI know I asked for the retry of lxc_ip17:00
gary_posterbut what you seem to be arguing is that we don't need retry anywhere here17:00
frankbanI thought that the ip can change across calls, due to dhcp leases (it's a remote possibility). We can instead assume that the ssh server will be still there.17:01
gary_poster(I don't think having retry around lxc_ip is a bad idea generally; but the try except around lxc_ip in sshlxc seems superfluous given your position about ssh)17:01
gary_posterhuh17:01
gary_posterfrankban, the ip would change across calls, and it would cause a >30 second problem?17:02
gary_posterIOWW, again, I don't object generally to the @retry around lxc_ip; but I do think that the try except in sshlxc is inconsistent with your logic arguing that we don't need to wait for sshd17:03
gary_poster(there)17:03
frankbanthe try/except in sshlxc is done just to change the exception type: if lxc_ip fails, it raises a CalledProcessError, that is the same error raised by a failing ssh command.17:05
frankbanChanging the exception type allow us to retry sshlxc in wait_for_lxc, without catching lxc_ip problems, but just ssh connection problems17:06
gary_posterhm17:07
gary_posterI didn't catch that we were using sshlxc in wait_for_lxc.17:07
frankbanwithout the try/except the lxc_ip fail propagates and we could end up waiting for 30*30 seconds (30 inside sshlxc *30 in wait_for_lxc)17:07
gary_postersounds like fun :-)17:07
gary_posterok frankban, I'm good with it.  thank you.17:08
frankban:-) thanks gary_poster17:08
frankbanhave a nice evening!17:11
gary_posteryou too frankban17:14
bacgary_poster: have a look at https://code.launchpad.net/~bac/launchpad/bug-987898/+merge/104399 please17:40
gary_posterbac, looking17:40
gary_posterbac, ! great17:41
gary_posterapproved bac17:43
bacthanks17:43
* bac -> biking17:45
=== benji is now known as Guest45135
benji___gary_poster: do we have or want to set a standard timebox for these very intermittant test failures?  I.e., I'm wondering how much time I should dedicate to fixing this bug (992814).  I haven't even been able to replicate it yet.18:16
=== benji___ is now known as benji
gary_posterbenji, if you can't dupe it, mark the bug as such and move on.  We have at least four others that I can dupe easily with the instructions I give in the box18:18
gary_posterI mean in the bug18:18
gary_posterso, if we can't dupe, I'm not interested.  that's why I'm trying to pre-vet these for everyone18:19
benjigary_poster: I picked up bug 992692.  It has dupe instructions.18:36
_mup_Bug #992692: lp.services.mail.tests.test_incoming.TestIncoming.test_invalid_to_addresses fails intermittenty/rarely in parallel tests <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/992692 >18:36
gary_postersounds good benji18:36
benjiif anyone has 10 minutes to do a consult on what the right way to fix this test interaction is, I would be happy to have the input20:15
gary_posterbenji, I just saw that and I have to run now, sorry20:39
benjigary_poster: no worries20:40
gary_postertalk to you all tomorrow20:40
benjilater20:40
bachi gary_poster, benji: i created https://dev.launchpad.net/ParallelTests/TestIsolation as a hopefully useful repository...and as a way to vent20:45
benji:)20:46
bactl;dr - we really shouldn't do the stupid stuff we know we shouldn't do20:46
bacbtw, am i the only one who tried to read an emoticon into tl;dr ?20:47
benjibac: looks good; should we add something like "if you always use --shuffle then at least your isolation mistakes will bite you sooner rather than later"?20:47
bacbenji: wiki-away20:47
benjiwill do :)20:47
benjibac: why do you suggest making copies of class data into the instance instead of just making it instance data to start with?20:48
bacperhaps i was influenced by the existing class i was editing20:48
bacyeah, that would be cleaner20:49
benjibac: cool, do you want me to make that edit too?20:50
bacbenji: i'm not partial to what i wrote, so feel free to fix it as you wish20:51
benjibac: k20:51
bacyour way would've saved me the time realizing i should have used deepcopy not copy20:52
benji:)20:53
benjiyeah, copy and deepcopy are attractive nuisances20:53
gary_posterbac, sounds good.  it would be worth announcing it to the list.22:03
bacok22:04
baci'm looking at bug 993482 -- it is vexing22:04
_mup_Bug #993482: lp.services.mail.tests.test_incoming.TestIncoming.test_invalid_to_addresses fails rarely/intermittently in parallel tests <paralleltest> <Launchpad itself:In Progress by bac> < https://launchpad.net/bugs/993482 >22:04
gary_posterI have to run to dinner22:08
gary_posterttyl22:08
gary_posterlast test run only report 4036 test runs.  I lost the subunit output--thought I had it, turned off the ec2 instances, then realized subunit had still been downloading :-(22:09
gary_posterso can't diagnose22:09
gary_posterneed to be on the lookout22:09

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