/srv/irclogs.ubuntu.com/2011/04/20/#launchpad-dev.txt

wallyworldthumper: wgrant: standup?00:03
thumperyeah, I have a few minutes00:03
LPCIBotProject devel build #655: STILL FAILING in 5 hr 0 min: https://lpci.wedontsleep.org/job/devel/655/00:04
wgrantAnyone looking at the buildbot failure?00:24
wallyworldwgrant: looking now. been fighting with recordmydesktop this morning :-(00:52
wgrantwallyworld: I've just pushed.00:53
wgrantSo don't worry about it.00:53
wallyworldwgrant: ok. what was the issue?00:53
wgrantwallyworld: The check_permission changes in security.py. EditStructuralSubscription now relies on launchpad.Edit being defined for all IStructuralSubscriptionTargets.00:55
wgrantIt was not defined for DistributionSourcePackage.00:55
wallyworldack. thanks00:55
lifelessyay side effects00:58
jcsackettis anyone available to look at https://code.launchpad.net/~jcsackett/launchpad/bug-expiration-doesnt-oops/+merge/58412?01:01
pooliehi all01:02
pooliere bug 766149\01:02
_mup_Bug #766149: bzr from daily ppa blocks python 2.6 install on natty using site-packages <packaging> <Bazaar:Confirmed> <bzr (Ubuntu):Invalid> < https://launchpad.net/bugs/766149 >01:02
poolieis this just deryck trying something, or is lp as a whole planning to move to natty before you move to py2.7?01:02
wgrantpoolie: LP doesn't quite run on 2.7 yet, so it's hardcoded to 2.6 for devs who are running natty.01:04
lifelesspoolie: company policy - we should all be running natty around now.01:04
wgrant(eg. me)01:04
lifelesspoolie: but lp /cannot/ move to py2.7 until its backported to lucid and so on.01:05
pooliewell, company policy would not (aiui) prevent you running lp in a chroot01:06
wgrantpoolie: No, but there's very little reason to.01:06
wgrantpoolie: Given that it works fine on natty.01:06
wgrant(mostly)01:06
poolie:)01:06
lifelessI do my dev in a lucid vm fwiw01:06
poolieshall we update https://dev.launchpad.net/Running then?01:07
lifelessbut thats different tradeoffs to in-place, and higher friction in some ways01:07
wgrantpoolie: It's not completely tested, but maybe.01:07
poolieanyhow, i don't mind, i just had not heard of anyone running natively on natty yet01:09
poolieif everyone was going to switch that bug would be a bit more urgent01:09
lifelessI'd expect a rash of migrations in the next week or two01:10
wgrantpoolie: I've been running since November or so.01:10
wgrantWithout much trouble in recent months.01:10
* wallyworld___ heads off to dentist with laptop and 3g modem. who knows how long i'll be stuck in the waiting room :-/01:29
=== wallyworld___ is now known as wallyworld
wallyworld_poolie: huwshimi: http://people.canonical.com/~ianb/filebug.ogv    ps. browser back button also works02:24
poolieyou legend02:26
wallyworld_poolie: assignee picker also works on Chrome :-)02:27
poolieis this by having the fields statically present but hidden?02:27
wallyworld_poolie: i think the fading of the details entry fields works ok. full rational in partially completed mp https://code.launchpad.net/~wallyworld/launchpad/filebug-loses-data/+merge/5841002:27
wallyworld_poolie: essentially yes02:28
poolieyes02:28
pooliechoirs of angels sing thee to thy rest02:28
* wallyworld_ now has to write js and windmill tests that won't be run anyway :-(02:28
wallyworld_poolie: there's a lot of duplicate bugs filed about this one :-)02:29
wallyworld_poolie: plus xss holes that will be plugged02:29
* wallyworld_ goes to climb onto dentist chair. yeow :-(02:39
lifeless39 /    6  RootObject:+login02:52
lifeless>< what now02:52
wgrantPerhaps our friendly chæ doesn't have SSO access.02:52
wgrantHmm.02:53
wgrantNo, various prefixes.02:53
wgrantPossibly traversal + locks.02:53
lifelessDS, AU, CP02:53
wgrantwut02:53
lifelessprefixes02:54
wgranthttps://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1935DS60602:54
wgrantYes.02:54
wgrantBut look at the OOPS.02:54
wgrantI blame SSO.02:54
wgrant10059ms gap.02:54
lifelesswe have missing instrumentation02:54
lifelessdo we make *http* calls to SSO ?02:54
wgrantYes.02:54
lifelessokies02:54
lifelessa) exception time02:54
wgrantRight in that location, too.02:54
lifelessand b) critical bug on sso time.02:54
wgrantWell, no, it's probably an issue on our end.02:55
wgrantBut it's with the request to SSO.02:55
lifelessand c) instrumentation02:55
lifelesswgrant: nah, login is /slow/02:55
lifelessI've been suspecting it for weeks02:55
lifelessbut had nodata02:55
wgrant:( dapper03:04
lifelessoh03:07
lifelessand we need to qa to unbreak bug assignment etc03:08
thumperlifeless: https://code.launchpad.net/~thumper/lazr.enum/release-1.1.3/+merge/5842003:08
thumperlifeless: then I'll make a lazr.enum release03:08
thumperadd it to our download cache03:08
thumperand fix the bug03:08
thumperlifeless: can you upload to pypi?03:09
thumperI don't think I can03:09
lifelessthumper: its per-project03:09
lifelessthumper: any of the existing uploaders can add you03:09
thumperhmm...03:09
thumperI wonder who it is03:09
lifelesslogin to pypi, it will show you03:10
* thumper should get a pypi login03:11
lifelessthumper: you can use openid03:11
wgrantYou don't even need to log in.03:11
* thumper is using openin03:11
lifelessthumper: does lazr.enum already have the changes needed ?03:11
thumperopenid even03:11
thumperlifeless: yes03:11
thumperin the last trunk revision03:11
wgrantlifeless has privs.03:11
lifelessthumper: this is most *definitely* a self review case03:11
thumper:)03:12
lifelessoh I do, how about that.03:12
lifelesshah, 1.1.103:12
lifelessI'm so glad we keep it up to date03:12
lifelessthumper: don't add it to the download cache, I'll get a tarball out as a result of doing sdist upload --signed03:13
lifelessthumper: otherwise we'll have different tarballs and thats just a nuisance03:13
thumperPackage Index Owner: barry, gary, flacoste, leonard, lifeless03:14
thumperlifeless: do you want to add me on03:14
wgrantHaving different tarballs is justification for homicide by distribution engineers.03:14
thumperand I can upload it?03:14
lifelesssure03:14
thumperI'm thumper on pypi too03:14
lifelessok, you have owner on all the lazr.* things I have owner on03:16
lifelessuse it well03:16
lifelessoh ffs03:17
lifelessSMTPError: SMTP error: 552 5.2.3 Your message exceeded Google's message size limits. Please visit03:17
lifeless5.2.3 http://mail.google.com/support/bin/answer.py?answer=8770 to review03:17
lifeless5.2.3 our size guidelines. e37sm215844vbm.503:17
thumperlifeless: yeah, saw that, thanks03:17
lifelessI really *must* finish the subunit post stuff for lp03:17
thumperlifeless: also... can sdist do the pypi upload too?03:17
lifelessyou change them togeter03:18
lifelesssdist upload --signed03:18
lifelessIIRC03:18
lifelesss/change/chain/03:18
thumperack03:18
* thumper tries03:18
thumper:(03:24
thumperlifeless: how do identify with pypi from the command line?03:24
thumperfor sdist upload?03:24
lifelesscat ~/.pypirc03:25
lifeless[server-login]03:25
lifelessusername:lifeless03:25
lifelesspassword:03:25
thumperum... I don't have a password though, I use openid03:25
thumperI could add one I suppose03:25
lifelessI don't know how to do it for openid03:26
lifelessthere are good docs around that I read before openid was added, I suspec they have been upgraded03:27
thumperI just added a password to my account03:28
thumperall is good03:28
thumper1.1.3 on pypi now03:28
lifelessok, opinions please04:27
lifelessshould the request timeline flatten recursive actions into a pair of start/stop actions automaticlaly04:28
lifelessor only when the might-nest action has indicated this is expected04:28
lifelessthe latter seems more robust to me if a little more thought required to use.04:28
lifelesscan has review? https://code.launchpad.net/~lifeless/launchpad/bug-766786/+merge/5843005:09
StevenKlifeless: Broadly okay, I'm a little unsure why a bunch of your tests don't seem to test anything05:12
lifelessStevenK: they run code which before the change will break05:16
lifelessStevenK: thats a test05:16
lifelessthe idea that a test needs an assert in it is a cruel meme perpetuated on the unwary05:17
StevenKlifeless: Okay, fine. r=me05:18
lifelessthanks!05:18
spmlifeless: "the idea that a test needs an assert in it is a cruel meme perpetuated on the unwary" <== brief expansion on the why? for personal curiosity/learning than anything profound.05:48
lifelessso the argument is that a test case has to make an assert or its not making a statement about any particular thing being expected/not expected05:49
lifelessrelated to this there is an argument that a test case should make one and only one assertion05:49
spmright05:49
lifelessnow, the latter is more easily shown to be nuts, if you compare the LOC (and relatedly clarity) to curry a multi-attribute assertion vs 2 or 3 separate assertions05:50
lifelessits a spectrum, *sometimes* good sometimes bad.05:50
lifelesswith the latter disposed of - we have merely to cover the what about 0 case?05:51
spmperhaps one of those, here's the rule, so you think about it when you break it, cases?05:51
lifelessand for that, we go back to basics:05:51
wgrantStevenK: Bug #746376 needs QA.05:51
_mup_Bug #746376: When DSD is created it needs to check for existing packagediff and set DSD diff properties <derivation> <qa-needstesting> <Launchpad itself:Fix Committed by stevenk> < https://launchpad.net/bugs/746376 >05:51
lifeless - tests exist to help us deliver fit for purpose code05:51
lifeless - if it helps with that, great. And we should aim for clear expression of whatever thing we want to ensure does/does not happen05:52
huwshimiwallyworld: That screencast looks good.05:52
lifeless - one aspect of clarity is checking for a single -conceptual- issue in a test case (vs a single 'assertion') because that helps with correcting problems: you can see all the intentions that are violated and fix those.05:53
lifelessspm: and thus, if being able to run code that you couldn't before is a useful thing to be able to do, it can be a test in and of itself.05:54
lifelessspm: in C i would have written those tests with assertions05:54
StevenKwgrant: Indeed, I've been mulling how to do that while working on another branch05:54
lifelessbecause C doesn't have exceptions, I would have had to be returning error values.05:54
lifelessspm: and I'd want to know that it hadn't errored; in python it will throw for me, so the test is simpler.05:54
wgrantStevenK: It's fairly safe and the code doesn't run in prod yet, so qa-untestable is reasonable.05:54
spmlifeless: right. and that's where I've typically come from with the very little unit testing I've done. if I plug in this value do I get back the desired answer.05:55
lifelessspm: right; and thats exactly this case - plug in some code, desired answer is a lack of exceptions.05:55
spmI think the point you make about conceptual issue testing, is a powerful one.05:55
lifelessspm: its a rule of thumb again though :)05:55
StevenKwgrant: Done.05:55
spmtricky, but powerful.05:56
wallyworldhuwshimi: cool. i'm fixing the tests which broke due to the different html and writing new ones05:59
lifelesshmm06:02
lifeless'cve reports' should really be in the bug count portlet06:02
huwshimiAnyone getting "ImportError: No module named nestingtimedaction" on 'make schema'?06:02
lifelessnot inthe 'configure this product for bugs' portlet.06:02
lifelesshahha I suck.06:02
lifelesshuwshimi: don't use my last landing.06:03
lifelessI failed to add the new files.06:04
huwshimilifeless: Are you going to land a fix soon or should I revert?06:05
lifelessits landing now06:05
huwshimilifeless: Ah sweet. I'll wait. Thanks06:05
lifelessmwhudson: hey06:18
poolielifeless: fyi bug 766757 was filed after a discussion with james06:18
_mup_Bug #766757: creating mps for collisions isn't helpful <canonical-bazaar> <Ubuntu Distributed Development:Confirmed for canonical-bazaar> < https://launchpad.net/bugs/766757 >06:18
lifelessmwhudson: is canonical.launchpad.webapp.login.CookieLogoutPage your beastie ?06:18
poolieas what seemed like the most likely string to pull on06:18
lifelesspoolie: coolio06:18
poolieit is obviously not the full solution06:18
lifelesspoolie: I was (wrongly) concerned then :)06:19
poolienp, i probably should have said i'd spoken to him06:20
poolieyou can see why i am concerned by some part-of-the-picture lp bugs :)06:21
lifelessnaturally06:21
lifelesssorry if I caused any confusion or noise on the bug06:21
poolieno problem at all06:23
pooliei appreciate your interest06:23
pooliejust letting you know06:23
lifelessthanks06:23
lifelessI do trust that you know the domain06:23
poolienot as well as i would like :/06:24
lifelessI guess I feel that there is stuff possibly missing given the previously distro heavy design06:24
lifelesspoolie: I'll keep commenting on such things then :)06:24
poolie"previously distro heavy design" meaning what?06:24
lifeless\o/ 1-character bugfixes06:24
lifelesspoolie: well a lot of the design about how it should work was just done by doing + small conversations here and there amongst distro folk (which I count myself as for this purpose)06:25
lifelessit was often written up into mail or wiki but not always06:25
lifelessand it was spread over several years06:25
lifelessso its hard to have a cohesive hold of all of the bits :)06:26
poolieah yes06:27
lifelesscan has review? https://code.launchpad.net/~lifeless/launchpad/bug-112776/+merge/5843406:28
wgrantlifeless: I guess that's OK now, since we end up at the OpenID provider anyway?06:29
wgrantPreviously it was meant to return you to the current page, logged out.06:29
pooliemakes sense to me too06:29
lifelesswgrant: right06:29
lifelessnow we redirect to bazaar.launchpad.net06:29
lifelessand from there to the openid sso06:29
pooliethat's a pretty popular bug06:29
wgrantYup.06:29
wgrant(ew)06:30
wgrantStevenK: Could you mentor?06:30
wgrantTerribly difficult.06:30
LPCIBotProject windmill build #193: STILL FAILING in 1 hr 2 min: https://lpci.wedontsleep.org/job/windmill/193/06:30
StevenKlifeless: Only if you promise you didn't miss any files this time06:30
pooliei wanted to have a beer-type conversation with you about testing sometime06:30
lifelessStevenK: I make no such promises06:30
pooliei was noticing some of bzr's tests were making things hard to change rather than easier06:30
poolieno rush though06:30
lifelesspoolie: sure06:30
StevenKwgrant: Done06:30
pooliei think some things we've been doing cause a skew towards tests that depend on internals06:31
wgrantStevenK: Thanks.06:31
wgrantwallyworld: Hi.06:31
wallyworldwgrant: 1 min. otp06:31
pooliesometimes just things that are not strictly internals, but external to a narrow layer06:31
lifelesspoolie: I meant, sure, I'd like that too + no rush :)06:31
wgrantwallyworld: Sure.06:31
poolieanyhow, some other time06:31
StevenKlifeless: Typical :-P06:31
pooliedrop by some time :)06:32
lifelessI have the miles :)06:32
lifelesshmm, actually I wonder if I do on qantas; have to fly every year with them I think; I do on air nz06:33
poolieevery 18m to keep them iirc06:33
wgrantThey changed it to 18 months a couple of years ago.06:33
wgrant:(06:33
StevenKYes, this is a *bug*.06:34
wgrantProbably an effective one, however06:34
StevenKAlong with their recent fuel increase.06:34
wgrantI never really saw any validity in a fuel surchage.06:34
pooliepricing opacity06:35
StevenKAnd jet fuel is quite expensive06:35
wgrantThat's business rationale, not validity :)06:35
pooliei am so happy with Amaysim because they have simple transparent linear pricing06:35
wallyworldwgrant: free now06:35
poolienone of this 1c/MB for the first 1000, then 100c06:35
wgrantwallyworld: There are two remaining Windmill test failures.06:35
LPCIBotYippie, build fixed!06:36
LPCIBotProject devel build #656: FIXED in 5 hr 24 min: https://lpci.wedontsleep.org/job/devel/656/06:36
lifelessamaysim ?06:36
pooliean australian optus mobile reseller06:36
wallyworldwgrant: the only ones i saw were due to the picker issue.06:36
wgrantwallyworld: One of them is for inline non-contributor assigning, which works fine AFAICT.06:36
lifelesspoolie: ah, I saw the optus thread06:36
lifelessdidn't catch the reseller name06:36
wallyworldwgrant: i fixed that test a day or 2 ago06:36
wgrantwallyworld: It just failed again a few minutes ago (in db-devel)06:37
wallyworldwtf06:37
wgranthttps://lpci.wedontsleep.org/job/windmill/193/testReport/junit/lp.bugs.windmill.tests.test_bug_inline_assignment/TestInlineAssignment/test_inline_assignment_non_contributor/06:37
wgranthttps://lpci.wedontsleep.org/job/windmill/193/testReport/junit/lp.translations.windmill.tests.test_sourcepackage_sharing_details/TestSharingDetails/test_set_branch/ also, but that's a bitrotten test that I might try to fix now.06:37
* StevenK kills gnome-do, hopefully to stop the wrong indicator popups06:37
wallyworldwgrant: well, the error message shows the code is as per my fix and it worked fine locally :-(06:38
wgrant:(06:38
wallyworldwgrant: i'll get my current work done and then i'll take a look06:39
wgrantwallyworld: Thanks.06:39
wallyworldwgrant: just check my email - the picker fix has gone through \o/06:39
wgrantwallyworld: Yup, and it works.06:39
wgrantThanks.06:40
wgrantWe'll deploy after the next buildout run finishes.06:40
wgrantSince there's another regression fix in there right now.06:40
wallyworldwgrant: i'm pissed that i broke it but windmill tests would have caught it :-( it's becoming risky to make js/ui changes without  the proper test coverage :-(06:40
wallyworldin-process windmill tests as part of ec2 land i mean06:41
wgrantwallyworld: Right.06:41
wgrantwallyworld: I can reproduce the assignment test failure locally, hmm.06:42
wgrantIt seems to be legit, but it works on qas.06:42
wallyworldwgrant: i'll look into it. it worked locally when i put it up for review etc06:42
wallyworldwgrant: maybe something has changed and is affecting it06:42
wallyworldwgrant: i've had that happen before. ie worked locally but broke after other stuff got merged in06:43
wgrantwallyworld: I hope that with deryck on maintenance we will soon be able to make progress.06:43
wgrantAnd get Windmill or its replacement back in soon.06:43
wallyworld+106:43
wgrantAnd maybe even get it to work on natty.06:44
lifelessI sure hope someone does bug 80902 soon :)06:49
_mup_Bug #80902: Can't target bug report from project to distribution, or vice versa <bugs> <escalated> <javascript> <linaro> <lp-bugs> <questions> <ubuntu-qa> <Launchpad itself:Triaged by launchpad-green-squad> < https://launchpad.net/bugs/80902 >06:49
lifelessoldest critical06:49
wallyworldwgrant: yeah. still some remaining (weird) ff4 issues to fix for natty06:53
wallyworldlifeless: i can look at that one next06:55
lifelesswallyworld: if curtis is cool with it that would rock06:55
wallyworldlifeless: i'll convince him :-)06:56
lifeless\o/06:56
wgrantHe was looking at that himself a few weeks ago.06:56
wallyworldlifeless: i've been hacking in bugs lately anyway. i'm still far from an expert but i know more than i used to06:57
wallyworldwgrant: maybe he has solved it already. well, one can hope :-)06:57
* wallyworld runs bin/test --layer=BugsWindmillLayer. now to watch my laptop thrash the disk for 30 minutes and acquire lots of zombie processes that refuse to die :-(07:00
* lifeless hammers staging to its knees07:00
wgrantlifeless: Oh?07:00
wgrantwallyworld: I've hopefully fixed the translations test.07:02
wallyworldwgrant: excellent :-)07:02
wgrantwallyworld: I wonder if the bugs one is related to the odd proxying that Windmill does.07:02
wallyworldwgrant: not sure. i'm running the tests locally to check for breakages due the to filebug stuff i'm doing07:03
lifelesswgrant: doing an analysis of the error rate for oe07:03
lifelessm07:03
lifelessfor bugsummary07:03
wgrantAh.07:03
wgrantlifeless: Well, staging is down, so you have the whole thing :)07:03
wgrantthumper: Is any QA necessary for your stacking change?07:19
wgrantthumper: Given that we won't be deploying codehosting tonight?07:19
wgrantwallyworld: 'node.one(".no_button") is null' :/07:20
wgrantBut it created the node just there :(07:20
wallyworldwgrant: that's the sort of stuff i've been fighting of late with windmill. takes me ages to do something which should be simple. :-(07:21
lifelesswgrant: stacking change?07:21
wgrantlifeless: [r=bac][bug=377519] Change the default stacking location to use the branch id alias.07:21
wgrantwallyworld: Ah, it helps if I test in the right browser.07:22
wallyworldwgrant: you mean it's broken in ff4?07:22
wgrantReproducible outside Windmill in Firefox *3*.07:22
lifelesswgrant: what rev?07:22
thumperwgrant: yes07:22
thumperwgrant: it is xmlrpc07:23
lifelessthumper: I thought we were not going to land that till poolie acked it works ok with bzr ?07:23
thumperso it'll be live07:23
wallyworldwgrant: but works in ff4?07:23
wgrantlifeless: r12874, in buildbot now.07:23
thumperlifeless: I've qa'ed it to my satisfaction07:23
wgrantlifeless: Ahead of the bugmail fix.07:23
lifelessthumper: I'd like poolies ack07:23
lifelessthumper: he has expressed nervousness about this07:23
wgrantwallyworld: Not sure.07:23
thumpersure07:23
lifelessthumper: its the least we can do07:23
wgrantwallyworld: I think so, though...07:23
wallyworldwgrant: this all just makes me sad :-(07:23
lifelesspoolie: has your team tested the id based stacking by hand yet ?07:24
wgrantwallyworld: Ja.07:24
wgrantwallyworld: We really need to get cross-browser Windmill working..07:24
wallyworldwgrant: yep. i'd be happy if *one* browser worked reliably07:24
wgrantGrumble.07:24
wgrantHuh.07:27
wgrantIt creates yes_button, but not no_button.07:27
wgrantI wonder if FF 3 disagrees with self-closing buttons.07:27
wgrantChromium disagrees with self-closing divs, I know.07:28
wgrantYup, that's it.07:28
wgrantWeb, I hate you.07:28
* wallyworld cries07:28
wgrantAnyway, both fixed now.07:29
* wgrant lands.07:29
wallyworldwgrant: what was the fix?07:29
wgrant-              '<button class="yes_button" type="button"/>',07:29
wgrant-              '<button class="no_button" type="button"/>',07:29
wgrant+              '<button class="yes_button" type="button"></button>',07:29
wgrant+              '<button class="no_button" type="button"></button>',07:29
wgrantYes, seriously.07:29
wallyworldwgrant: wtf. i'm stunned07:30
wgrantThat works fine in Chromium and Firefox 4, but Firefox 3 chokes if you self-close the button.07:30
wgrantChromium goes crazy if you don't close a div.07:30
StevenKDoes type="button" /> work?07:30
wgrantStevenK: I fucking hope not.07:30
wgrantBut possible.07:30
* wgrant tries.07:30
StevenKHaha07:30
wgrantFortunately not.07:32
poolielifeless: it has not broken but i have not manually tested it by renaming branches etc07:39
pooliebut i guess you have already done that07:40
wgrantwallyworld: https://code.launchpad.net/~wgrant/launchpad/translations-windmill-testfix/+merge/5844107:50
wgrantNow that the spurious failures seem to have disappeared when running only WindmillLayer, I guess we should try to keep Jenkins' Windmill builder green.07:50
* wallyworld looks07:51
wallyworldwgrant: too bad we can't hook jenkins into ec2 and07:51
wallyworldland07:51
StevenKI'd like to07:51
wallyworldStevenK: jenkins seems more reliable at running wm tests?07:52
wgrantwallyworld: Only when in a separate job.07:52
wgrantWhen running in the main job it's just as unreliable.07:52
wgrant(which is extremely interesting, yes)07:52
wallyworldwgrant: so why don't we run the wm tests isolated in ec2?07:53
wgrantwallyworld: Because nobody has done that yet, and I didn't believe this could be the case until recently.07:53
wgrantBut it has held true for a month or so now.07:53
wgrantSo it may be a good thing to try.07:53
wgrantNot sure quite how easy it will be, though.07:53
wallyworldyep07:53
wallyworldStevenK: wgrant: can we get jenkins to run the yui test layer too?07:54
wallyworldnow that it is separate07:54
wgrantwallyworld: Good point.07:54
wgrantStevenK: Could you make it run YUITestLayer too?07:54
wgrant--layer=(WindmillLayer|YUITestLayer) should do it, I think.07:54
wallyworldyep07:55
wgrantYeah, that works.07:55
StevenKI was wondering about that07:55
StevenKsudo -u hudson -H make TESTOPTS="--subunit --layer=(WindmillLayer|YUITestLayer)" check | subunit2junitxml -f -o test-results.xml07:56
wgrantShould work.07:56
StevenKDone.07:56
wgrantThanks.07:56
wgrantSo, can has review?07:58
wgrantbuildbot will finish soon.07:58
StevenKwgrant: r=em07:59
StevenK*me07:59
wgrantThanks.07:59
StevenKwgrant: I'd say "Self-review for something that trivial.", but you can't. :-(08:00
wgrantYeah.08:00
wgrantIt's a little sad.08:00
wgrantwallyworld: Is test_TextFieldPickerPlugin_selected_item_is_saved new today?08:00
wallyworldwgrant: yes08:01
wgrantwallyworld: It fails locally.08:01
lifelesswoo08:01
wgrantI wonder if it hasn't hit db-devel yet.08:01
lifelessthe error rates ar elow08:01
wallyworldwgrant: i added it to test the regression. there's a similar test in lazr-js but we need our own also08:01
lifeless243 -> 24808:01
lifeless103 -> 10808:01
lifeless12 -> 12 (with the occasional 13)08:01
wallyworldwgrant: fails how?08:02
wgrantwallyworld: Oh, is it YUITestLayer?08:02
wallyworldwgrant: yes08:02
wgrantYes, yes it is.08:02
wgrantBroken in Firefox 3, yay.08:02
wallyworldhmpf08:02
wgrantAnd Windmill didn't catch it 'cause it wasn't running them until 5 minutes ago.08:02
wgrantAssertionError: Failure in lp/app/javascript/tests/test_picker.html.test_TextFieldPickerPlugin_selected_item_is_saved: test_TextFieldPickerPlugin_selected_item_is_saved: failed.08:02
wgrantfocus didn't go to the search input.08:02
wgrantExpected: true (boolean)08:02
wgrantActual: false (boolean)08:02
wallyworldwgrant: hmmmm. i lifted most of the code from lazr-js for that test08:03
wallyworldported theirs across08:03
wgrantwallyworld: Let's see what happens if I run it outside Windmill.08:03
StevenKI've been pondering use of Jenkins -- use Tarmac, which fires off a Jenkins paramatised build, and if the tests pass, merges it to devel. A devel build to stable could work the same way.08:03
wallyworldwgrant: or perhaps in ff408:03
wgrantwallyworld: How do I run it?08:04
StevenKwgrant: Does Windmill work with FF4?08:04
wgrantStevenK: That's how the new build infrastructure is meant to work, exception doing the build inside tarmac.08:04
wallyworldwgrant: one sec. phone just rang08:04
wgrantStevenK: Not for me, but for wallyworld it does.08:04
StevenKBecause I've had a thought -- if we could get FF4 onto Lucid, I could convince the windmill tests to run twice -- once for 3 and once for 408:05
wgrantStevenK: I was going to talk to deryck about that some time this week.08:05
wgrantAnd Chromium too.08:05
wgrantwallyworld: It turns out that having JS built in the relevant branch helps.08:06
wgrantI can see the failure outside Windmill now.08:06
wgrantWorks in Chromium, not FF3.08:06
StevenKHm, it would have to be a seperate builder inside Jenkins, which makes me sad.08:06
lifelessmatrix build ftw08:07
wgrantUnexpected error: simulateMouseEvent(): Invalid target.08:07
StevenKlifeless: Yes, that was my plan08:07
wgrantStevenK: Why is that sad?08:08
wgrantIt's how it should be, I think.08:08
wallyworldwgrant: to run outside wm you need to open the html file in a browser08:08
StevenKBecause it would be almost-but-not-quite the same as the lucid builder08:08
wgrantAh.08:08
wgrantwallyworld: nth-child(2)08:08
wgrantI bet that's it.08:08
wallyworldwgrant: the html files is in the same dir08:08
wgrant"Hmm... according to this page Firefox 3.0 does not support :nth-child"08:09
wallyworldwgrant: that expr will pick the no button08:09
wallyworldif it exists :-)08:09
wallyworldwgrant: that's fooked. does it say what to use instead?08:09
wgrantHmm. It at least somewhat supports it.08:10
wgrantBut not completely.08:11
wallyworldwgrant: there must be an alternative you'd think. btw, jquery and windmill don't play well together :-(08:11
wgrantwallyworld: Oh?08:11
wallyworldi've reverted to using xpath most times now :-(08:11
wgrantAh, right.08:12
wallyworldwgrant: yeah, waitsForElement gives false positives08:12
wgrantAwesome.08:13
wallyworld?08:13
wgrantErm.08:14
wgrantnth-child(1)?08:14
wgrantDoesn't that mean every child?08:14
wallyworldthat picks the yes button08:14
wgrantI forgot the 'n' syntax.08:14
wgrantSo yes, you're right.08:14
wallyworldfirst time for everything08:15
wgrantwallyworld: Turns out those nth-child failures were from devel, not my fixed branch. But I can't reproduce the test_TextFieldPickerPlugin_selected_item_is_saved failure outside Windmill... I guess I'll run it again once this full WindmillLayer|YUITestLayer run finishes.08:23
StevenKThe current Jenkins run is in the depths of make compile08:24
wgrantYeah.08:24
wgrantIt'll hopefully fail a few tests.08:24
wgrantOr at least four.08:25
wallyworldwgrant: i wish we knew why stuff that appears ok breaks inside windmill08:29
lifelessthumper: ah, I didn't realise you'd chatted with poolie already - we're gtg08:30
lifelesswgrant: stacking needs qa yes, and we should check its good after the deploy just-in-case.08:31
lifeless-> cooking08:31
wgrantlifeless: I hadn't looked hard enough to determine it was an XML-RPC change.08:34
LPCIBotProject windmill build #194: STILL FAILING in 25 min: https://lpci.wedontsleep.org/job/windmill/194/08:35
wgrantErm.08:35
wgrantStevenK: I wonder if it needs more quotes.08:36
StevenKHaha08:36
StevenKwgrant: '' sprinkled in, build scheduled08:37
wgrantThanks.08:37
LPCIBotProject windmill build #195: STILL FAILING in 3 min 44 sec: https://lpci.wedontsleep.org/job/windmill/195/08:40
StevenKErm08:40
wgrantEven worse.08:41
StevenKCan we specify --layer more than once?08:41
wgrantDon't think so. I suggest escaping the quotes.08:41
wgrantOr the parens.08:41
wgrantAnd the pipe.08:41
wgrantI wonder how many levels of shell this is going through...08:42
StevenKAt least one :-)08:42
StevenKwgrant: More escaping!08:43
StevenK\\\" ...08:43
jtvStevenK, wgrant: I'm trying to get a grip on what my next task means.. we need to run publish-distro -A, once, on a distroseries after we create it.  Could you help me grok?08:51
StevenKwgrant: It's working!08:52
jtvSpecifically: is there a risk of it running more than once?  Are there known risks associated with interrupting and restarting it?  Does it take too long to incorporate in the normal scripting?08:52
jtvStevenK: if you got shell escaping fixed, my hat's off to you!08:52
jtvWell, helmet technically08:53
thumperlifeless: I haven't talked to poolie in several days08:55
StevenKjtv: 1. publish-distro -A can't run while any other publisher is running. 2. It will take a while to run.08:56
wgrantjtv: It takes a while.08:56
wgrantYeah.08:56
wgrantStevenK: Any other publisher *for that archive*.08:56
jtvI guess this is the very step that also takes the bulk of the publish-ftpmaster time.08:56
wgrantYes.08:56
wgrantPrecisely.08:56
StevenKAnd if you're testing on mawson. It will take an eon to finish.08:56
wgrantNot any more.08:56
wgrantMore like 25 minutes.08:56
* jtv grins evilly08:57
wgrantjtv: How are you doing it? A dirty suite flag?08:57
jtvWell I'm still trying to figure that out.08:57
jtvThe bit about concurrent runs is one of my bigger worries: do we need a global archive FS write lock perhaps, rather than script locks?08:58
pooliethumper: we talked last week though08:58
pooliei'm pretty sure08:58
thumperpoolie: if you're happy with it, I'm happy08:58
pooliei'm happy with what you described08:59
jtvStevenK, wgrant: Come to think of it, the new publish-ftpmaster invokes run_publisher directly so we may have a concurrency hazard there already.08:59
poolieif you can think of anything you want me to test i can08:59
wgrantjtv: Why?08:59
wgrantjtv: I mean, yes, but why does that in paticular make it a hazard?09:00
wgrantBecause it doesn't share the publish-distro.py lock?09:00
jtvRight, that's in the script presumably, not in run_publisher.09:00
wgrantThis is indeed bordering on dire peril.09:00
mrevellHi!09:00
jtvhi mrevell!09:01
adeuringgood morning09:01
jtvwgrant: it might help for me to be aware of what global operations may mess with archives...  I take it there's database state and filesystem state that must stay in sync?09:01
jtvhi adeuring!09:01
adeuringhi jtv!09:01
StevenKjtv: Absolutely must, yes.09:01
wgrantjtv: Yes. process-accepted, publish-distro and process-death-row maintain the disk state.09:02
StevenKOtherwise we can get corrupted archives, and then wgrant will kill you.09:02
wgrantjtv: Those three can run in parallel, but more than one instance of each will cause grave damage.09:02
jtvwgrant: that smells very much like more than should be managed by a script lock.09:02
wgrantjtv: Most probably.09:03
wgrantBut lots of things in Soyuz smell.09:03
* jtv discreetly looks the otherway09:03
wgrantSome admittedly smell less bad, as they can't directly destroy an archive used by many millions of machines.09:03
* jtv still looks the other way, but now starts blushing a bit as well09:04
jtvI hear Kazakhstan has some openings for software engineers who like to get away from it all.09:04
jtvwgrant: publish-ftpmaster also runs process-accepted I believe, so that's yet another locking hazard.  I'll file some bugs.09:06
wgrantThat's correct.09:07
stubIf you need more granular locks over the network, feel free to use PG advisory locks.09:07
wgrantAlthough parallel runs of p-a are less likely to have immediately devastating effects.09:07
jtvThere's an idea.09:08
* jtv rages at browser that's failing to connect to LP09:08
jtvwgrant: I'd rather maintain correctness overall than just avoid those.  Or are you trying to discourage me from trying it on the basis that immediately devastating effects are what I'm hoping for?09:09
wgrantjtv: No, both should be avoided.09:09
jtvGood, good.  Glad to know we're all on the same page.09:09
jtvOr would be, if LP would load over this connection.09:10
jtvwgrant: would you mind filing either one or two bugs about this?  The new, pythonized publish-ftpmaster script neglects to lock around run_publisher and ProcessAccepted.09:11
jtvstub's still bouncing09:11
jtvnot a mental image I had hoped to evoke today09:11
jtvDo these Three Singletons of Death operate on different bits of filesystem?  Or do they just do things in some other way happen not to affect each other?09:14
wgrantjtv: They all work in archiveroot.09:14
wgrantBut doing different tasks.09:14
pooliejelmer: https://bugs.launchpad.net/launchpad/+bug/76166409:20
_mup_Bug #761664: Import from git does not update <branch-scanner> <branches> <Launchpad itself:Triaged> < https://launchpad.net/bugs/761664 >09:20
=== almaisan-away is now known as al-maisan
LPCIBotProject windmill build #196: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill/196/09:24
wgrantStevenK: Success, thanks.09:25
wgrant(well, failure, but the expected amount of failure)09:25
henningewgrant: Hi!09:47
wgranthenninge: Hi.09:50
henningewgrant: I am surprised that you find that check_permission allows unregistered permissions.09:50
henningewgrant: because I copied that code in forwardCheckAuthenticated from check_permission ...09:50
wgranthenninge: Our check_permission?09:51
henningehm, I thought so09:51
* henninge checks09:51
wgrantZope's checkPermission doesn't.09:51
wgrantHuh.09:52
wgrantour check_permission explicitly checks that.09:52
henningeexactly09:52
wgrantPerhaps it was not using our check_permission.09:53
wgrantIt was...09:53
wgrantHuh.09:53
wgrantWell, the fix worked :/09:54
wgrantSo I am very confused.09:54
henninge...09:54
henningeI know the feeling09:54
wgrantOh.09:54
wgrantI see.09:54
wgrantI think. Maybe.09:55
wgrantI see something that is wrong.09:55
wgrantBut that wouldn't break this...09:55
wgranthenninge: forwardCheckAuthenticated fails to raise a ValueError when the permission is not specified.09:57
wgranthenninge: I wonder if ValueError is caught somewhere and taken as if checkAuthenticated had returned False?09:57
henningewgrant: you mean not specified as a parameter and not specified as self.permission?09:58
wgranthenninge: If it is specified as self.permission then it doesn't do the registration check.09:59
wgranthenninge: This is wrong if the object is a different interface.09:59
henningewgrant: oh, right09:59
wgrantI think that's the problem here.09:59
wgrantBut something hideous is converting the ValueError into a False.09:59
henningeI had assumed that the permission has already been checked but missed the changed object dimension.10:00
henningethat sounds bad.10:00
wgrantAh, not quite.10:01
wgrant            # The IAuthorization is a named adapter from objecttoauthorize,10:01
wgrant            # providing IAuthorization, named after the permission.10:01
wgrant            authorization = queryAdapter(10:01
wgrant                objecttoauthorize, IAuthorization, permission)10:01
wgrant            if authorization is None:10:01
wgrant                return False10:01
wgrantIn LaunchpadSecurityPolicy10:01
wgrantSo if the adapter isn't there it returns False, indeed.10:01
wgrantSo, two bugs.10:01
wgrantThe self.permission check is bad, as I outlined earlier. That's definitely a bug.10:02
wgrantBut it's not clear if the ValueError behaviour is desired here.10:02
wgrantHard to say.10:02
henningewgrant: can you please file the first bug?10:03
wgrantSure.10:03
jtvrvba: I'll go and relocate now, hopefully before rain and/or resumed heat.  After that, review!10:05
rvbajtv: great https://code.launchpad.net/~rvb/launchpad/fix-already-computed-pckdiff-request/+merge/5825710:06
jtvta10:06
henningewgrant: to be clear, we are talking about this change, right? http://paste.ubuntu.com/596466/10:06
wgranthenninge: Bug #76695510:07
_mup_Bug #766955: forwardCheckAuthenticated doesn't check existence if a permission is not specified <Launchpad itself:Triaged> < https://launchpad.net/bugs/766955 >10:07
wgrantYes.10:07
wgrantThat is probably the fix.10:07
henningewgrant: cool, thanks10:07
LPCIBotProject windmill build #197: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill/197/10:12
lifelessback10:18
henningewgrant: I also think that it should use queryAdapter and return False if that fails, just like checkPermission in the Policy. Ist that what you identified as the second bug?10:20
wgranthenninge: Probably. I'm not sure I like that behaviour, but it would be more consistent.10:21
henningeyes, it is. I'll include that.10:21
pooliehi mrevell!10:21
mrevellHey poolie10:22
pooliewill get that for you in a sec10:22
mrevellOh thanks. I'm just curious to see what people are using and how much.10:22
poolieme too10:23
pooliemrevell: what's your current gpg key id?10:24
lifelessnight all10:41
poolienight lifeless10:45
wgrantWhy are we making do_copy async?10:50
wgrantallenap: ^^?10:50
allenapbigjools: ^10:50
bigjoolsbecause the moon is made of cheese10:51
stubHmm... lp-propose-merge just popped up chromium for my web browser instead of firefox. I think I need to twiddle something in this KDE thingy, but I know not what.11:57
=== henninge is now known as henninge-lunch
bigjoolsstub: you're using KDE? :)12:46
stubYeah - giving the new version a try. Looking good, although still haven't managed to fully purge those ayatana scrollbars yet.12:47
bigjoolswhat are those?12:47
bigjoolsand did you figure out the default browser change?12:47
stubbigjools: no12:47
bigjoolsfire up System Settings12:47
bigjoolsthen look in Workspace Appearance and Behavior -> Default Applications12:48
stubbigjools: The new scrollbars that appear when you hover over the right spot - I think GTK only? Anyway... pain to use with this trackball or maybe it is just me.12:48
bigjoolsoh you might be able to get rid of those, let me see12:48
pooliehuh i just got something odd12:49
bigjoolsin the System Settings, have a looksee around Common Appearance...12:49
bigjools-> Application Appearance12:49
pooliethe ajax dupe deally sasy "472201 is not a valid bug number or nickname."12:49
pooliereally?12:49
stubbigjools: Hmm... so that will fire up firefox for all URLs, including the ones firefox can't handle like ssh: etc.12:49
stubbigjools: It isn't a KDE thing - can't see anywhere to configure it anyway. There is a package you can uninstall... oh... maybe it is still in effect because I haven't rebooted.12:50
bigjoolsstub: the GTK widgets under KDE are not really GTK widgets, they're gtkqt or something, so you can theme them12:51
bigjoolstry fiddling with the settings in Application Appearance.  I don't get the Ayantana stuff but I'm not sure what I set :)12:51
stubIts not there :) You have tomboy? Check out your scrollbar in a tomboy note.12:52
bigjoolsstub: the "web browser" setting is only for http/https12:52
bigjoolsstub: tomboy using normal scrollbar here12:53
stubI'll reboot.12:53
poolienighta ll12:54
bigjoolsnn poolie12:54
=== mrevell is now known as mrevell-lunch
stubaha... you have to remove both overlay-scrollbar and the liboverlay-scrollbar packages. The latter seems to be used by mono apps even when the overlay-scrollbar package has been removed.13:04
bigjoolsfun13:08
jamWhat is the correct protocol for getting someone to reconfigure a branch? We have a (very old) branch that has a bad stacked-on location, and I'd like to still get the new data.13:09
jam(I used my leet bzrlib skills to get at the data anyway, but it would be nice to fix it)13:19
=== mrevell-lunch is now known as mrevell
abentleyhenninge-lunch: stand-up?14:07
=== henninge-lunch is now known as henninge
henningeabentley: oh sorry, forgot ...14:19
henningeabentley: I guess you are done?14:19
abentleyhenninge: no, it was just me and abel, so we decided to wait for you.14:19
abentleyhenninge: ready now?14:19
stubbigjools, rvba: So for this derivatives stuff, we have a parent/child relationship between distroseries but the is_overlay flag is going on the distribution for all its series?14:19
rvbastub: correct14:19
bigjoolsyes14:19
bigjoolspotentially it should be on the archive actually14:20
bigjoolsmm,m14:20
stubSo the owner of the parent distribution controls how people can derive from it?14:20
henningeabentley: getting there ;)#14:20
stubc/owner/driver/14:20
bigjoolsstub: no, the person making a new distro sets whether it's an overlay or not14:21
bigjoolsbut I am wondering if this bool should be on IArchive instead14:21
henningeabentley: do you know which port mumble uses?14:21
bigjoolsthen it can be used for PPAs14:21
stuboh yeah... the flag says 'these distroseries inherit from parents'14:21
* henninge installed a new firewall14:21
abentleyhenninge: Not immediately.  Lemme see...14:22
stubbigjools: ok. I'll hold off reviewing that branch until tomorrow.14:23
abentleyhenninge: I think the client may not have a default port.14:24
bigjoolsrvba: it's probably a lot of work to move that flag to IArchive...  but I think it's better placed there.14:24
bigjoolsyou may curse me14:24
abentleyhenninge: The server port is 64738, but that shouldn't be relevant.14:24
rvbabigjools: that's ok;)14:24
henningeabentley: I'll try that14:24
rvbabigjools: we will talk about it later this afternoon (I may curse you at this occasion)14:25
abentleyhenninge: try "force TCP mode" too.14:25
henningeI see my lips turn red ...14:26
gary_posterallenap, do you happen to know if bug heat calculations causing timeouts when trying to subscribe to a bug (https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1936QASTAGING50) is a known problem?  https://bugs.launchpad.net/launchpad/+bugs?field.searchtext=bug+heat doesn't show anything particularly relevant14:30
allenapgary_poster: I've never heard of that problem before.14:31
gary_posterok thanks allenap14:31
wgrantgary_poster: We often see that on qastaging due to cold cache issues.14:34
wgrantgary_poster: It's fine on prod.14:34
gary_posterwgrant, ah ok.  I have been trying various workarounds, and not succeeding.  I was about to create my own project to try and workaround.  Do you know any better approaches?14:35
wgrantgary_poster: Get a project with fewer bugs, I guess :/14:35
wgrantOr refresh a few hundred times.14:35
gary_posterheh, ok thank you wgrant :-)14:36
wgrantOddly, staging seems to be mostly immune to this.14:36
wgrantDespite residing on the same DB server.14:36
cr3hi folks, would it be reasonable to create a team called ~launchpad-results to work on the launchpad-results project as defined in the ResultsTracker LEP?14:37
wgranthenninge: +text is nowadays strongly discouraged, fwiw. We want to drop it since it can show an unbounded an often immense volume of data.14:39
henningewgrant: I see. Do we have a bug for that?14:39
bigjoolswgrant: rvba has a branch adding is_overlay on IDistribution but I'm looking at moving that to IArchive as I think it's better placed there.  Do you have any comment?14:40
wgrantbigjools: Do we know what it does yet?14:40
wgrantI think IArchive is probably better.14:40
wgrantBut it really depends on how it is going to work.14:40
bigjoolswgrant: the thing we discussed the other week; it adds the extra sources.list entry to the builders14:40
wgrantbigjools: That's all it needs to do?14:41
bigjoolsif it's on IArchive it means we can remove hard-coded PPA check14:41
wgrantNot exactly.14:41
bigjoolsyup14:41
wgrantSince the default dependency is customisable.14:41
wgrantYou can change the used components/pockets.14:41
bigjoolsI did say "one"14:41
wgrantI'm not sure a flag is the Right Wayâ„¢14:41
bigjoolsdoing something on IArchive is nearly always the right way instead of IDistribution14:42
wgrantSure.14:42
wgrantIt's definitely better than on IDistribution.14:42
wgrantBut I'm not sure either is actually good.14:42
wgrantIt doesn't directly help the PPA case.14:42
wgrantSince in the overlay distro case it has to use the parent series, for PPAs it has to not use the parent series.14:43
wgrantSo it's still hard-coded.14:43
wgrantSo it's not a benefit.14:43
bigjoolsthings are very black and white to you huh14:44
wgrantWell, it's clear that there are possibly better options.14:44
wgrantThat may clean this whole thing up quite spectacularly.14:44
wgrantRemove the default dependency hardcoding, that sort of thing.14:44
wgrantI'm trying to think how it would work with the parent relationship...14:44
bigjoolsyeah that was always a bit of a hack14:44
bigjoolsI wonder if, instead of a flag, we add an ArchiveDependency record at creation time14:45
wgrantbigjools: Does it always overlay on top of a single distroseries?14:45
wgrantRight.14:45
=== abentley changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: abentley | https://code.launchpad.net/launchpad-project/+activereviews
wgrantThat was going to be my suggestion, once I'd worked out how the cross-distro stuff works.14:45
wgrantBut I think we just have to have a flag :(14:45
wgrantOn the archivedependency.14:45
wgrantTo say that we're using the parent instead.14:45
wgrantBut ew :/14:46
wgrantStill, it lets us unify the systems.14:46
bigjoolsnot sure we need a flag14:46
bigjoolshmm14:46
wgrantWhat, automatically use the parent if it's cross-distro?14:46
wgrantI guess that could work...14:46
bigjoolsthe other way around14:47
wgrantHm?14:47
bigjoolsuse the parent if it's in ArchiveDependency14:47
bigjoolsno changes required anywhere in the code, I think14:47
bigjoolsother than adding the AD at distro setup/edit14:48
wgrantbigjools: ArchiveDependency specifies an archive. We would need to detect in the code that the dependency Archive is for an alternate Distribution, and use parent_series in that case.14:48
wgrantOtherwise it will try to use the child distroseries name.14:48
wgrantIn the parent archive.14:48
bigjoolsah right14:49
wgrantIf you have multiple parents in one distribution you're screwed, but let's hope that never happens.14:49
wgrantHmm.14:49
bigjoolsunless we add series to archivedependency!14:49
wgrantAh, yes, this could work.14:49
wgrantNo.14:49
wgrantSo, here's an idea.14:49
* bigjools waits14:49
bigjoolsrvba, you following this?14:50
rvbayes14:50
* rvba waits too14:50
wgrantWhen expanding each ArchiveDependency, if it's for a foreign distribution we generate one entry for each matching DistroSeriesParent.14:50
wgrantSo for each DistroSeriesParent where the child matches and the parent is in the dependency's distribution.14:50
wgrantThis way things can change between series without a problem.14:51
wgrantNo flag required.14:51
wgrantNo elaborate parent_series hack required.14:51
wgrantIf the archive is for the wrong distribution, it just won't be used.14:51
wgrantBecause there are no DistroSeriesParents for that distribution.14:51
wgrantThis seems reeeeasonably clean.14:52
abentleyrvba: do you want me to review https://code.launchpad.net/~rvb/launchpad/distro-overlay-758908/+merge/58304 or is someone else doing that?14:52
bigjoolsFSVO clean14:52
rvbaabentley: please don't review it now14:52
rvbaabentley: I'll set it to WIP ...14:52
bigjoolsabentley: I'm looking at it, sorry I forgot to claim it yet14:52
abentleyrvba: cool, thanks.14:52
rvbaabentley: thanks for the offer though ;)14:53
wgrantbigjools: Otherwise we have to presume there's only one parent distribution, or something like that.14:53
wgrantbigjools: This also allows us to easily set some parents as fully inherited, and others as overlays.14:54
wgrantBy adding a flag on DistroSeriesParent.14:54
wgrantIt's no longer Distribution- or Archive-wide, so it can change over time if necessary.14:54
bigjoolsthe overlay is the other way around really14:54
wgrantHm?14:54
bigjoolseither my distro is an overlay or it isn't14:54
wgrantIs it?14:55
bigjoolsbut ISWYM14:55
wgrantI might be an overlay over Ubuntu, but I want to fully customize the OEM base overlay.14:55
wgrantWithout having to fully inherit Ubuntu.14:55
wgrantSo I have a full inheritance DSP to OEM base, and an overlay DSP to Ubuntu.14:55
wgrantHmm.14:58
wgrantThis is difficult.14:59
jtv1bigjools: I'm thinking the publish-distro run for a new series wants to be a DistributionJob.  What needs to be done to the distroseries before we get to it?14:59
bigjoolsyes, it's difficult :)14:59
bigjoolsjtv1: it needs to be initialized15:00
wgrantbigjools: What issues do you see in my DSP-based pplan? I think we'd have to basically implement the same thing with your proposal, except it would be a lot more hardcoded and less flexible. It may even be slightly uglier, particularly if we have to extend it later.15:00
bigjoolsjtv1: but I need to think through the workflows again15:00
wgrantbigjools: Do we know how publishing is going to be triggered for derivation in general?15:01
wgrantManual crontab editing is probably suboptimal.15:01
wgrantAnd the solution seems fairly relevant to jtv1's problem...15:01
jtv1Quite.15:01
bigjoolswgrant: we need  a job runner to kick it off, based on a schedule configured in the DB15:02
bigjoolsI don't want to re-implement cron though15:02
jtv1So... a cron job that runs publish-distro for all "eligible" series?15:03
wgrantbigjools: It's difficult, because these jobs will take half an hour to run :(15:03
bigjoolswgrant: so the presence of an AD will cause us to add one sources.list for each DSP for a foreign distro15:03
wgrantbigjools: For that distro, yes.15:03
bigjoolswgrant: possibly15:03
wgrantbigjools: We'll go through all the ADs. For archives for the same distribution, we just spit out an entry for the build series.15:04
wgrantFor archives for other distributions, we look up all parents in that distribution, and spit out entries for them all.15:04
bigjoolsright15:04
bigjoolswe don't need a flag, but we do need a way of changing these dependencies15:04
wgrantYeah.15:05
bigjoolsrvba: call? :)15:05
rvbabigjools: sure15:05
wgrantbigjools: We basically have to do the DSP lookup anyway, regardless of how we do this (unless we include series in the AD, which seems a bit bad).15:05
wgrantbigjools: So we might as well do it this way, I think.15:05
bigjoolswgrant: it seems reasonable15:07
bigjoolswe don't need any booleans now15:07
wgrantRight.15:07
* bigjools OTP to rvba15:07
* wgrant -> sleep.15:07
bigjoolsnn15:07
jtv1night wgrant!15:12
jtv1bigjools: I'm thinking of calling it a night as well.  I don't think I can get canonadmin to understand our latest plans; probably not worth the hassle.15:26
bigjoolsjtv1: ok :/15:26
jtv1bigjools: do let me know if you have any epiphanies or wishes about the distroseries workflow.  YWIMC.15:31
abentleyhenninge: I'm trying to read https://wiki.canonical.com/Launchpad/Translations/ImportQueueReview but I can't tell what I need to do to assess an import.15:39
henningeabentley: I have not read that document ... ;)15:40
henningeabentley: I cleared the qeueu yesterday. Let's see what we have today.15:40
henningeor on Monday?15:40
=== jtv1 is now known as jtv-afk
abentleyhenninge: I only see two, and one may yet be auto-approved.15:40
henningeabentley: I never wonder about that, I just do them all.15:41
henningeabentley: so, the first one is an old aquiantance. OpenERP has tons of templates and they keep adding more.15:41
henningealso, they have multiple project series.15:42
henningeabentley: click on the edit icon and you'll see.15:42
henningehttps://translations.edge.launchpad.net/+imports/546381615:42
henningeabentley: at the bottom is some general information about the project.15:43
henninge323 templates ...15:43
henningeabentley: with a project that already has templates, I assume that they get the file format right, so I don't check the file itself.15:44
henningeabentley: you can have a look at existing template names (the drop-down box) but this one should not be in there.15:44
henningeabentley: so this is a new one. The preset name is good to use, you can just hit "Approve"15:45
abentleyhenninge: Okay.15:45
henningeoh, the queue just grew ;)15:46
abentleyBut those might be auto-approved.  In fact, looks likely.15:46
henningeabentley: yes, let's not worry about them.15:47
henningeabentley: but the next one won't, I guess.15:47
henningehttps://translations.edge.launchpad.net/+imports/546437315:47
henningeabentley: If you click on "1 template" in the footer, it will take you to the templates list.15:48
henningeabentley: so there is alread y template of that name. Click on  "Edit"15:48
henningeabentley: this is the only way to check the path of the template.15:48
henningeabentley: it is "po/xcsoar.pot" which is different from "xcsoar.pot" in the entry.15:49
henningeabentley: that's why it's not approved because the auto approver matches by path.15:49
abentleySpelling error on that page: "its status", not "it's status"15:49
henningetrue15:49
henningeabentley: you have two options now: Change the path of the template here and wait for the auto approver to pick it up, or ...15:50
henningeapprove the entry, leaving the path as it is.15:51
abentleyI don't know what the implications of changing the path are.15:51
henningeThe latter will *not* update the path of the template entry, so subsequent uploads will get stuck in the same way.15:51
henningeabentley: the implication is about how future uploads will behave and it's about guessing if the file name which is in the queue entry is a one-off or if the uploader actually changed it.15:52
abentleyhenninge: I see.15:53
henningeabentley: it's all a lot of guess work, I admit ... :(15:53
abentleyIt's not possible to have two templates with the same basename in a project, right?15:53
henningeabentley: paths with directories are either from a tarball uplaod or a branch upload.15:53
flacostebigjools: that's a lot of diffs!15:54
bigjoolsflacoste: yup!15:54
henningeabentley: it is not possible to have two templates with the same name.15:54
henningeabentley: that is not even possible with gettext.15:54
sinzuijcsackett: do you have time to mumble. I am making no progress with bug 75199515:54
_mup_Bug #751995: person-transfer-job,  ProgrammingError: permission denied for relation account <oops> <teams> <Launchpad itself:In Progress by sinzui> < https://launchpad.net/bugs/751995 >15:54
jcsackettsinzui: sure.15:54
henningebecause with gettext name == translation domain and that needs to be unique15:54
henningeabentley: btw, that spelling mistake is most likely in the interface IPOTemplate.15:55
bigjoolsflacoste: ubuntu stops syncing a couple of months before release - that's all the packages that debian continues to change in the meantime15:56
abentleyhenninge: does it make sense for the auto-approver to check on path if basenames are unique?15:56
bigjoolsflacoste: see the new portlet on https://staging.launchpad.net/ubuntu/natty/15:56
henningeabentley: a lot of things don't make sense with the auto-approver.15:57
henningeabentley: it needs to be rewritten or more likely replaced badly.15:57
henningeabentley: ah! xcsoar imports from a branch!15:58
abentleyhenninge: curiouser and curiouser.15:58
henningeabentley: and there is po/xcsoar.pot dated 2011-04-20 ...15:59
flacostebigjools:15:59
flacoste2772 packages in Sid.15:59
flacoste2289 packages in Natty.15:59
flacostei find those label unclear15:59
bigjoolsyes15:59
flacosteonly in Sidf15:59
bigjoolsthere's a bug about that :)15:59
flacosteonly in Natty16:00
flacostecool16:00
flacoste!16:00
flacosteand that's great!16:00
sinzuijcsackett: http://pastebin.ubuntu.com/596578/16:00
LPCIBotProject windmill build #198: STILL FAILING in 1 hr 3 min: https://lpci.wedontsleep.org/job/windmill/198/16:00
bigjoolsflacoste: I just need my RT fixing up to add the crontabs I requested and it'll all start updating properly when requesting diffs and syncing packages16:00
henningeabentley: so it looks like the maintainer got impatient and uploaded the file manually.16:01
henningeabentley: although it was updated in the branch this morning AFAICT.16:01
henningeabentley: anyway, just approve it as it is, don't change the path. Usually it should get updated from the branch. I just wonder what is going wrong here.16:04
abentleyhenninge: done.16:05
henningeabentley: for the remaining three I agree that they should get approved automatically.16:06
abentleyhenninge: cool.16:06
henningeabentley: the real queue review happens when projects import their first template.16:07
henningeabentley: Here I check for:16:07
henninge- Is the template a proper gettext potemplate with header?16:07
henninge- Does it use English as the source language?16:07
abentleyhenninge: I can't do that.16:07
henningeabentley: it's just about if it looks correct, not an acutal parsing.16:08
henningethe importer will reject it if is wrong.16:08
henningeAnyway, since I check the source language, I look at the file.16:09
henninge- Is the project open source?16:09
abentleyhenninge: I really don't feel like I could recognize a proper potemplate with a header.16:09
henningeoh16:09
henningelook at one, then ;-)16:09
abentleyhenninge: :-P16:09
* henninge clicks master_utf8.pot in the queue16:09
henningeargh, chromium recognizes POT as Powerpoint TEmplate ...16:10
henningeabentley: the header is the first record with an empty msgid.16:11
henningeabentley: after that follow msgid/msgstr pairs.16:11
henningeabentley: the msgid contain English.16:11
henningethat's all.16:12
abentleyhenninge: And since this is a template, the msgstr is usually empty?16:12
henninges/usually//16:12
henningealthough you are right, it would not hurt AFAIK. We'd just ignore that information.16:13
henningeabentley: yes, that is correct16:13
* henninge has to remember to communicate clearly.16:14
abentleyhenninge: not empty for header, though.16:14
henninge;)16:14
henningeabentley: exactly, the header is special because here the msgid is empty.16:14
henningeabentley: to continue on the check list:16:15
abentleyhenninge: firefox makes that mistake too.  Suggests maybe Launchpad's using the wrong MIME type.16:15
henninge- Is the project open source? Since we cannot really remove translations, we like to double check if they are allowed to use LP for free and if the strings are not likely to be coprighted.16:16
henningealthough, it would not hurt *that* much.16:16
henninge- More interesting: Is the project maintainer really representing the project? Does the project really want to use Launchpad for translations?16:17
=== salgado is now known as salgado-lunch
henningeWe do not want to ask translators to translate stuff that will never be accepted by the upstream project. Waste of their time.16:17
henningeIt also creates bad feelings with projects that host their translations elsewhere and we don't want that either.16:18
abentleyhenninge: Okay.16:18
henninge- Finally: can you figure out a template name? If it is just "messages.pot" you could use the project name, else use the file name.16:19
henningeAnd that's all I have to say about that. ;-)16:20
abentleyOkay, good to know.16:21
=== al-maisan is now known as almaisan-away
mrevellHey, anyone know why I might be getting a 404 on Packages.gz when I add a new PPA to my system?16:36
bigjoolsmrevell: the PPA is not published yet perhaps16:36
bigjoolsis it a new one?16:36
bigjoolsit also needs packages in it to get published16:36
mrevellbigjools, They're both fairly well established PPAs (libreoffice/ppa and gtg/ppa) with packages in them.16:37
bigjoolsmrevell: it's probably pebkac then :)16:37
jcsackettcan anyone qa bug 377519? i'm not sure how to go about it.16:37
mrevellMaybe I've just been unlucky with both PPAs. I'll try another16:37
_mup_Bug #377519: Stacked on location breaks if the stacked upon branch is renamed <branch-stacking> <lp-code> <qa-needstesting> <Launchpad itself:Fix Committed by thumper> < https://launchpad.net/bugs/377519 >16:37
bigjoolsmrevell: paste me the error16:38
mrevellbigjools, heh, I don't see how I can get add-apt-repository wrong :) here's the error: http://pastebin.ubuntu.com/596596/16:38
bigjoolsmrevell: well, you did.  Look at the URL ...16:39
bigjools"pp"16:39
mrevellpp, yeah, I spotted that16:39
mrevellbut ... maybe hrm16:39
mrevellerm16:39
mrevellbigjools, Does this prove my innocence? http://pastebin.ubuntu.com/596597/16:41
bigjoolsmrevell: weird.  What does sources.list.d/thing.list have in it?16:42
mrevellbigjools, deb http://ppa.launchpad.net/libreoffice/ppa/ubuntu maverick main16:42
mrevelldeb-src http://ppa.launchpad.net/libreoffice/ppa/ubuntu maverick main16:42
bigjools!16:43
bigjoolswth is going on then16:43
mrevellOdd, eh16:44
bigjoolsis it repeatable?16:44
mrevellbigjools, Yes, so far with the two PPAs and both through Software Centre and the terminal. I'll try a third if you like.16:44
bigjoolsmrevell: I mean, does the apt-get update do the same thing next time16:46
mrevellbigjools yeah16:46
bigjoolsmrevell: well if sources.list is correct then it's an apt bug16:46
bigjoolsbut there must be something else, I can't see that being wrong16:47
mrevellbigjools, Interestingly all my other PPAs are fine.16:47
bigjoolsmrevell: there's no weird crontrol char in the sources.list file is there?16:47
mrevellAh crap, I've just done a dist-upgrade and didn't spot that it was planning to remove all of OOo. Why would it do that? That's an aside, though. Let me check for weird control chars.16:48
bigjoolsmrevell: conflicts16:50
benjiabentley: after screwing up the MP a couple of times, I have a very small branch for review: https://code.edge.launchpad.net/~benji/launchpad/fix-help-link-3/+merge/5852416:50
abentleybenji: looking...16:50
mrevellbigjools, I don't see anything odd. I've cleared out all the entries relating to these buggered PPAs from sources.list.d and I'm gonna try again.16:51
bigjoolsk16:51
mrevellbigjools, Okay, I don't know what's going on but I just re-added the libreoffice PPA and pulled down the index fine. I'll keep a look out to see if anything similar happens in future.16:53
bigjools!16:54
abentleybenji: why db-devel?16:58
benjiabentley: the branch that introduced the link is db-devel and it hasn't been deployed yet16:59
abentleybenji: did you consider making can_edit a function?  That way you can avoid repeating the code.17:01
benjiabentley: +1 I'll do that.17:02
abentleybenji: aside from that, r=me17:03
benjicool, thanks17:03
adeuringabentley: https://code.launchpad.net/~adeuring/launchpad/api-query-permissions-on-object/+merge/5813617:04
adeuringcould have a look?17:04
abentleyadeuring: happy to.17:05
abentleyadeuring: you have two "canWrite(productseries..." calls.  Why not combine them?17:08
adeuringabentley: dou you mean in setPackagingReturnSharingDetailPermissions()? That's what we discussed: The calls check for different actions.17:09
adeuringThe result is at present the same for both calls, I know17:09
abentleyadeuring: Right.17:09
abentleyadeuring: But why are you defining canWrite to be variadic and then calling it twice?17:10
adeuringabentley: that was a suggestion from Gary. It might make sense in other circumstances to check several attributes at once.17:11
abentleyadeuring: why not canWrite(productseries, 'branch', 'translations_autoimport_mode') ?17:11
gary_posteryeah, I said that might be nice.17:12
abentleyadeuring: You imply that it doesn't make sense in these circumstances to check several attributes at once.  Is that what you mean?17:12
adeuringabentley: well, if you prefer that, we can do it that way. They idea for the separation was "just in case that the attributes will in the future have different permission settings"17:12
gary_posterI didn't know if it made sense to implement it now17:12
abentleyadeuring: I'm not suggesting that you should check only one of the attributes.17:12
abentleyI'm suggesting you should check two at once.17:12
adeuringok let's do it.17:12
gary_poster(well, lazily and them I assume)17:13
abentleyadeuring: canWrite returns a list, right?  So you're returning 1-entry lists in the dict?  Is that what you intend?17:14
adeuringabentley: no, it return simply True or False17:15
abentleyadeuring: Oh, with this all thing.17:15
abentleygary_poster: did you intend to OR the permissions?17:15
abentleygary_poster: actually, I guess that's AND?17:16
gary_posterabentley: yes, AND17:16
gary_posterabentley, though it's entirely driven by use case in my own mind17:16
gary_posterIt was a brainstorm at the time17:16
gary_posterif it is more useful to do something else, then, maybe17:17
gary_posterbut AND seems nice and simple17:17
gary_posterand works if you only have a single permission17:17
gary_posterI'd be tempted to say that canWrite should always return a single bool17:17
gary_posterif you want a list of bools, make another method17:17
abentleygary_poster: IMO, the list is more general.17:17
adeuringwell, that would not buy us much compared to list comprehensions17:18
gary_posterabentley, IMO, the bool is easier to use in the common case :-)17:18
gary_posterbut I'm saying that if I'm wrong, then there you go, go with a list17:18
abentleygary_poster: and there's a case to be made for doing multiple lookups at once to improve performance.17:18
gary_posterbut otherwise I'd advocate separate methods17:18
gary_posterabentley, yes.  They seem like both useful approaches to me, both of which could be used for improving performance.  Admittedly, the list approach could be used more generally, but at the cost of, IMO, awkwardness in the kind of case I'm imagining.  Again, I'd be driven by use cases, and I only have ones that I'm imagining.17:20
abentleygary_poster: in which case, YAGNI.  Especially because if you ever encounter those cases, you can extend it without changing the existing callers.17:21
gary_posterYAGN what?17:21
adeuring[user.canWrite(obj, attr) for attr in 'a', 'b'] does the same as returning a list17:22
abentleygary_poster: You Ain't Gonna Need It.17:22
adeuringin that case I#d prefer a single argument17:22
gary_posterabentley, I mean, what does "it" refer to it in your statement17:22
abentleygary_poster: variadic behaviour for canWrite.17:22
abentleyadeuring: I prefer a single argument, too.17:24
adeuringwell, ok...17:24
abentleyadeuring: sorry, about the earlier suggestion.  I misunderstood why canWrite accepted multple arguments.17:25
gary_posterabentley, yeah, that's what I was saying at the time to adeuring.  variadic was interesting, but nothing to explore unless we discover we need it.  If there's already a use case, yay.  If not, let's move on.17:25
gary_posterThe only point to consider then, though, is that if we are going that way, then we are saying that canWrite returns a bool.  That contract can be continued in a hypothetical variadic future if results are ANDed together.17:25
gary_posterbut I'm thrilled to defer that conversation to a later time.17:25
abentleygary_poster: right, that's what I meant by "if you ever encounter those cases, you can extend it without changing the existing callers."17:26
gary_postercool, I think we're on the same page then abentley.17:26
sinzuiUrsinha: ping17:30
Ursinhasinzui, pong17:30
Ursinhahi17:30
Ursinhawhat's broken17:30
Ursinha?17:30
sinzuiUrsinha: I am trying to reproduce an oops. This one indirectly involved you: https://lp-oops.canonical.com/oops/?oopsid=OOPS-1935REPORTIFSEEN29817:30
* Ursinha looks17:31
sinzuiUrsinha: I do not think you got an email about Rodrigo Catto  joining https://launchpad.net/~ubuntu-br-rj, which you are an admin for via https://launchpad.net/~conselhobrasil/+members17:31
Ursinhasinzui, let me see, I archive all those emails without reading them17:32
sinzuiUrsinha: do you know if any of the admin members changed something about their email address or the team itself https://launchpad.net/~conselhobrasil17:32
sinzuiI have created what I see, but do not get an oops :(17:33
adeuringabentley: new version pushed17:33
Ursinhasinzui, the team has no contact email17:33
Ursinhawhich is wrong17:33
Ursinhagrrr17:33
UrsinhaI should be admin of that team17:34
sinzuiUrsinha: I testing a NEW email address for the team, but that did not cause an oops either17:34
Ursinhamaybe the owner changed that, but he said anything17:35
UrsinhaI can try to contact him17:35
sinzuithanks Ursinha17:36
Ursinhanp, sorry not being more helpful17:36
=== salgado-lunch is now known as salgado
abentleyadeuring: documentation needs to be updated to refer to a single attribute, not "all given attributes of the object"17:39
adeuringgahh, sure17:39
adeuringdone17:40
abentleyadeuring: In "test_canAccess__anonymous", are you sure we're not already logged in as a user?  I thought that was part of the standard TestCase setup.17:46
adeuringabentley: I'm quite sure that we aren't17:46
abentleyadeuring: okay.17:47
Ursinhasinzui, one of the members changed the contact address for the ubuntu-br-rj team17:48
abentleyadeuring: This looks good.17:51
abentleyadeuring: r=me.17:51
adeuringthanks17:51
abentleyadeuring: one grammar nitpick17:51
abentleyadeuring: "but return a dictionary which tells if the current user" => "but returns a dictionary which says whether the current user"17:52
adeuringwhopps, I'll fix it17:53
abentleyadeuring: intransitively, "tell" means something like "determine".  "I can tell it is raining when I look outside" vs "I will tell adeuring that it is raining."17:53
=== abentley is now known as abentley-lunch
mrevellNight all18:00
LPCIBotProject windmill build #199: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/199/19:17
=== abentley-lunch is now known as abentley
sinzuiUrsinha: I solved the issue I with the oops. I had setup the admining team with members wrong. I reproduced the oops and now have a fix19:43
Ursinhaah, cool19:44
jcsackettlifeless: i made the changes you suggested on https://code.launchpad.net/~jcsackett/launchpad/bug-expiration-doesnt-oops/+merge/58412, if you would care to take another look at somepoint today.19:52
jcsackettthanks for the catch, by the way. i clearly didn't think that one through. :-P19:52
lifelessjcsackett: :)19:56
sinzuiOh Empathy, how you continue to disappoint20:25
sinzuiabentley: I cannot see the topic be Empathy hates this one channel. Are you reviewing and if so, do you have time to review https://code.launchpad.net/~sinzui/launchpad/person-transfer-permission-0/+merge/5856120:25
abentleysinzui: Yes and yes.20:26
abentleysinzui: did you consider testing for DB permissions by just running the code using the correct database user?20:33
sinzuiabentley: I did not20:54
benjiabentley: are you ready for the most exciting MP you'll review all day? https://code.edge.launchpad.net/~benji/launchpad/update-sampledata/+merge/5856321:04
abentleybenji: actually, I'm trying to ascertain the scope of an operational issue atm.21:04
benjiabentley: well, if you can resist that incredible branch, then go ahead21:05
jcsackettbenji, abentley: i'll take a look at it so abentley can focus on the ops issue.21:06
benjijcsackett: much obliged21:07
abentleyflacoste: we seem to have some busted pickers on production.  http://pastebin.ubuntu.com/596682/21:11
abentleyflacoste: So far, Questions and Sprints, but not bugs or translation sharing seem to be affected.21:12
abentleyflacoste: Busted means when you select a choice from the picker, absolutely nothing happens.21:13
abentleyflacoste: no javascript error, nada.21:13
abentleyflacoste: joey reported it and says it's affecting Linaro track leads.21:14
jcsackettbenji: r=me.21:16
benjijcsackett: thanks!21:17
sinzuijcsackett: do you have time to mumble about some oopses I am looking at21:18
jcsackettsinzui: sure.21:19
abentleylifeless: ^^ I think this is a critical isssue.  Do you agree?21:22
flacosteabentley: yes, it does21:23
flacosteit's a regression21:23
flacosteis there a bug filed yet?21:23
abentleyflacoste: No.  I was going to start an incident report next.21:23
flacosteabentley: good21:26
flacosteabentley: it's sounds like a regression from wallyworld fix to the assignee widget on the bugs page21:27
flacostesinzui: ^^^wdyt?21:27
lifelessabentley: busted how?21:32
abentleyflacoste: I have no active line manager.  Will you nominate an owner for the incident report?21:32
lifelessabentley: if its that they aren't working, it should be ready for deploy21:32
abentleylifeless: when you select an entry using the picker, the picker disappears, but nothing further happens.21:33
lifelessthe fix is in https://devpad.canonical.com/~lpqateam/qa_reports/deployment-stable.html21:33
lifelessRevision 12868 can be deployed: qa-ok21:33
lifelessFixes: Bug:76149421:33
abentleylifeless: https://wiki.canonical.com/IncidentReports/2011-04-20-LP-Broken%20pickers#preview21:33
flacostesinzui: since deryck is out sick, can you take care of this incident?21:33
lifelessand Revision 12880 can not be deployed: needstesting21:34
lifelessso the next thing to do is to complete qa and check its working on qastaging21:34
lifelessUrsinha: also - see rev 12879 in https://devpad.canonical.com/~lpqateam/qa_reports/deployment-stable.html - bug not linked21:38
abentleylifeless: could we deploy 12868?  That seems like it would solve the critical issues.21:42
lifelesswe need 1288021:42
lifelessI'm just qaing it now21:42
sinzuijcsackett: Question:+huge-vocabulary21:43
sinzuioops21:43
sinzuijcsackett:  https://devpad.canonical.com/~lpqateam/oops-summaries/production-2011-04-18.html21:43
abentleylifeless: I think we should post this issue in identica.  Do you agree?21:45
lifelessbah21:47
lifelessit would be nice if the battery applet told me *before* running out of battery.21:47
lifelessok, we should be completely qaed when the next run goes through21:49
lifelessqueuing up a deploy request21:49
abentleysinzui: can you please act as communications liason for this incident?21:51
sinzuiabentley: I will take it21:51
abentleysinzui: thank you.21:51
abentleysinzui: I've updated the #launchpad topic only, so far.21:52
abentleylifeless: I am approaching EOD.  Can you take it from here?21:54
lifelessabentley: sure21:55
abentleylifeless: thanks.21:56
=== abentley changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
Ursinhalifeless, I believe I found out the problem, working on a fix22:02
lifelessUrsinha: cool22:02
=== lifeless changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
lifelessflacoste: ah that was it22:03
lifelessflacoste: the ppr is failing to write output again22:03
flacostelifeless: yes, i saw that on the lpstats view22:03
lifelesshttps://devpad.canonical.com/~lpqateam/ppr/lpnet/daily_2011-04-17_2011-04-18/22:04
flacostelifeless: i'll look into this, it's my next target22:04
lifelessI don't know why22:04
lifelessflacoste: that would be awesome; if you are too busy though I can ask stub to do so22:04
lifelessflacoste: I mentioned the error rates for private bugs right ?22:05
lifelessflacoste: you may find this interesting again - https://devpad.canonical.com/~lpqateam/dbr/last-15-mins.txt22:06
lifelessbloat reports22:06
sinzuilifeless: flacoste I was looking at an older ppr report today, and the oops reports. It is time to send question emails async. That will fix 8 of the top 10 durations22:13
lifelesssinzui: yes! yes! yes! omg yes!22:15
lifelesssinzui: also perhaps send less mail on 'convert to question'.22:15
sinzuiyes22:15
lifelesssinzui: Relatedly, why do I get mail from questions that were turned into bugs when the bug changes status ?22:15
lifelesssinzui: I'm already subscribed to the bug...22:15
sinzuiI just had my initial implement talk with jcsackett about that22:15
sinzuilifeless: answers and bugs are separate apps with separate email mechanisms22:16
lifelesssinzui: is it desired though?22:17
lifelessor a bug?22:17
sinzuiNo one wants duplicate emails, but we do not yet have a mechanism that can check that you do not22:18
=== salgado is now known as salgado-afk
lifelesssinzui: what changes on a bug are meant to trigger question notifications ?22:19
lifelesssinzui: [could we consider the question a 'team' subscribed to the bug, and have the main email code handle things]22:20
sinzuiWe would need an identifier for every event and store it with who got it. We can then  say Robert was sent email about x. All things that want to send email need to check the log to verify it is not a duplicate22:20
sinzuilifeless: I think the IBugLink creates a subscriber. The bug link could be to a question, branch, or spec22:21
lifelesssinzui: what I mean is, if we remove the question event listener and instead treat the question as a source of direct subscriptions *with a filter for the events important to questions*22:22
lifelessthen the new bug notification stuff will:22:22
lifeless - handle the mail async for us22:23
lifeless - only send one notification to folk subscribed via both paths22:23
lifeless - (or send none if they have muted the bug etc)22:23
sinzuiThat may work, so long as the bug code is also changed to dedupe you. It does not at this time22:23
lifelesssinzui: sure it does22:24
lifelesssinzui: I was reading the code yesterday22:24
lifelesslib/lp/services/mail/notificationrecipientset.py22:24
lifelessadd()22:24
lifelessif you are subscribed directly, and via two different teams, bugs only mail you once22:25
sinzuiThat does not know you are getting email from a team with an email address22:25
sinzuiand if the address is an lp mailing list22:25
lifelessthats true, but thats not the case thats bothering me with lp questions :)22:25
lifelessits also a problem for lp questions22:25
lifelessanyhow, this isn't critical22:27
lifelessit just struck me the other day when I closed a bug which had an attached question22:28
lifelessI have 'do not mail on own actions' turned on22:28
sinzuiYou reported a bug about it about 2 years ago22:28
lifelessheh, probably :)22:28
sinzuiso did jml from another path22:28
lifelessI wonder if a breakdown of bug reporters in lp would be interesting.22:28
sinzuiI do not think anyone will challenge mpt22:29
sinzuiWgrant tried22:29
lifelesshmm, missed gary22:32
lifelesssinzui: anything I can do for you guys today?22:32
sinzuilifeless: Getting ian's fix released is my immediate concern22:33
lifelessits in the automatons hands now22:33
lifelesssinzui: could I perhaps ask you|ian to do the incident report ?22:34
sinzuilifeless: we will22:34
lifelesscoo22:36
lifelessl22:36
LPCIBotProject windmill build #200: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/200/22:46
lifelesssinzui: deployed23:08
sinzuithanks. I was just sending the annoucement23:09
lifelesscool!23:09
lifeless10626231 renders by the lpnet zope appservers, excluding xmlrpc, including operational stats gathering.23:10
lifelessits a little sad that 3M requests are basically nagios and haproxy whinging23:10
lifelessbut shrug23:10
mwhudsonlifeless: is that daily?23:10
lifelessmwhudson: yes23:10
lifelesshttps://devpad.canonical.com/~lpqateam/ppr/lpnet/latest-daily-categories.html23:10
mwhudsoncool23:11
lifeless1.64 99th percentile today23:11
lifelessso even midweek we're still stable down low23:11
lifelessI don't believe this category - Bugs - Bug Page23:12
lifeless^https?://bugs\.[^/]+/.+/\+bug/\d+$ 573823:12
lifelesswe can't possibly do only 5.7K bug renders a day23:13
thumperlifeless: so what are the popular pages?23:17
james_wlifeless, that doesn't count bug task renders, which is what you get redirected to from that url isn't it?23:18
LPCIBotProject windmill build #201: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill/201/23:28
lifelessjames_w: it should match tasks23:31
lifelesshttps://bugs.launchpad.net/udd/+bug/76771123:31
_mup_Bug #767711: some kde4libs bugfix branches not visible on the bug page <Launchpad itself:Incomplete> <Ubuntu Distributed Development:New> < https://launchpad.net/bugs/767711 >23:31
lifelessis a typical final url23:31
lifelessthumper: https://devpad.canonical.com/~lpqateam/ppr/lpnet/latest-daily-top200.html23:32
lifeless500K https://launchpad.net/codehosting/translatePath23:32
lifeless200K https://launchpad.net/mailinglists/getMembershipInformation23:33
thumperhaha23:33
thumperpushing branches :)23:33
lifeless350K https://api.launchpad.net/beta/ubuntu23:33
lifeless150K https://launchpad.net/+access-token23:33
lifeless1.1K https://bugs.launchpad.net/bugs/766412/+bug-portlet-subscribers-content23:34
lifeless(yes, that specific portlet is top-200)23:34
lifeless1.1K https://bugs.launchpad.net/ubuntu/+bugtarget-portlet-bugfilters-stats23:34
lifeless1.1K https://bugs.launchpad.net/ubuntu/+bugtarget-portlet-tags-content23:34
lifelesshttps://devpad.canonical.com/~lpqateam/ppr/lpnet/latest-daily-pageids.html is the interesting one in terms of templates23:35
lifelessBug:EntryResource 58803923:37
lifeless550K DistroSeries:EntryResource23:37
lifeless500K CodehostingApplication:CodehostingAPI23:37
lifeless411K Unknown23:37
lifeless(yes, thats a wtf)23:37
lifeless400K Person:EntryResource23:38
lifeless370K RootObject:+login23:38
lifeless300K Distribution:EntryResource23:38
lifeless270K SourcePackage:EntryResource:getBranch23:38
lifeless230K MailingListApplication:MailingListAPIView23:38
lifeless200K Distribution:EntryResource:23:39
lifelessgetSeries23:39
lifeless200K BugTask:+index23:39
lifelessso logging in following by bugtasks are our two highest visibility end user pages23:39
lifelesshighest frequency I mean23:39
* thumper nods23:40
lifelessI suspect something off in the login case too23:41
lifelesse.g. the bug with edge losing credentials for users.23:41

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