/srv/irclogs.ubuntu.com/2011/05/19/#launchpad-dev.txt

lifelessoh the irony - bug 78485401:09
_mup_Bug #784854: Questions in Launchpad Answers should be checked for double posting. <Launchpad itself:New> < https://launchpad.net/bugs/784854 >01:09
lifeless[yes, I know its not ironic. Pedants!]01:09
mwhudsonwgrant: you remember we talked about running a script to update all lp branches to be stacked on +brand-id/$id01:19
mwhudsonwgrant: did that happen?01:19
wgrantmwhudson: A couple of batches were started.01:23
wgrantspm and thumper hopefully know more.01:24
wgrantOne run died due to a 502 during a nodowntime, I don't know what happened after that.01:24
spmoh bugger. I completely forgot to kick that again01:24
wgrantHmm.01:49
wgrantI think the devel failure is spurious.01:49
wgrantPasses locally, doesn't really make sense...01:49
wgrantBut I've never seen it before.01:49
mwhudsonspm: so what is the status ?01:49
mwhudsonspm: is there an rt i can subscribe to or something?01:49
spmyou know. I don;'t think there is. I shall create one - makes itless likely to be forgotten.01:50
mwhudsonwoo process01:50
wgrantHow does one subscribe to an RT, anyway? We don't have separate accounts, so it doesn't seem to be possible.01:56
mwhudsoni think you just make a comment on it via email?01:59
mwhudsoni'm not really sure though01:59
mwhudsondefinitely "rt user account" != "email address to send activity on a ticket to" as concepts though02:00
wgrantLP's RT does SSO now... maybe the IS one should too.02:01
lifelesslp's is the u1 one02:12
lifelessis need to upgrade02:12
wgrantAh.02:12
lifelessaiui02:12
lifelessstoreblob should move to the librarian directly I think02:17
wgrantPossibly. But that requires that the librarian know about more than just LFA/LFC.02:18
lifelessit already does02:18
wgrantAnd TLT.02:18
lifelesshowever I am thinking about what would be needed for a standalone blob store02:18
lifelessit seems to me that apport should be doing: a) upload a tonne of data to a gcable non-accessible area, b) handing off the result of that to something that claims a reference to the data from a)02:20
wgrantRight.02:20
lifelessnow, we could do this today using the one temporary blob table02:21
lifelesswith the insert from the librarian and then an update to set metadata from the appservers02:21
lifelessand refactor later to one thing owned by the librarian and another owned by the appservers02:22
lifelessif we change the gc implementation to be something like gcable = [blob for blob in store if none(map(methodcaller('references'), librarianclients))]02:23
lifelessfor obj in gcable: if obj.age > 30 days: delete obh02:23
lifelessfin02:23
lifelessthat wouldn't let us do fast in-librarian usage reports02:24
wgrantYeah. I'm not entirely sure how the reference counting will work with an SOA, but it seems doable.02:24
lifelessbut it would let us do them from within each service02:24
lifelessalternatively we have a 'service' concept in the librarian02:24
lifelessand we attach blobs to services02:24
lifelessand we can create a service for (e.g.) each distro02:25
wgrantHmm, I guess, yes.02:25
lifelessfor apport02:25
lifelessetc02:25
lifelessand ask for reports at the granularity of a service02:25
lifelesslike 'how much data does this service have' -> ppa quota report02:25
wgrantWe probably need arbitrary "tagging" for blobs, to get the groupings.02:25
wgrantYeah.02:25
wgrantLike that.02:25
lifelessgcing of services becomes an issue then02:26
lifelessbut it would be a much slower churn rate02:26
lifelessand other ubuntu/Canonical projects could get api access to make and consume services in the same pool02:26
lifelessinterestingly if you look at s302:27
lifelessaggregate reports are not exposed02:27
lifelessyou can see what you used02:27
lifelessbut not get 'whats the size of my bucket delilah'02:27
lifelesswhich suggests some possibilities about their internal model02:27
wgrantHmm.02:27
wgrantI didn't realise that.02:27
lifelesswell, IMBW02:27
lifelessI couldn't find anything in the api docs though02:28
lifelesshttp://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?BucketBilling.html02:31
lifelessFees for object storage and network data transfer are always billed to the owner of the bucket that contains the object unless the bucket was created as a Requester Pays bucket.02:32
lifelessThe reporting tools available at the Amazon Web Services developer portal organize your Amazon S3 usage reports by bucket.02:32
lifelessso while I can see us doing blob-storage + blob-accounting (including gc) layered on top02:34
lifelessI suspect amazon have blob-storage-and-accounting02:34
lifelesswith possible microservices that scale each function (storage,accounting) separately, but that are allowed to know about each other02:34
lifelesse.g. callbacks on storage adding to the accounting service02:34
lifelessditto downloads/uploads02:34
lifelessI think we should aim to be able to replace germanium with the librarian when we split it out02:36
wgrantThere's a spec for that.™02:36
wgrantDisklessArchives on the old wiki.02:36
wgrantWould make everything much simpler.02:37
lifelessof course there is02:37
wgrantand smaller.02:37
lifelesswell, a tradeoff - we'd make the impact of downtime even greater, so want to start adding in redundancy02:37
wgrantRight, but a split-out librarian should be fairly easily redundant.02:38
lifelesssomething like that :>02:40
* wgrant constructs a bonfire to dispose of archiveuploader.02:41
LPCIBotYippie, build fixed!02:41
LPCIBotProject devel build #731: FIXED in 5 hr 12 min: https://lpci.wedontsleep.org/job/devel/731/02:41
lifelessmtaylor: yo03:08
LPCIBotProject db-devel build #561: FAILURE in 5 hr 36 min: https://lpci.wedontsleep.org/job/db-devel/561/03:25
lifelesshmm03:27
lifelessit seems like they fail on design03:27
lifelessso no03:27
wgrantOh?03:27
* lifeless goes to the dark side and makes negative comments03:27
lifeless'The rsync daemon requires no authentication, so it should be run on a local, private network'03:27
wgrantHave you seen the librarian lately?03:28
lifelesscrunchy shell security is a pretty big WTF for a multi-tenant system03:28
wgrantYeah.03:28
lifelesswgrant: so I'm assessing this based on:03:28
wgrantThe db-devel failure is real; I am fixing.03:28
LPCIBotProject windmill-devel build #103: STILL FAILING in 47 min: https://lpci.wedontsleep.org/job/windmill-devel/103/03:28
lifeless - testing story [I see no test fakes for us to use in their docs]03:28
lifeless - sanity [e.g. wtf count]03:29
lifeless - friction vs what we want [like diskless archives]03:29
lifelesstheir building on rsync is itself a wtf for me03:29
wgrantHmmmmm03:31
wgrantThis test is duplicated.03:31
wgrantOdd.03:31
lifelessdouble landing? db-devel then devel + merged silent-wrong?03:31
wgrantDoesn't look like it.03:31
wgrantThey are adjacent, but it's possible.03:32
lifelessthat matches the symptoms03:32
lifelesslog will know03:32
wgrantOh.03:33
wgrantNot duplicate.03:33
wgranttest_higher_radio_mentions_parent vs test_higher_radio_mentions_parents03:33
lifelessalso 'The listings are stored as sqlite database files'03:33
lifelessdoth NOT fill me with confidence03:34
wgrantahaha03:34
lifelessI love sqlite03:34
lifelessbut if you want K:V its more than you need03:34
lifelessand if you want SQL its less than you need for this size problem03:34
lifelessthese are relatively small things03:36
lifelessBut I'm finding it hard to love it03:36
lifelessaahhahahahhaha03:38
lifeless'Currently it is recommended to use 3 (as this is the only value that has been tested). '03:38
mwhudsonlifeless: what are you talking about?03:42
lifelessmwhudson: I'm doing some reading on alternative blob stores to the librarian03:42
mwhudsonah ok03:42
lifelessmwhudson: the librarian is starting to creak03:42
mwhudsonceph!03:42
* mwhudson hides03:42
lifelessthats a fascinating option03:42
lifelessand one I think I've been talking about since ~ 200503:43
lifelessbut03:43
lifelesswe need a layer on top of that03:43
mwhudsonfor gc and such?03:43
lifelessgc, accounting, url generation03:44
lifelessnot to mention actually adding and removing data03:44
mwhudsonhuh, has "S3-compatible storage" now03:44
* mwhudson gets back to hiding03:44
lifelesswheeee03:44
lifelesshttp://ceph.newdream.net/wiki/S3-compatible_Gateway03:44
mwhudsonspm: did you make an rt about the branch-$id script thingy?03:45
spmmwhudson: not yet, no.03:45
lifelesshttp://ceph.newdream.net/wiki/RADOS_Gateway03:46
lifelessmwhudson: some options are: - ocfs2 + multiple librarian front-ends03:47
lifeless - openstack swift03:47
lifeless   - with accounting hooks etc implemented03:48
lifeless - ceph + a metadata service03:48
lifeless   - though http://ceph.newdream.net/wiki/RADOS_Gateway notes that rados is slow03:49
james_wwhat were you looking at with the rsync/sqlite/etc. stuff?03:50
lifelessswift03:50
lifeless - we could do something like haystack03:52
lifeless   - given our files are all immutable, regular fs overhead is uninteresting03:52
spmmwhudson: actually, istr there was some problem with the run we did last week. will need to dig out details tho.04:08
wgrantspm: Didn't it just die with a 502 during a nodowntime?04:09
spmdon't recall exactly. it may have been as simple as that04:09
mwhudsonspm: this is why there needs to be an rt :)04:11
spmyes.04:11
spmwgrant: the cause per-se didn't matter; as it got complex from there as the scripts don't handle an outage gracefully. basically abort. which makes doing 300+k branhces a little more time consuming.04:12
wgrantYeah :(04:12
mwhudsoni guess it has to look at every branch for each run?04:17
lifelessyes04:17
* mwhudson goes through old tabs04:45
mwhudsonlifeless: didn't you say that you'd reword the "team participation / directory service" section of https://dev.launchpad.net/ArchitectureGuide/ServicesAnalysis a bit?04:45
mwhudsonno worries if you just decided not to bother04:45
wgrantlifeless: https://code.launchpad.net/~wgrant/launchpad/bug-784948/+merge/6150305:02
StevenKwgrant: You can also dump the import of removeSecurityProxy05:03
wgrantSilence.05:03
StevenK:-(05:03
StevenKOnly trying to help05:03
wgrant(but done)05:03
wgrantI had noticed that, but then archiveuploader tried to stab me :(05:03
lifelessmwhudson: in my queue05:03
wgrantNasty archiveuploader.05:04
lifelesswgrant: why doesn't notification.send()05:04
lifelesslog05:04
lifelessif logging is important ?05:04
wgrantlifeless: For one thing the logger would have to be passed down another level.05:05
wgrantI guess it might be useful to log the addresses, though.05:05
lifelessthat seems pretty mechanical05:05
lifelessanyhow, I've commented along these lines and approved05:06
wgrantI was going for minimal solution that will unblock deployments and let me get back to more important things.05:06
wgrantThanks.05:06
lifelessas a variation, log the email if its available05:07
wgrant(of course these logs go nowhere; the script is run with -q and no output redirection)05:08
lifelessbbbbwah05:08
wgrantYes.05:08
StevenKThat should also be fixed05:08
wgrantYes.05:08
StevenKHmm, where did this heat come form?05:10
StevenK*from05:10
StevenKIt's 21 degrees!05:10
lifeless wgrant how goes BFJ ?05:26
wgrantlifeless: It needs table flattening and triggers added at the next DB deploy, so BPB's data can be populated. That's still three weeks away.05:28
wgrantThere are still ~2 methods that need fixing up.05:28
wgrantBut that can only be done after the migration.05:28
wgrantEverything that can be done beforehand is done.05:28
lifelesscool05:29
lifelessand then a second db patch to tidy up?05:29
wgrantI was counting on being on maintenance for a couple of weeks longer, and the deploy deploy not being a week late.05:29
wgrantRight.05:29
wgrant1) DB patch with triggers and garbo.05:29
mwhudsonspm: did you make an rt about the branch-$id script thingy?05:30
wgrant2) Normal branches to migrate to flattened tables, with lots of queries being mechanically changed and two being rewritten.05:31
wgrant3) DB patch to drop old tables.05:31
wgrant2's branches are mostly prepared, except for the two general query rewrites.05:31
spmmwhudson: I have opened a blank RT. what more do you want of me?!?!!?05:31
wgrantAnd lots of that has already landed.05:31
mwhudsonspm: hey, if i can be cc:ed on updates to it, i'll shut up05:31
spmheh05:31
spmI want to believe05:31
mwhudsonwell, at least a bit05:32
* StevenK gives up on OverridePolicy and merges in devel05:33
wgrantStevenK: You're encountering difficulties?05:35
wgrantlifeless: https://code.launchpad.net/~wgrant/launchpad/bug-784948/+merge/61503, now with added logging.05:35
StevenKwgrant: Yes.05:39
StevenKAnd I want the storm distinct-on thing05:39
wgrantAh.05:39
StevenKI've stopped it caring about pockets, but it still can't locate this upload for the new test case05:41
wgrant:(05:42
StevenKWhich means it gets stuffed into universe, since FromExisting didn't return anything for that SPN05:43
StevenKDAMN IT05:45
StevenKI don't specify distroseries05:46
wgrantHeh.05:47
StevenKwgrant: I'll keep my +1 for that branch with the logging changes05:48
wgrantStevenK: Thanks.05:48
lifelessgrrrr05:50
wgrantAha.05:50
lifelessrabbit fail05:50
wgrantarchiveuploader is defeated.05:50
wgrantlifeless: Again?05:50
lifelessthe layer05:50
lifelesstests failed when run in the whole test suite05:51
lifelessI suspect isolation fail05:51
wgrant:(05:51
wgrantIt's still failing regularly in devel/db-devel.05:51
lifelessthat sucks05:51
lifelesscanonical.testing.ftests.test_layers.MemcachedTestCase.testRabbitWorking05:51
lifeless canonical.testing.ftests.test_layers.DatabaseTestCase.testRabbitWorking05:51
lifeless canonical.testing.ftests.test_layers.LibrarianTestCase.testRabbitWorking05:51
lifeless canonical.testing.ftests.test_layers.ZopelessTestCase.testRabbitWorking05:51
lifelesserence: None != 'localhost:47565'05:51
wgrantLovely.05:52
lifelessother layers use it05:59
lifelessand None is the default in the schema05:59
spmmwhudson: 45879 :-)06:00
mwhudsonspm: w00t06:00
lifelesshey wow06:01
lifeless702  OOPS-1964O247   Sprint:+temp-meeting-export06:01
lifelessour top count is under 1K now06:01
lifelessthats pretty awesome06:01
mwhudsonlet me guess, that will go away next week when it's not uds?06:01
lifelessI think the temp is a lie06:01
lifelessmwhudson: thats overnight06:01
lifelessmwhudson: so no, its already post uds06:01
mwhudsonah06:02
lifeless23 /   20  Sprint:+temp-meeting-export06:02
mwhudsonspm: do you have any idea how many branches have been processed?06:02
wgrantIt only started just before UDS, though.06:02
spmmwhudson: we got about 23K done06:02
mwhudsonspm: heh ok06:02
=== almaisan-away is now known as al-maisan
wallyworldlifeless: do you know the mechanism by which a particular url advertises to the browser that is can provide an rss feed and hence enable the rss button?06:08
lifelesswhich rss button06:09
wallyworldthe one in the browser toolbar06:09
lifeless<meta link rel= ...06:09
wallyworldorange square06:10
wgrant(which is gone from all modern browsers, FWIW)06:10
lifelessthough I think most browsers have stopped doing06:10
wallyworldi've got a bug that says rss feeds need to be disabled for private bugs06:10
lifelessthats not what it means :)06:10
lifelessalso the bug says it blows up for private bugs which is arguably different06:11
lifelessbut AIUI we haven't implemented authenticated feeds yet for some bizarre reason06:11
wallyworldyes but the suggested solution is just to disable rss feeds for private bugs06:11
lifelessso disabling it is probably the most reasonable expedient solution06:11
wgrant2 things: 1) the <link> shouldn't be there. 2) there should be no login link on feeds.06:11
mwhudsonfeeds were designed to only be served out of squid06:11
lifelessmwhudson: a mistake06:11
lifeless:)06:11
mwhudsonis the specific bizarre reason06:11
lifelessmwhudson: still a mistake, vary will let you handle authentication through squid just fine06:12
mwhudsonyeah well, blame your boss's boss06:12
mwhudsonlifeless: not defending it!06:12
lifelessmwhudson: elliot?06:12
mwhudsoniirc06:12
lifelessheh06:12
lifelessanyhoo06:12
lifelessWe can and will solve it06:12
lifelessI want to get reliable atom/rss available in the next 6-12 months, for all objects we index.06:12
lifelessso we can pshb it up06:13
mwhudsonomg, someone used specificationfeedback on me!06:14
wgrantKILL THEM06:14
mwhudsonwgrant: i will opt for education06:14
wgrantThere are international laws against that sort of thing.06:14
wallyworldlifeless: so for now, if i look for a way to disable rss feeds for private bugs as per the suggestion in the bug report that will be ok?06:14
wgrantCome on, soyuz-upload.txt...06:15
wgrantWork please.06:15
wgrantAnd don't take 140s.06:16
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
LPCIBotProject windmill-db-devel build #294: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-db-devel/294/07:37
lifelesswallyworld: thats fine, of course. But please stay connected ;P07:53
adeuringgood morning08:38
LPCIBotProject windmill-devel build #104: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/104/08:47
rvbawgrant: thanks for fixing the test in test_distroseries.py earlier today.08:50
jtvDo we have a good pattern for adding annotations to objects that views feed to templates, without adding them to the objects and without making them persistent?  I can think of: pass a tuple of (annotation, object); pass a wrapper that delegates to the original object; or pass just a dict of relevant data to the view.09:01
jtvlifeless, any thoughts?09:04
=== almaisan-away is now known as al-maisan
mrevellHi09:13
jtvhi09:13
lifelessjtv: I think lazr.delegates was intended for this sort of thing, but its terribly heavyweight09:15
lifelessjtv: another option you haven't enumerated is a lookup on the view - view/annotation/object (where annotation is callable)09:16
lifelessbigjools: hi09:17
lifelessbigjools: hi09:18
bigjoolshowdy09:19
bigjoolshowdy09:19
lifelessbigjools: https://code.launchpad.net/~lifeless/launchpad/rabbit/+merge/61057 seems to have found a test isolation issue of some sort [it has the test Layer for you]09:19
jtvlifeless: that's a good one, thanks...  I just managed to squeeze some work out of my lazy brain and got to "dict"09:19
jtvlifeless: and delegates is definitely too heavyweight; I really didn't want to add ZCML for this!09:20
bigjoolslifeless: what's the isolation issue?09:26
lifelessbigjools: looks shallow - something seems to be zapping the config back to the schema default (of None) when the full test suite is run (vs when just the new tests are run)09:27
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews | Critical bugs:210 - 0:[######=_]:256
jtvallenap: something I expect to have to repeat rather a lot is "here's a DSD, what would be the package specification for a PlainPackageCopyJob that would resolve it?"  I'm about to write a function specify_dsd_package(dsd): return (dsd.source_package_name.name, dsd.parent_source_version) but did you perhaps have something for that already?09:48
lifelessbigjools: anyhow I mention that test failure09:49
lifelessbigjools: in the (vague) hope that allenap or yourself might want to land the branch09:49
bigjoolsheh09:49
bigjoolsyou mean you want to offload it? :)09:49
allenapjtv: No, I don't have anything for that. It might be nice to incorporate that into an alternative PlainPackageCopyJob.create() classmethod.09:50
lifelessmore that I don't want you guys blocked on me doing it09:50
bigjoolsI doubt we're that close yet09:50
lifelessI have a few balls to juggle right now, and while its important, its not top of the list09:50
jtvallenap: not worth the bother if it's a simple helper call.  BTW I also filed a bug yesterday for two flaws in getActiveJobs: it doesn't sort and it doesn't filter for job status.09:50
allenapjtv: I saw; sorry for creating the bugs in the first place :)09:51
jtvI'm sure it felt like a worthwhile effort at the time.  :)09:51
jtvI _would_ fix them en passant but am slightly too woozy right now.  Also, can't just fix it without tests.09:52
jtv(Glad I didn't tackle this earlier since I just disposed my dead-end branch)09:52
jtvWTF?  Why doesn't it show up as my last-reported bug?09:54
allenaplifeless: I'm reviewer today, so I might have a go with that layer branch.09:55
lifelessallenap: I'll forward you the ec2 output09:55
allenapThanks.09:55
LPCIBotProject db-devel build #562: STILL FAILING in 5 hr 41 min: https://lpci.wedontsleep.org/job/db-devel/562/09:55
jtvallenap, bigjools: bug 78451509:57
_mup_Bug #784515: PlainPackageCopyJob.getActiveJobs should check job status <derivation> <Launchpad itself:Triaged> < https://launchpad.net/bugs/784515 >09:57
bigjoolsjtv: yeah that's not good is it :)10:02
jtvpossibly not10:02
StevenKallenap: Are you up for a reviewing an oversized branch?10:17
StevenKallenap: It is effectively moving the code and massaging it to work10:17
allenapStevenK: Yeah, okay.10:18
StevenKallenap: https://code.launchpad.net/~stevenk/launchpad/announcements-copies/+merge/6151610:18
StevenKallenap: The two methods at the top of notification that aren't exported are the end-goal10:18
allenapStevenK: Okay, I assume I'll understand what that means when I read the code :)10:19
StevenKHopefully it does10:19
henningeDoes anybody see a potential hurt in piping LP.cache['context'] through obfuscate-email, like so? http://paste.ubuntu.com/609988/10:23
henningeobfuscate-email is only applied on anonymous requests10:24
henningewgrant: ^ ?10:24
wgranthenninge: Ugh.10:26
wgranthenninge: I have no idea how to solve this.10:27
henningewgrant: what do you mean?10:27
henningeit is solved10:27
henningeI mean, that works10:27
henningeI am just wondering if I missed any effect because this is a rather simple solution10:28
wgrantYeah, until it leaks somewhere we don't want and all the email addresses in the DB get erased.10:28
henningeAh10:29
henningewgrant: you said yesterday that the cache is not really needed on anonymous pages.10:30
wgrantIt seems perilous to be sending out bad data in a machine-readable format, when it looks fine in most circumstances.10:30
wgrantThen someone writes a tool that uses it.10:30
wgrantAnd goodbye email addresses.10:30
henningeyes, I see the danger10:30
henningethere are two general  solutions that I see10:31
henninge1- Not send out the data10:31
henninge2 - check all data for obfuscated email addresses10:31
henningeall *received* data that is10:32
henningewgrant: yes, thinking about it the only general solutionwould be to reject all data on the the webservice that contains <email address hidden> because whoever is doing that is doing something wrong.10:37
StevenKallenap: Still looking through it?10:39
lifelesswell10:40
lifeless<email address hidden> is an invalid email address10:40
lifelesswon't pass the parsers10:40
lifelessI like not calculating and sending data we don't need to calculate and send10:41
wgrantlifeless: This is in stuff like bug descriptions.10:41
lifelesswgrant: ahhh so10:46
lifelessyes10:46
lifelesshenninge: rejecting incoming corrupt data would be a poor choice because how do you file a bug about it then ?10:47
wgrantThe correct term is "abandon all hope"10:47
wgrantExactly.10:47
wgrantWe can't reject it.10:47
allenapStevenK: My laptop is deciding to sporadically reboot itself. Still going...11:03
wgrantDespite the MP's apparent pointlessness, I support it as a first step :)11:09
StevenKHaha11:12
allenapStevenK: Done, at last.11:23
StevenKallenap: The two things you said to ditch are the "end goal" method11:24
StevenKallenap: As in things like the archiveuploader, the package copier will just call notification() and everything happens.11:25
allenapStevenK: Oh, okay, so they're empty shells that will be filled later. Fine.11:25
StevenKallenap: I will ignore your bug, since the next step is to refactor all this next.11:25
StevenKallenap: Thank you for the review, and sorry for the over-sizedness11:26
wgrantAh, I see you raise the class argument that StevenK and I had earlier.11:26
wgrantWhy do you feel a class would be beneficial?11:26
wgrantThere is no state.11:26
=== al-maisan is now known as almaisan-away
allenapStevenK: No worries :)11:27
bigjoolsjkakar: perl? ew!11:57
jkakarbigjools: I know.  Ugh.11:58
jkakarbigjools: I'm trying to run some tests for a Fluidinfo client library... not getting anywhere... I did Perl years ago, but I've (thankfully) forgotten it all.11:58
bigjoolsI have studiously avoided perl11:59
lifelesswallyworld_: yes thats fine12:03
wallyworld_ok12:03
StevenKNothing wrong with Perl.12:04
lifelessStevenK: nothing ... right with it either12:19
lifeless:)12:19
bigjoolsStevenK: ... that high explosive won't fix12:32
wgranthenninge: Are you guys keeping an eye on Answers? The backlog is approaching 36 hours.12:41
=== almaisan-away is now known as al-maisan
henningewgrant: thanks, I will look at it13:08
* henninge relocates first13:15
adeuringallenap: could you please have a look at this mp: https://code.launchpad.net/~adeuring/launchpad/bug-739065/+merge/61555 ?13:41
allenapadeuring: Sure.13:42
adeuringthanks!13:42
mrevellallenap, https://code.launchpad.net/~matthew.revell/launchpad/karma-help-bug93410 I have a particular question. Let me know when you have the branch running at lp.dev13:43
wallyworld_sinzui: question for you if you are around13:45
jtvallenap: busy review day?13:51
allenapjtv: I can fit you in :)13:52
jtvGreat, thanks!13:52
jtvIt's https://code.launchpad.net/~jtv/launchpad/db-bug-781514/+merge/6155713:53
allenapmrevell: Ready when you are.13:53
mrevellHello allenap. If you log in and go to your person overview page, I've put a help link beside the karma score. This links to the help page on help.lp.net but in a pop-up window. I'm not satisfied with that, it looks a bit odd to my eyes. But there's already a help link on that page and I think it'd also look odd if they behaved differently (i.e. the question mark mouse pointer only appears if the help link has a t13:55
mrevellarget of "help"). Any thoughts?13:55
=== jelmer_ is now known as jelmer
allenapmrevell: You're right, it does look odd.13:58
mrevellallenap, I could replace it with this: https://help.launchpad.net/YourAccount/Karma?action=print13:59
mrevellallenap, I'm reluctant to create a new help text file in the tree if it's just gonna duplicate the contents of a help wiki page. Probably what I'll do is write a short help wiki pop-up and link it to the fuller wiki page.14:00
allenapmrevell: I think you need to speak to a UX person really. I think they should all look the same :-/ I guess you could have a quick overview in the frame, with a link in there to the wiki with target="_top".14:01
mrevellallenap, I'll do that ... quick overview and a link that targets _top. Thanks.14:02
allenapmrevell: Tip top.14:02
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews | Critical bugs:210 - 0:[######=_]:256
bacmatsubara: is the qabot not working currently?14:08
sinzuiwallyworld_: I am about, but I am decaffeinated.14:08
matsubarabac, it should. what happened?14:08
matsubaraunless Ursula disabled it for a rollout or something14:09
bacmatsubara: bugs have been deployed but it hasn't done it's magic on them14:09
bacthe deployment report looks stale too14:09
wallyworld_sinzui: the rss feed for private bugs; i've disabled it and also did the same for private branches. sadly, if you use the inline ajax editing to change the privacy status, the rss feed isn't toggled. i'm wondering if we want to land what's done and working and raise a new bug for the ajax work14:11
matsubarabac, looking into it.14:11
bacthx14:11
* deryck disappears for reboot but will brb14:13
sinzuiwallyworld_: I do not think that is an issue unless users actually experience the bug14:13
abentleyhenninge: do you want to mumble about this bug a bit more?14:14
henningeabentley: sure, but give me a few minutes. Say at :30 ?14:14
abentleyhenninge: sure.14:15
henningethanks14:15
wallyworld_sinzui: they will see the issue i think if a bug was public and is changed to private. the rss feed button will still be enabled and hence the situation will be as per the bug report. but my claim is that this is a corner case that will hardly ever eventuate. a page refresh will fix it up at this point also14:17
sinzuiwallyworld_: Then the bug is not fixed!14:17
sinzuiwallyworld_: RSS feeds cannot contain private information, They are intended for anonymous users14:18
wallyworld_sinzui: no argument there. i was asking about landing the fix in two branches. but i'll do it in the one branch14:19
sinzuiwallyworld_: It is always okay, and desirable, to land multiple branches14:19
wallyworld_sinzui: ok. will get the current branch in and do the ajax work separately. thanks.14:20
jcsackettwallyworld_: your various reviewers will never complain about smaller branches to review, either. :-p14:23
wallyworld_jcsackett: yeah. and i've had some large ones recently too14:23
abentleywallyworld_: been meaning to ask: Why did you implement performDailyBuilds as a new method, rather than extracting it from makeDailyBuilds?14:23
mrevellallenap: Where is the queue of people waiting for reviews now? it used to be in the channel topic.14:24
wallyworld_abentley: give me a second to look at the code. it's been a while :-)14:24
mrevellallenap, Or is it just the +activereviews you look at now?14:24
allenapmrevell: There is no queue. I'm doing adeuring's review at the moment, and will be following up with jtv's.14:25
abentleymrevell: We use +activereviews, but you should still request someone to look at yours.  They can claim the proposal on the web.14:25
mrevellThanks abentley.14:25
mrevelljcsackett, allenap: Would either of you care to take a look at this? https://code.launchpad.net/~matthew.revell/launchpad/karma-help-bug93410/+merge/6156614:25
jcsackettmrevell: sure.14:31
wallyworld_abentley: makeDailyBuilds is called from the cron script and has logging and slightly different error handling to performDailyBuilds which is called from the ui via an ajax call14:31
henningeabentley: I am ready now14:32
abentleywallyworld_: I think it's a DRY violation, and it caused me to waste a bunch of time "fixing" the wrong method.14:32
mrevellthanks jcsackett14:32
abentleyhenninge: starting up.14:32
wallyworld_abentley: sorry. at the time i thought there was enough of a difference (maybe i still do, not sure) to justify the separate implementations. they both call requestBuild but the calling environment and especially exception handling is different14:34
jcsackettmrevell: r=me. martin has a comment on the MP that's probably worth considering, but i don't think it's a block to approval.14:35
mrevellThanks jcsackett14:35
=== MTecknology is now known as EvilMTeck
LPCIBotProject windmill-devel build #105: STILL FAILING in 48 min: https://lpci.wedontsleep.org/job/windmill-devel/105/14:41
matsubarabac, it's now up to date. UrsulaJ is investigating why it stopped.14:43
bacthanks matsubara14:43
nigelbok, the bug I fixed is in qastaging.14:49
nigelbcan I do the verification myself? Or someone else should be doing it?14:51
wgrantnigelb: You can do it. Check that it works and doesn't break stuff, and tag the bug qa-ok.14:54
nigelbwgrant: Awesome, thanks.14:59
nigelbhaha, I caused a timeout doing something else :p15:01
wgrant:(15:02
nigelbI realized the db in that is old, so I couldn't access the project.  I just wanted to see how old and clicked the branch.  BANG. Timeout.15:03
nigelbwgrant: Okay, tested.  Worked.  Now remove qa-needstesting and make it qa-ok ?15:05
wgrantnigelb: Right.15:06
nigelbokay, done!15:06
nigelbNow sit tight and wait till the rev gets deployed to production?15:06
wgrantProbably in about 10 hours, unless stuff breaks overnight.15:09
derycknigelb, hey, welcome as a contributor to launchpad now!15:14
nigelbderyck: \o/ :)15:14
nigelbIts addictive, I'm already looking for another bug to fix.15:15
bigjoolsI have loads you can do ;)15:16
nigelbbigjools: beginner friendly? ;)15:16
bigjoolsnigelb: you didn't specify that :)15:17
nigelbheh15:17
rvbaI've got a strange error when I run "./utilities/ec2 land my-mp-url": http://paste.ubuntu.com/610096/15:17
rvbaAny idea anyone?15:17
nigelbI'll admit I don't know enough zope to fix the more harder bugs.15:17
bigjoolsnigelb: btw I'm sorry we didn't meet at UDS, unfortunately time was too short for me15:17
rvba(The error itself is "AttributeError: 'Entry' object has no attribute 'queue_status'")15:17
nigelbbigjools: wait, you were *at* UDS?15:18
bigjoolsyes :)15:18
bigjoolsfor 1.5 days15:18
nigelbDarn15:18
nigelbI'm sorry I didn't find you15:18
nigelbahh15:18
bigjoolsI am the freakishly tall dude15:18
bigjoolswell, there's a few of us like that thinking about it15:18
nigelbAt this point, noodles is the freakishly tall dude I remember.15:19
nigelb:P15:19
bigjoolsyes we're the same height roughly15:19
nigelbhah15:19
bigjoolshe used to work in my team15:19
nigelbIf I do turn up at another UDS, I'll make sure I find you :)15:19
nigelbI know, I did tell him I remember him from #launchpad15:20
bigjoolssure thing15:20
bigjoolsrvba: seems like nobody wants to answer you! perhaps take it to the list15:22
rvbabigjools: it's for landing my 2nd performance branch. I think I'll sleep on it first and focurs on getting something done on the overlay front today.15:23
nigelbbug 4595 surely can't be fixed anymore.  I don't think there are tooltips anymore that the bug doesn't exit.15:24
_mup_Bug #4595: Don't auto-linkify non-existent bug reports <easy> <lp-web> <tales> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/4595 >15:24
bigjoolsrvba: it's a problem when it triest to get at the MP over the webservice.  It looks like the code is out of step with production, but that's just weird.15:24
bigjoolstries(15:24
rvbaI'll see if any of the libraries used is suspiciously recent.15:27
bigjoolsI can't see anything obvious, I looked at the MP interface15:29
deryckhenninge, how's the question answering work coming?15:35
henningederyck: just started ;-)15:35
deryckhenninge, ah, ok.  np.  Just doing my duties as well and didn't want to conflict with you.15:35
henningederyck: yeah, better you pick something else15:36
derycknp.  I'll do project review now.  I've just been working down the list.15:36
nigelbok, picked a new bug to fix, bug 20347815:56
_mup_Bug #203478: Meeting attendees should be sorted by display name <easy> <lp-blueprints> <sprints> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/203478 >15:56
nigelbhopefully, I can kick out the fix today, writing the tests though are an entirely different matter :\15:56
derycknigelb, you could start with the test.  I can chat with you about how to write a test for this, if you'd like.15:58
nigelbderyck: Yes, I'd love that.15:58
derycknigelb, ok, let me look at the bug to make sure I know the problem.15:59
derycknigelb, ok, this shouldn't be bad.  I would probably add a test to lib/lp/blueprints/browser/tests/test_sprint.py16:01
* deryck is looking for an example of something similar to point nigelb at16:01
nigelbmakePerson and make two people16:02
nigelband then add them to the sprint16:02
nigelbbut hrm, how would I actually figure out that the name and display name are in different order16:04
derycknigelb, broadly you would use the factory to create people with some made up names, then sort those names and then compare to the list in the page.16:06
derycknigelb, look in lib/lp/registry/tests/test_mailinglist.py for test_getSenderAddresses_dict_keys for something similar.16:07
nigelbokay16:07
derycknigelb, I imagine (I haven't looked) that the template has a view method that returns the list of people.  your test would assert that the expected name order matches what this method returns.16:08
nigelbI know the method that returns the list of people.16:08
deryckok, great.16:08
derycknigelb, and this method is on the view class, yes?16:09
nigelbno, its on the model class16:09
derycknigelb, ok.  so I would add the test to a different file, since you're testing the model not the view16:09
* deryck looks....16:09
nigelbattendances in lib/lp/blueprints/model/sprint.py16:09
derycknigelb, ok, so I would add a new test file lib/lp/blueprints/model/tests/test_sprint.py and add a test case class with a test method that checks this.16:11
derycknigelb, there is a sample test file in the top of the tree, IIRC16:11
nigelbyeah, I used that last time :)16:11
derycknigelb, awesome.  let me know if you need anymore help.  I don't mind.16:13
nigelbderyck: let me see how far I can get without the temptation to headdesk.  At that point, I'll ping you :)16:13
derycknigelb, ok, sure. :-)16:14
jtvthanks for the review, allenap!  I'll bother jcsackett for the next one.  :)16:25
jtvjcsackett: speaking of which... Good morning!  Got room for this review?  https://code.launchpad.net/~jtv/launchpad/bug-785190/+merge/6159416:25
jcsackettjtv: sure, i'll look at it in just a few.16:26
jtvThanks16:26
=== al-maisan is now known as almaisan-away
gmballenap, jcsackett: Can one of you take a look at this for me: https://code.launchpad.net/~gmb/launchpad/fix-oops-with-teams-bug-778847/+merge/6160016:35
nigelbHow do I run a test written in model/tests?16:38
gmbnigelb: bin/test -ct test_filename should work.16:39
gmbThe test runner magically finds the tests.16:39
nigelbmagic! nice :)16:39
jcsackettgmb: looking at your MP now.16:40
gmbjcsackett: Tahnks16:40
nigelbok, this is strange. The didn't fail.16:45
nigelbah, it ran the test_sprint from lib/lp/blueprints/browser/tests instead of lib/lp/blueprints/model/tests16:46
jcsackettgmb: r=me, with a small comment on the MP.16:47
gmbjcsackett: Thanks.16:47
=== matsubara is now known as matsubara-lunch
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett | https://code.launchpad.net/launchpad-project/+activereviews | Critical bugs:210 - 0:[######=_]:256
nigelbgmb: "bin/test -ct test_sprint", but its running the browser test instead of model test, is there a way to specify I want to run the model test?16:50
gmbnigelb: You could specify it as:16:51
gmbbin/test -ct python.path.to.test_file16:51
gmb(e.g.16:51
gmbbin/test -ct lp.bugs.tests.test_bug.py16:51
gmb)16:51
nigelbah16:51
gmbs/.py//16:51
LPCIBotProject windmill-db-devel build #295: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-db-devel/295/16:52
=== deryck is now known as deryck[lunch]
jtvthanks jcsackett16:55
nigelbgmb: "bin/test -ct lp.blueprints.tests.test_sprint" and "bin/test -ct lp.blueprints.model.tests.test_sprint" didn't work :(16:57
gmbHmm.16:57
* gmb tries it16:59
gmbnigelb: Is test_sprint a new file for you? I don't see it in my tree...17:02
nigelbgmb: oops I should have told you.  I just wrote it17:02
gmbnigelb: bin/test -ct blueprints.model.tests.test_specification works for me, for example.17:02
gmbah.17:02
gmbnigelb: Can you paste the file in Etherpad for me? There might be something missing from it...17:02
nigelbgmb:  http://pad.ubuntu.com/CSDp1HJN5317:03
gmbnigelb: Ah, here might be the problem: You've got TestCaseWithFactoryImported but you subclass TestCase.17:04
nigelbahh17:05
nigelblet me try with that fixed17:05
nigelbgmb: *facepalm*17:07
gmbHeh.17:07
nigelbgmb: That isn't what went wrong.17:07
nigelbits even more sillier than that.17:07
gmb:)17:07
nigelbgmb:  So, I was writing the test in the devel branch instead of my branch and running the test in my branch. *headdesk*17:08
gmbnigelb: Haha. I've done that before too.17:08
gmbOh well.17:08
gmbAnyway, working now?17:08
nigelbcopying over now17:08
gmbCool.17:08
nigelbaha, now it explodes because its wrong.  Happier.17:10
gmbCool.17:10
=== beuno is now known as beuno-lunch
=== deryck[lunch] is now known as deryck
nigelbok, I need help.17:27
nigelbthe method I thought I should assert with doesn't return what I thought it would, causing the test to fail.17:28
nigelband here's a paste of the failing test http://paste.ubuntu.com/610159/17:30
derycknigelb, you want to convert the list of objects to a list of names.  something like [person.displayname for person in obj.method()]17:33
nigelbderyck: the one returned by sprint.attendances?17:33
deryckoh wait17:33
derycknigelb, I didn't look close enough, sorry17:33
nigelbthe sprint.attendances is where I'm running into trouble17:34
maxbURL forms like /+branch/projectname seem to work for bzr+ssh, web ui, loggerhead, but NOT for http branch access. Is this intentional? oversight? not-a-bug?17:36
derycknigelb, ok, so you have a list of person objects comparing to a list of attendees.  but I believe attendee.attendee_id should match person.id17:40
derycknigelb, so match the list of ids.17:40
nigelbderyck: so sprint.attendances.id?17:41
nigelbor sprint.attendances.attendee.attendee_id?17:41
deryckthat one ^^ attendee_id17:41
derycknigelb, and person may have this as well.  person_id or personID.  but even I get confused about which model classes use this.17:42
deryckuse which form I mean.  so I was just suggesting the direct look up on person to make it easier on you.17:42
derycknigelb, actually, never mind on that person_id thing. that's for related objects17:43
nigelboh17:43
* deryck is trying to multi-task and it shows17:43
nigelbheh17:43
nigelbso what should I be now to fix the test?17:43
derycknigelb, my orginal suggestion is still right.  I just meant to ignore my person_id comment.  so....17:45
nigelbah17:45
deryckSprintAttendance.attendee_id == Person.id17:45
derycknigelb, ^^ so you need a list of attendee_id's and person ids and compare those lists.17:46
jtvjcsackett: one more for the road?  https://code.launchpad.net/~jtv/launchpad/db-bug-782096/+merge/6161217:46
jcsackettjtv: sure.17:46
jtvthanks17:47
nigelbderyck: okay, this is going to be vastly more efficient if I just show you what I have now and if you can point out what needs changing.17:47
derycknigelb, yes, probably so.  sorry :-)17:47
deryckjcsackett, hi.  can you do a review for me?17:47
nigelbderyck: heh, its okay. http://pad.ubuntu.com/CSDp1HJN53 is what I have.17:47
* deryck looks17:48
jcsackettderyck: sure.17:48
derycknigelb, I think what I've added should work.  minor _id change, and then a little style change....17:50
derycknigelb, we don't use one letter variables, even in list comprehessions.17:50
deryckjcsackett, thanks!  https://code.launchpad.net/~deryck/launchpad/keyserver-port-fix-785155/+merge/6160917:50
nigelbderyck: okay, ah, didn't know about the style :)17:50
derycknigelb, no worries.  someone would have mentioned it in review, I'm sure.17:50
jcsackettjtv: i see that your branch fixes the status issue. how does it solve the ordering issue?17:50
derycknigelb, we also indent functions calls differently.  I'll show you there, too....17:51
nigelbaha17:51
jtvjcsackett: I wrote an order_by... did that get lost somewhere?17:51
jcsackettjtv: i don't see an order_by in the diff.17:52
derycknigelb, assuming I'm still in 79 characters, what I did should work.  make lint in the tree will tell you for sure.17:52
nigelbderyck: attendee_id didn't work, but attendee.id did!17:52
nigelbderyck: (well, it failed.  But that was the whole point ;) )17:52
derycknigelb, show me the failure in paste please?17:53
nigelbokay17:53
nigelbderyck: I haven't modified the code yet, so the failure I get now is expected failure I think.17:53
jtvjcsackett: no idea where that went then... let me just restore it.17:53
jcsackettjtv: ok. :-)17:53
nigelbhttp://paste.ubuntu.com/610165/17:53
=== matsubara-lunch is now known as matsubara
jcsackettderyck: that's a very small branch, and a very good one. r=me.17:54
deryckjcsackett, thanks.17:57
derycknigelb, yup, that looks good.17:57
LPCIBotProject windmill-devel build #106: STILL FAILING in 1 hr 8 min: https://lpci.wedontsleep.org/job/windmill-devel/106/18:01
bigjoolsgood night everyone18:04
nigelbnight bigjools18:05
jtvjcsackett: the diff has finally updated18:05
jcsackettjtv: r=me, with the return of the order_by. :-)18:06
jtvthanks!18:06
nigelbderyck: I changed the code that I was supposed to change to get it to work, still doesn't work :(18:10
derycknigelb, test fails in the same way?18:10
nigelbderyck: yeah18:10
derycknigelb, can you paste a diff as it is now?18:11
=== jtv is now known as jtv-zzz
nigelbderyck: bah, ignore me. same problem as earlier. :/18:12
nigelbNote to self: Never open devel branch ever.18:12
derycknigelb, ok, np18:12
nigelbjcsackett: Hi, could you review https://code.launchpad.net/~nigelbabu/launchpad/203478-meeting-sort/+merge/61623 for me? :)18:27
jcsackettsure, looking now nigelb.18:30
nigelbThanks :)18:30
jcsackettnigelb: r=me, though i did leave one comment on your MP.18:43
nigelbjcsackett: I'll fix that.  What does r=me mean?18:44
nigelbjcsackett: (This is my second bug fix to LP :))18:45
jcsackettnigelb, sorry, it means i approved your branch. :-)18:45
nigelbah18:45
jcsackettwhen code is landed in lp, the commit is tagged with the reviewer name, (so your branch will land with r=jcsackett)18:45
nigelbah18:45
jcsackett"r=me" has become shorthand for "i approve this."18:45
nigelbdo I need to place the commit message with that tag or is that done by whoever lands it?18:46
jcsackettthat's done automatically.18:52
jcsackettthe tags are just added to the commit message you give it in the mp, or the person landing provides.18:52
nigelbjcsackett: aha.  anyway, I pushed with the change you mentioned in the MP.  Now I bug someone to land it? ;)18:55
jcsackettnigelb: yup, all is good. i can go ahead and send it out, if you like.18:56
nigelbjcsackett: please do :)18:56
jcsackettnigelb: it's out to the full testsuite and from there to land.19:19
nigelbjcsackett: Thanks!19:19
jcsackettif it fails the testsuite you and i will both be notified via email.19:19
LPCIBotProject windmill-devel build #107: STILL FAILING in 48 min: https://lpci.wedontsleep.org/job/windmill-devel/107/19:19
jcsackettactually, you should be notified both for failure or success, but failure is the option requiring you to do more work. :-)19:19
jcsackettnigelb, i would expect you to get the email either way in 4 to 6 hours.19:20
nigelbheh19:21
nigelbso, I shall wake up to an email :)19:21
abentleygary_poster: around?19:22
gary_posterabentley, hi, yes, but I have call in 719:23
abentleygary_poster: do you know where we configure the python logger to generate oopses?19:23
gary_posterabentley, I'm not sure, though some python log configuration is in ./configs/development/launchpad.conf19:25
abentleygary_poster: it's wacky, because it appears to be implemented by OopsLoggingHandler, but OopsLoggingHandler isn't used AFAICT.19:27
gary_posterabentley, heh, I see what you mean19:28
=== jkakar_ is now known as jkakar
=== beuno-lunch is now known as beuno
LPCIBotProject windmill-devel build #108: STILL FAILING in 45 min: https://lpci.wedontsleep.org/job/windmill-devel/108/20:05
bacjcsackett: review?  https://code.launchpad.net/~bac/launchpad/bug-777789/+merge/6163820:07
jcsackettbac: sure, just a moment.20:08
bacjcsackett: thanks20:08
jcsackettbac: r=me.20:13
jcsacketttoday has been a number of short branches. i dig it.20:13
bacjcsackett: thanks20:13
LPCIBotYippie, build fixed!20:16
LPCIBotProject db-devel build #563: FIXED in 5 hr 34 min: https://lpci.wedontsleep.org/job/db-devel/563/20:16
LPCIBotProject windmill-devel build #109: STILL FAILING in 46 min: https://lpci.wedontsleep.org/job/windmill-devel/109/20:51
sinzuijcsackett: do you have time to review https://code.launchpad.net/~sinzui/launchpad/suppress-url-hacker-oops/+merge/6161720:58
nigelbhttp://justanothertriager.wordpress.com/2011/05/20/fixing-launchpad-bugs/ :)20:58
jcsackettsinzui: looking now.21:13
lifelessstatik: hi ?21:18
lifelessmorning y'all21:20
jcsackettsinzui: r=me.21:24
sinzuithank you jcsackett21:24
LPCIBotProject windmill-db-devel build #296: STILL FAILING in 1 hr 12 min: https://lpci.wedontsleep.org/job/windmill-db-devel/296/21:28
lifelesssinzui: I think you are missing a test21:30
lifelesssinzui: that may show a bug21:30
sinzuioh21:31
sinzuilifeless: What needs testing?21:31
lifelesscode.launchpad.dev21:31
lifelessas well as launchpad.dev21:32
lifelesswe should ignore cross-vhost self links21:32
lifelesssorry21:32
lifelesswe should *not* ignore cross-vhost self links21:32
sinzuilifeless: I think the check is does that. I can add a test where the referer is bazaar.launchpad.net and verify that the oops is reported21:34
lifelessplease21:34
lifelessI may be wrong, but it would be lovely to be sure21:34
sinzuione moment21:34
lifeless(and safe if someone else refactors)21:34
sinzuilifeless: This test passes. Is it what you mean: http://pastebin.ubuntu.com/610261/21:38
sinzuilifeless: indeed safety  from refactors is important.21:38
lifelessah, I see21:39
lifelessso you check that 'launchpad.net' in 'bazaar.launchpad.net'21:39
lifelessgreat.21:39
lifelessand yes that test is the key21:39
lifelesswe could plausibly have one where the server url is code.launchpad.net and the referer 'launchpad.net'21:40
lifelessfor completeness. I don't know if thats really needed or not.21:40
sinzuilifeless: okay, I will add that. Yes the check is  that the mainsite's root url is in the the referer, where I used urlparse to get the netloc of both21:48
deryckjcsackett, hi again.  Can you do another smallish review for me?21:50
jcsackettderyck: sure.21:51
deryckjcsackett, oh, never mind.  lifeless did it already.21:51
jcsackettcool. :-)21:51
derycklifeless, would the new low bug not be covered by your related bug 781854?21:52
_mup_Bug #781854: oauth consumer banning bans tokens from all users with the same consumer label <Launchpad itself:Triaged> < https://launchpad.net/bugs/781854 >21:52
lifelessderyck: well, 781854 might be closed if my analysis is wrong, and if so wouldn't fix the thing about user agent21:53
lifelessderyck: *if* we do do 781854, then yes, it would be covered.21:53
derycklifeless, ack.  I'll open a new bug then.21:53
deryckjust to be safe.21:53
lifelessderyck: Alternatively you could change your fix to just use a consumer key like 'anonymous client'21:53
lifelessderyck: rather than the user-agent.21:54
lifelessand nuke the bit of the test claiming that its needed.21:54
lifelessderyck: but I don't want to suggest you do more work :) [OTOH it looks very easy to me]21:54
=== salgado is now known as salgado-afk
derycklifeless, yeah, if you don't think that would have unintended consequences, I don't mind making that change.21:55
deryckit does look pretty straight forward.21:55
lifelessderyck: I can't see any consequences we couldn't change in the future :)21:56
lifelessderyck: and user-agent isn't a trustable field anyway21:56
derycklifeless, I meant more of the deryck-will-be-chasing-20-test-failures-tomorrow kind :)21:56
lifelessderyck: ah. So we know the test suite passes today.21:57
lifelesswhich means that we use a user agent, or authentication, on all api-exercising tests.21:57
lifelessthere may be other tests looking for the failure.21:57
lifelessBut there can't (by definition) be other tests that use the api dependent on the old behaviour - only the tests for the guts of the anonymous support [which consumer is used etc]21:57
lifelessso there might be other tests of this behaviour scattered around, but I expect that all fallout would be very shallow21:58
lifelesslike 'delete that test' shallow21:58
derycklifeless, yeah, I'm okay to give this a try.  I can always revert to what you've approved if there is massive test fallout.21:59
lifelesscool!21:59
james_whttp://blip.tv/ubuntu-developers/ubuntu-uds-o-budapest-friday-plenary-lightning-talks-5182944 at 18:00 is jml's lightning talk22:05
lifelessthanks22:05
james_wof particular interest to the yellow squad22:05
derycklifeless, how about now?  https://code.launchpad.net/~deryck/launchpad/dont-oops-on-api-without-user-agent-781262/+merge/6166222:07
=== matsubara is now known as matsubara-afk
deryckI'm out now.  Later one everyone!22:13
lifelessjames_w: starts at 17:4022:19
lifelessjames_w: great applause in it though :)22:19
sinzuijcsackett: r=me with the addition of a second test for half-escaped data22:23
jcsackettsinzui: dig.22:23
jcsackettthanks.22:23
lifelessnigelb: flask looks interesting22:35
LPCIBotProject windmill-devel build #110: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/110/22:37
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews | Critical bugs:210 - 0:[######=_]:256
jcsackettlifless: you referring to the framework?22:47
jcsackettlifeless, rather. :-P ^22:47
lifelessyes22:49
jcsackettit does seem interesting. i keep wanting to clear up some time to throw something together with it.22:50
jcsackettwerkzeug, the wsgi library underneath it, is very nice.22:50
lifelessa gpg signature checking & secure key creation service would be nice22:51
lifelesssmall isolated, no DB to worry about (but gpg stuff to glue together)22:51
jcsackettthat would be pretty cool.22:53
james_whttp://blog.chromium.org/2011/05/ssl-falsestart-performance-results.html23:11
nigelblifeless: Indeed.  Its pretty simple and easy :)23:13
nigelbjcsackett: test failed :(23:13
nigelbjcsackett: I can't figure out why though :/23:15
nigelbhm, I guess he's out of the day23:20
jcsackettnigelb: sort of. it's the end of my work day, but i have a call at in 40 min so i'm sort of around. :-)23:20
jcsackettjust slower to respond, as i'm cooking.23:21
nigelbjcsackett: ahh, did you see the failure email?23:21
jcsacketti see the failure--it's an easy fix. just update the sort order in the test; since you changed how sorting is happening, the change in the order is expected.23:21
jcsackettin a perverse way, this proves your code does what you want it to, nigelb. :-)23:21
nigelbah,the doctests failed?23:22
jcsackettyup.23:22
jcsackettblueprints/stories/sprints/20-sprint-registration.txt23:22
jcsackettat line 148, it prints out the attendees.23:22
nigelbhaha23:23
nigelbof all the things to happen ^-^23:23
jcsackettit's actually pretty common that changes to sorts or what text is presented causes this sort of trivial error. it can be a good idea to do a quick search through docs and stories in the module your working in to see if there's anything related that might brewak.23:24
LPCIBotProject windmill-db-devel build #297: STILL FAILING in 46 min: https://lpci.wedontsleep.org/job/windmill-db-devel/297/23:24
jcsacketts/brewak/break/23:24
jcsacketton the plus side, this is an easy fix for you; just change the ordering in the story to reflect your changes. :-)23:24
nigelbI should have run all the blueprint tests once23:26
jcsackettnigelb: that can be a good thing to do. i frequently just kick off the unittests i know about and the doc/stories modules.23:28
nigelbjcsackett: at this point though, do I need to run the tests locally again? Or can you just re-land it?23:31
jcsacketthave you pushed up the change?23:32
nigelbyep23:32
jcsackettcool, i'll land it.23:33
nigelb\o/23:33
jcsackettnigelb: it'll have to wait till after i finish making dinner though. cooking + landing is a bit difficult. :-P23:36
nigelbheh23:36
nigelbWell, this time, hopefully, I'll be asleep by the time the mail comes in.23:36
nigelb4 am is a good time to sleep :p23:36
cjohnstonnigelb, wake up!23:41
nigelbcjohnston: bah, wwhy?23:41
cjohnstonlol23:41

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