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

StevenKwallyworld_: O hai01:24
wallyworld_hellooooooo01:24
StevenKwallyworld_: I'm on mumble and ready when you are.01:26
wgrantwut02:12
wgranthttps://lp-oops.canonical.com/oops.py/?oopsid=OOPS-006ee065b5671473827829630f86928302:12
wgrantWhy is something trying to serialise a bug into rabbit?02:12
StevenKwgrant: I was about to ask you about that.02:13
wgrantUnless we're for some reason deciding to send notifications for all objects to rabbit.02:14
StevenKWhy would we do that? It makes no sense.02:14
wgrantSo it was making the bug private.02:16
wgrants/private/public/02:16
wgrantWhich somehow fires off a rabbit notification because why not.02:16
wgrantHuh02:17
wgrantSo indeed02:17
wgrantAnything with a base class of Storm will get rabbit notifications.02:17
wgrantIf the changed fields are JSONable, the world ends.02:18
wgrantaren't.02:18
StevenKStrange.02:19
=== poolie_ is now known as poolie
lifelesspoolie: would you have time for a chat today?02:40
lifelesspoolie: in an hour or two from now ?02:40
poolielifeless, sure02:45
lifelesspoolie: how about now ?03:30
=== matsubara is now known as matsubara-afk
poolielifeless, oops, how about now?04:43
lifelesspoolie: sure, ring me?04:46
=== almaisan-away is now known as al-maisan
poolielifeless, engaged?04:52
=== al-maisan is now known as almaisan-away
wallyworld_wgrant: with access policies and bugs - access policies are associated with pillars, a bug has bug tasks associated with pillars, what is a person is denied access to a pillar, it seems that they can still see the bug even if it has a bug task they cannot see05:44
StevenKAccess to a bug is defined via bugtasks05:44
wgrantAn access grant is for a bug, not a bugtask.05:44
wgrantYou can never see a partial bug.05:45
wgrantThe people who can see a private bug are anyone with a grant on the related policies or an explicit grant for the bug.05:45
wgrantThis means that revoking a policy grant may leave access to some bugs.05:45
wallyworld_that's the crux of my question i think05:46
wgrant(this can't happen with a true proprietary project, because bugs can't be shared)05:46
wgrantAlso, fuck bug tasks, seriously.05:46
wallyworld_wgrant: the sharing details page emits bugtask urls at the moment - the page is associated with a pillar, it iterates over the bug tasks and picks the one for that pillar. i should change it to just emit the bug url i think05:47
wgrantwallyworld_: It's not a problem either way.05:48
wgrantYou can either see all bugtasks (modulo those on deactivated projects), or you can't see any at all.05:48
wallyworld_it is because the exported api on sharing service breaks05:48
wallyworld_it has a param which is a List(Ibug)05:49
wallyworld_and instead it is getting IBugTask from the XHR call05:49
wgrantAh05:49
wgrantSure05:49
wallyworld_so i should just change the logic on the sharing page - if *any* bugtask is associated with the pillar, emit the bug url05:50
wallyworld_sharing details page i should say05:50
wgrantNo need to consider bugtasks at all in that case.05:50
wallyworld_well, the page has a context which is a pillart05:50
wgrantIf APGF references an AA that references a Bug, that Bug is relevant.05:51
wgrantYou are already context-filtered by APGF05:51
wallyworld_so the url is lp.net/pillar/+sharingdetails/person05:51
wgrantSure05:51
wallyworld_the details page should only show bus and branches associated with the pillar05:51
wgrantAnd that will say SELECT bug from apgf join aa join bug where apgf.policy IN (SELECT id FROM accesspolicy WHERE product=pillar)05:52
wallyworld_so how to tell if a bug is associated with the pillar - it has a bugtask targetted at the pillar05:52
wgrantYou're already only getting bugs that are associated with the pillar.05:52
wgrantAccessPolicyArtifact (which is flattened into APGF) already handles that.05:52
wgrantThere are triggers which mirror BugTasks' pillars into APAs.05:52
wallyworld_right ok. so there's some existing erroneous logic in the view code i'll just remove. cool. i like deleting code :-)05:53
wallyworld_i didn;t write it originally so wasn't 100% sure, just wanted to check05:53
wallyworld_thanks05:54
StevenKwallyworld_: Setting the link has FF follow it explicity06:03
StevenKwallyworld_: And moving to the JS module has broken it, so I guess I'll grab you after the call tomorrow and work through it.06:08
nigelbbigjools: re:timezone, it was mentioned as part of a talk that I'm supposed to be listening to.06:17
bigjoolsyes...? :)06:17
nigelbbigjools: so... I have no clue what timezone :P06:19
bigjoolsheh06:19
=== almaisan-away is now known as al-maisan
wallyworld_StevenK: ok. if i get a chance before then i'll look06:40
wgrantlifeless: Around?07:35
lifelesskinda07:36
wgrantlifeless: Is the pgbouncer ProgrammingError hack in Storm your doing?07:36
lifelessno07:37
StevenKwallyworld_: I can paste a diff if you want to look?07:37
lifelessallenap I think07:37
wgrant        if isinstance(exc, disconnection_errors):07:37
wgrant            # When the connection is closed by a termination of pgbouncer, a07:37
wgrant            # ProgrammingError is raised. If the raw connection is closed we07:37
wgrant            # assume it's actually a disconnection.07:37
wgrant            if isinstance(exc, ProgrammingError):07:37
wgrant                if self._raw_connection.closed:07:37
wgrant                    return True07:37
wgrantAh07:37
lifelesspossibly stub07:37
lifelessI wrote the pgbouncer fixture07:38
lifelessthat was all07:38
wgrantAh, I see.07:38
wgrantBug #95969907:40
_mup_Bug #959699: test failure: test_pgbouncer_stopped <Storm:New> < https://launchpad.net/bugs/959699 >07:40
wgrantlifeless: Any opinions?07:40
wgrantUpgrading psycopg2 to 2.4 seems painless except for that.07:41
lifelesswgrant: I think upgrading is mandatory isn't it ?07:48
wgrantlifeless: Yes.07:50
wgrantlifeless: Well07:50
wgrantI could backport the changes.07:50
wgrantBut that seems like just delaying the inevitable.07:50
wgrantExtending the check to also allow DatabaseError unbreaks everything.07:51
wgrantBut seems bad.07:51
adeuringgood morning07:55
allenapwgrant: That's mine (the pgbouncer hack).07:58
wgrantallenap: Yeah, I see you also filed a bug upstream about this thing and disabled the relevant Storm tests.07:59
wgrantThe new exception seems legitimate.08:00
wgrantSo I think I'll fix Storm to accept it and undisable the tests.08:00
allenapwgrant: Tip top.08:00
allenapThank you.08:00
mabacStevenK, hi there! thanks for reviewing the team-engineering view. I've run format-imports on the changed files. is there anything else that needs fixing?08:06
=== al-maisan is now known as almaisan-away
StevenKmabac: I'd prefer the feature flag change name since it isn't reigstry. But mabac: I'd prefer the feature flag change name since it isn't reigstry. But mabac: I'd prefer the feature flag change name since it isn't reigstry. But that isn't a requirement.09:20
nigelbStevenK: Is there a joke I'm missing? Or did you just type that out 3 times?09:21
StevenKNo, I just fail at keyboard.09:22
nigelbHaha. FAIL.09:23
mabacStevenK, ok thanks. I'll scratch my head on that one. is there any guidelines about feature flags I can have a look at? that bit is all new to me09:24
nigelbThere's a wiki.. somewhere.09:27
mabacthanks09:29
mabachttps://dev.launchpad.net/FeatureFlags#Naming_conventions09:29
nigelbOhman. I fail at finding things on launchpad wiki.09:30
mabacStevenK, so it's the "area" part that you'd prefer to change? this is a page for a team which displays blueprint work items and bugs for upcoming milestones. can the feature flag be named 'team.upcoming_work_view.enabled' ?09:32
jmlis it actually possible to do Launchpad development on precise?09:59
jml launchpad-developer-dependencies : Depends: launchpad-messagequeue-dependencies (= 0.110~precise1) but it is not going to be installed09:59
lifelessjml: does precise still have python2.6?10:04
lifelessjml: my usual recommendation - lxc - will be made now.10:04
* lifeless recommends lxc10:04
nigelbheh10:04
jmllifeless: it has python 2.610:09
cjwatsonit may have python 2.6 but it won't have many useful modules for it10:18
cjwatson(afaik)10:18
jmlI'm following instructions on https://dev.launchpad.net/Running/LXC10:42
jmlbut I don't seem to be able to log in to the lxc I've created.10:42
wgrantjml: Your normal username and password should work10:43
wgrantroot/root used to work, but I don't think it does any more.10:43
jmlwgrant: ah right. my password too, that was the trick.10:43
matsubaramorning!11:26
rick_hmorning11:28
lifelessnn11:34
mabacrick_h, hi there! would you land the team-work-ui for me? we've discussed the feature flag name but will leave it as is. the formatting has been fixed. https://code.launchpad.net/~linaro-infrastructure/launchpad/team-engineering-view-ui/+merge/10070711:42
=== jtv1 is now known as jtv
rick_hmabac: sure thing11:43
mabacrick_h, cool, thanks!11:44
rick_hmabac: can you set the commit message on your MP please?11:45
mabacrick_h, oh sure11:45
mabacrick_h, done11:48
rick_his there a bug to link this to?11:48
rick_hmabac: ^^ or should I land this no-qa?11:51
jmlI'm getting a recursion error when running 'make schema': http://pastebin.ubuntu.com/914410/11:51
mabacrick_h, we have tested it a bit on staging but I'm not sure.11:52
mabacsalgado, do you think it can land as no-qa?11:52
salgadorick_h, mabac, the new page is protected by a feature flag, so I think so?11:52
mabacrick_h, that's right it's just us who are going to see it now anyway11:53
rick_hmabac: how about just creating a quick bug to link it to noting about adding it and then we can go through the normal qa process11:53
mabacrick_h, so yes, it's ok11:53
rick_hnot checked out the change, but just to play it safe11:54
mabacrick_h, ok will do11:55
rick_hthanks mabac, sorry to drag through the process more.11:56
mabacrick_h, no problem11:56
mabacrick_h, bug 97332212:03
_mup_Bug #973322: We need a UI for the team engineering view <Auditor:New> < https://launchpad.net/bugs/973322 >12:03
jmlah, ok12:03
jmlthe version of bzr in Launchpad doesn't support colocated branches.12:04
jmlbugger.12:04
StevenKmabac: It should not land as qa-ok12:04
jmlyou guys really do like to make things hard for yourselves.12:04
StevenKmabac: You want to link the bug to the MP, have the webops enable the feature flag and give it a bit of testing on qas, just to make sure.12:04
mabacStevenK, ok thanks12:05
StevenKWhen it hits qas, of course. :-)12:05
rick_hStevenK: yep, that's where we're headed12:07
mabacrick_h, StevenK salgado I've linked the bug to the branch12:09
rick_hmabac: awesome, thanks12:09
mabacrick_h, salgado I'll drop offline for half an hour to go home. will resurface asap and look out for trouble ;)12:10
rick_hmabac: ok, landing has started, waiting on ec2 to kick up12:11
mabacrick_h, great thanks!12:11
jmlwuu, running tests locally13:28
jmluhhhhh13:30
jmlwhy does the Launchpad  PPA have dpkg?13:30
jmlGet: 1 http://ppa.launchpad.net/launchpad/ppa/ubuntu/ lucid/main dpkg 1.15.5.6ubuntu4.5+launchpad1 [2,193kB]13:30
jelmerjml: support for .orig.tar.xz files in source packages or something IIRC13:32
jelmerjml: have you checked the changelog ? :)13:33
jmljelmer: I don't really know how to do that without installing13:33
StevenKDownload the diff and zcat it13:34
jelmerjml: you can see it on the PPA page13:34
jelmeror, at least the last entry, which is usually the most relevant13:34
jelmerhttps://launchpad.net/~launchpad/+archive/ppa/+packages13:34
jmljelmer: thanks.13:36
cjwatsonStevenK: native packages don't have a diff13:43
cjwatsondpkg in the LP PPA is mostly my fault.  It can go away once LP upgrades to precise (at least until the next time there's a requirement for a new dpkg feature)13:44
jmlheh13:53
jmlI have an approved branch, could someone please land it? https://code.launchpad.net/~jml/launchpad/create-commercial-ppa/+merge/10063513:53
=== almaisan-away is now known as al-maisan
rick_hjml: can you create/link the MP to a bug so it goes through normal qa please?14:09
rick_hjml: after that I'll ec2 land it for you14:10
rick_hjml: ty, running ec2 land now14:16
rick_hsee you tomorrow lol14:16
jmlrick_h: thank you.14:16
=== abentley changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: abentley | Firefighting: - | Critical bugtasks: 4*10^2
jcsackettsinzui: you free for a short chat?14:45
salgadoabentley, I've got a small-ish one up for review if you've got some time: https://code.launchpad.net/~linaro-infrastructure/launchpad/upcoming-work-progress-bars/+merge/10080814:55
abentleysalgado: sure.14:55
sinzuijcsackett, I am, but let me kill some windows processes to be certain I have CPU and memory to chat14:55
=== al-maisan is now known as almaisan-away
jcsackettsinzui: ok.14:58
czajkowskisinzui: is this something the new privacy stuff will address on bugs do you think?  https://bugs.launchpad.net/launchpad/+bug/97322815:04
_mup_Bug #973228: "Affects me too" text should acknowledge that you are affected by a duplicate <Launchpad itself:New> < https://launchpad.net/bugs/973228 >15:04
sinzuiczajkowski, no, that is a feature request15:04
sinzuiaffects me too never manages duplicates. I suspect the bug is already reported15:05
sinzuijcsackett, my experiment is making this difficult. Can we try a hangout via google messenger15:06
czajkowskisinzui: thanks15:06
abentleysalgado: can items ever be 0?15:09
jcsackettsinzui: we can try, sure.15:11
salgadoabentley, you mean a container having no items?  that would be a bug in our code15:12
abentleysalgado: Okay.  Your tests need docs, but r=me.15:13
salgadoabentley, thanks a bunch, I'll add them15:13
abentleyadeuring: Could you please review https://code.launchpad.net/~abentley/launchpad/celery-rabbit-config/+merge/100813 ?15:38
adeuringabentley: sure15:38
adeuringabentley: r=me15:43
abentleyadeuring: Thanks.15:44
=== matsubara is now known as matsubara-lunch
=== deryck is now known as deryck[lunch]
salgadoabentley, added docs and fixed one of the tests to create specs explicitly and with different priorities so that they're always in the same order16:20
salgadoabentley, the prerequisite branch is being ec2-landed now.  would you mind ec2-landing this one as well?  if the prerequisite one fails on ec2 this one will fail as well, but if they both pass they will land in the correct order16:21
salgadothere's a chance that the ec2 run of the first one may die or have spurious failures and the second one goes through, though16:22
=== salgado is now known as salgado-lunch
=== salgado-lunch is now known as salgado
salgadoabentley, actually, the prerequisite branch just landed16:59
abentleysalgado: Ah.16:59
abentleysalgado: Even if it hadn't, it doesn't matter to me whether two reviewed branches land in a single revision or separately.17:00
salgadoabentley, I was concerned it could affect the qa-tagger but I guess both bugs would still be linked to that single revision?17:01
abentleysalgado: they should.17:01
bac``sinzui: you should go back to bed ... until monday.17:27
=== bac`` is now known as bac
=== deryck[lunch] is now known as deryck
timrcyou guys gave sinzui a bed? wow, nice17:34
sinzuitimrc, my bed has a computer and tablet next to it. I just work reclined17:36
* sinzui sometimes wishes that was not true17:36
timrcsinzui, lol17:40
=== matsubara-lunch is now known as matsubara
rick_hderyck: working on getting python-ooptools going and when it has you create the user the passwordless bit isn't owrking right17:55
rick_hderyck: it has a -a flag which --help doesn't show, should that be something else?17:55
rick_hderyck: from: sudo -u postgres /usr/lib/postgresql/8.4/bin/createuser --port 5433 -a -d $USER17:55
deryckrick_h, seems like there was a step before that.  schema and migrations.17:56
rick_hthat seems to come afterwards17:57
rick_hderyck: I'm working on getting the second cluster up and need to create the db17:57
rick_hbut need my account to have perms to do so17:57
deryckrick_h, I think I did this straight out of the README. let me look at bash history17:59
rick_hderyck: thanks, yea what I'm trying to follow. In the end I'm tempted to just create a user with -s -P and move on since it's a local dev env and it's how I've setup my account before on other dbs17:59
rick_hderyck: but if I'm missing someting would like to fix the README18:00
deryckrick_h, too long ago now for me to have bash history, but I really don't think I changed anything in the commands...18:01
deryckrick_h, but it does seem like I reordered someone them to what logically made sense, and things "just worked."18:01
rick_hderyck: ok18:02
=== almaisan-away is now known as al-maisan
deryckrick_h, I also used an email from lifeless to launchpad-dev as reference too.  let me see if I can find that18:03
=== al-maisan is now known as almaisan-away
abentleyderyck: I want to test some jobs that send emails, but we usually test email in-process.  Any idea how to do this?18:05
rick_hderyck:  probably https://lists.launchpad.net/launchpad-dev/msg08183.html and the email "shortcut for getting python-oops-tools running"18:06
deryckrick_h, yup, was just about to paste you a bit of that.18:06
deryckabentley, thinking....18:06
rick_hderyck: ok, both seem to assume the current db notes are correct so I'll give it another go, maybe I've missed something. -a just doesn't show up in --help so seemed might be a typo.18:07
deryckrick_h, same version of postgres as readme, i.e. 8.4 and not 9?18:08
rick_hyea, the command has the full path to the 8.4/bin18:08
deryckabentley, you want to test the mail sent by the job? i.e. inspect the mail? Or test that the job fires off mail?18:10
abentleyderyck: I am okay just testing that the job fires off mail.  Unit tests handle the actual text.18:11
rick_hderyck: doh, my fault. I didn't use the patch but manually edited pg_hba.conf and didn't do it right18:11
rick_hderyck: thanks, sorry for the timesink18:11
deryckrick_h, np! :)18:11
deryckabentley, use some sort of faker mailer that stores what's sent in a variable you can inspect after the job completes?18:12
derycks/faker/fake/18:12
rick_hderyck: abentley I keep meaning to try this out sometime: http://bazaar.launchpad.net/~bloodearnest/+junk/test-email-server/view/head:/README18:14
abentleyderyck: I guess, but then the problem is convincing an arbitrary Launchpad job to use a fake mailer.18:14
rick_hah right, running that on qa would be a bit out of the ballpark18:15
deryckabentley, yeah, true.18:16
deryckabentley, do all jobs use the same mechanism to send mail? Can you monkeypatch orotherwise intercept the thing sending mail before or after and test that somehow?18:18
abentleyderyck: potentially yes, but it's a subprocess, so you have to trigger the monkeypatching somehow.18:19
deryckabentley, ah.  yuck.  it is kind of messy then.18:20
=== beuno is now known as beuno-lunch
deryckabentley, sorry, I'm a bit stumped myself.18:20
abentleyderyck: Well, worst case, I guess we can do an environment variable like USE_FAKE_MAILER.18:21
deryckabentley, ah, yeah, that would work.18:22
abentleyderyck: Oh, I've got it.  I can write a celery Task that does mail_helpers.pop_notifications.18:23
deryckabentley, nice!18:24
lifelessmoin18:35
rick_hjml: heads up, emailed ec2 test results to you18:59
=== beuno-lunch is now known as beuno
salgadoabentley, in case you still have some time today, I have another branch for review (https://code.launchpad.net/~salgado/launchpad/person-upcoming-work-view/+merge/100878).  It looks big but ~95% of it is just moving code around20:47
abentleysalgado: looking20:48
abentleysalgado: 320-321 can be written containers_by_date.setdefault(milestone.dateexpected, [])20:54
salgadoabentley, I'm not a big fan of setdefault() but I can do that20:57
abentleysalgado: I'm just mentioning it.  I like it.  Especially since it returns the value, and you can do setdefault(x, []).append('y')20:58
abentleysalgado: It might be nice to use adaptation for GenericWorkItem.  Then you could make SpecificationWorkItem implement IGenericWorkItem directly, and provide an adapter for BugTask.21:01
abentleysalgado: But since this is just shufffling pre-existing code around, r=me.21:03
salgadoabentley, thanks!  (fwiw, I've considered using adapters for that, but didn't see much advantage in doing so)21:07
salgadoabentley, would you mind landing this one for me as well?21:10
abentleysalgado: Sorry, EOD.21:14
=== abentley changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 4*10^2
salgadohmm21:21
salgadoanybody willing to ec2-land https://code.launchpad.net/~salgado/launchpad/person-upcoming-work-view/+merge/100878 for me?21:21
salgadolifeless, maybe you as you seem to be the on call reviewer today? ;) (^)21:33
lifelesssalgado: my landing environment is a little horked just now21:44
lifelesssalgado: but I can find a victim for you21:45
salgadolifeless, cool, that works as well :)21:46
=== matsubara is now known as matsubara-afk
lifelessgary_poster: hi; is there anything you guys need from me at the moment ? just asking as we have a long weekend coming up22:01
=== salgado is now known as salgado-afk
wgrantsalgado-afk: Your branch is holy and being reverted.22:34
jelmerwgrant: we have a problem with holy branches?22:34
jmlrick_h: thanks.22:56
jmlmy recent lp branch failed a bunch of doctests because it changed login_person to return the person who is logged in22:56
jml(meaning you can do 'with celebrity_logged_in("admin") as admin_person:' and other fun things)22:56
jmlso all of the doctests that do:22:57
jml>>> login_person(foo)22:57
jml>>> # something else22:57
jmlfail, because login_person isn't supposed to be returning anything, according to them22:57
jmlI think this is a stupidity of doctests22:57
StevenKign = login_person(foo) ?22:58
jmljust wondering if anyone has any opinions on what would be the cleanest thing to do22:58
jmlchange all the call sites22:58
jmlor revert the API call, creating a private _login_person that *does* return and having the public login_person keep its None-returning behaviour.22:58
StevenKYou could do that too22:58
jmlStevenK: ign = ... would wok, but it would also flag pyflakes.22:59
StevenKI didn't think pyflakes dealt with doctests?22:59
jmlStevenK: you can get it to if you want.22:59
jmlobviously I want to do the thing that's the least work, but I also think LP has had one too many cracks papered over.23:01
jmlI guess >>> ign = login_person(foo) is better than >>> login_person\n<Person ...>23:02
=== salgado-afk is now known as salgado
salgadowgrant, what's wrong with it?23:14
wgrantsalgado: There's an XSS in the work item title rendering.23:15
wgrantThere's a reason I questioned your foo_link stuff a couple of days back -- it inevitably leads to mistakes like this.23:16
salgadooops, indeed23:17
salgadohad you told me the reason I could've avoided the mistake23:17
salgadowgrant, there's another branch being ec2-landed (under abentley's account) which includes the changes you're reverting as well.  not sure there's anything to be done about that before it lands as abentley is gone23:24
wgrantsalgado: It'll hopefully conflict in PQM.23:25
StevenKHm, qas seems faster.23:33
StevenKOf course, as I say that, it times out 3 times in a row.23:33
rick_h04151023:40
rick_hok, I didn't even touch the yubikey that time...it's on crack23:41
StevenKHm. That reminds me, when is that call ...23:41
rick_hStevenK: so 9pm your time I think if I used the time website right23:41
rick_h6am my time, and should hit the other two in the morning23:41
lifelesswgrant: sanity check me: the SCA stuff isn't hung off of Ubuntu, its a global concept in the code base today, right ?23:41
rick_hI didn't hear back from anyone though StevenK23:41
wgrantlifeless: Yes :(23:42
lifelessthanks23:42
lifelessjml: and theres the ack.23:42
wgrantcelebrities ftl23:42
StevenKrick_h: Perhaps not enough notice23:42
rick_hStevenK: yea, was the battle of getting the process started in time to beat convoy to produciton while giving a day or two to make sure you can show up23:43
rick_hbut two days should be good for yay/nay I'd think23:43
StevenKYou'd think23:43

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