/srv/irclogs.ubuntu.com/2011/08/15/#launchpad-dev.txt

lifelessyay @ 3KB/s from LP02:05
lifeless(not LP's fault - the weather is messing up my internets)02:05
wgrantThe cold should be improving conductivity!02:08
nigelblifeless: Morning02:36
nigelblifeless: It was just one page02:36
nigelbwgrant: Everyone must be home and using the internet in the cold ;)02:36
lifelesshttp://www.stuff.co.nz/national/5434460/NZ-set-for-perfect-snowstorm02:38
nigelbAlso, it was a db heavy page, so now I think it was probably okay.02:39
StevenKSounds right. You should listen to lifeless talk about his Internets at 5pm02:39
lifeless*hates*02:39
nigelbhaha02:40
nigelboh. Today's a Monday and its a holiday! <302:40
lifelessgrah02:43
lifelessso.umask02:43
lifeless...02:43
lifelessand then restores it02:43
lifelessno finally.02:43
lifelessno cleanup.02:43
lifeless-> how to mess up an entire test run if one test fails.02:43
lifelesspoolie: could you spare a few minutes to teddy bear a design with me ?03:13
lifelessnigelb: better pics - http://www.stuff.co.nz/national/5443420/Major-weather-disruption-around-NZ03:31
nigelblifeless: it looks beautiful03:32
nigelbof course, I'm saying this while bathed in sunlight ;)03:33
lifelessnigelb: better pics - http://www.stuff.co.nz/national/5443420/Major-weather-disruption-around-NZ03:38
poolienice04:38
lifelesstime to move the python-oops code to python-oops_datedir_repo04:45
lifelessStevenK: any chance I can get a couple of reviews from you?04:49
lifelesshttps://code.launchpad.net/~lifeless/python-oops/extraction/+merge/71507 and https://code.launchpad.net/~lifeless/launchpad/useoops/+merge/7150604:49
lifelessStevenK: mainly deletes again04:49
StevenKlifeless: Having desktop issues04:53
StevenKsteven@liquified:~% ps axw | grep -c "<defunct>"04:54
StevenK15304:54
lifelessStevenK: ugh04:54
lifelessStevenK: \o/04:54
StevenK^ That isn't helping04:54
lifelessStevenK: sure its not a lp test run parent ?04:54
StevenKNo, they're all gnome stuff04:54
lifelessheh04:56
lifelesshttps://launchpad.net/python-launchpad-filesystem04:56
StevenK# XXX AaronBentley 2009-11-26 bug=488950: There should be separate storage for oops messages.05:08
StevenKlifeless: Haven't you dealt with that?05:08
lifelessStevenK: no05:10
lifelessStevenK: by the end of the arc I will have05:10
lifelessbut changing that means fixing the oops-tools bug about actually using the common extracted code.05:10
StevenKlifeless: Both approved05:16
lifelessthank you!05:16
* StevenK tries to swap back the state he had before the reviews, fails05:17
lifeless:(05:17
lifelesssorry!05:17
StevenK  File "/home/steven/launchpad/lp-branches/link-branch-to-private-bug/lib/lp/code/model/branch.py", line 181, in setPrivate05:21
StevenK    raise BranchCannotBePrivate()05:21
StevenK:-(05:21
lifelessprobably nee da privacy policy05:21
lifelessor non-junk or non-distro branch05:21
StevenKI've been trying to work that out05:21
StevenKThe code isn't being very helpful05:22
StevenKlifeless: So I have a product branch, and it still raises the exception. But I don't want the branch to be private by default -- I'm trying to go for what we do with LP itself.05:26
lifelessare you making it private as an admin ?05:32
StevenKNo, I'm not.05:32
StevenKI'm wondering if I should05:32
lifelessI suspect you need to.,05:32
lifelessAFAIK we have no 'user can opt in' story that is polished :)05:32
StevenKThis is in model code, so I probably need to removeSecurityProxy()05:33
StevenKWhich makes me sad.05:33
* StevenK grumbles05:49
StevenKIBugBranchSet.getBranchesWithVisibleBugs iterates over a collection of branches it is passed, and doesn't deal with unauthorized errors05:50
StevenKlifeless: Can haz review?06:14
lifelessif you give me a url06:22
lifelessStevenK: I see it06:23
lifelessuhm06:23
StevenKlifeless: Um?06:23
lifelessuhm06:25
lifelessreviewed; twice :)06:26
lifelessI have to go cook v. soon but I can discuss later, or tomorrow06:26
StevenKlifeless: Public branches can become private -- we use this in LP occasionally06:27
lifelessadmin only functionality06:27
StevenKRight06:27
lifelesswith this change as it stands, I can make anyone's branch private06:28
StevenKI will discuss it with Curtis tomorrow06:28
lifelessand without a privacy policy, they can't even undo that IIRC06:28
lifelessI've commented in the bug06:31
lifelessyou're going to love the next review :P06:43
StevenKFind someone else? Like Henning? :-)06:44
lifelesssure :)06:44
lifelessI've deleted the guts of python-oops, moved it to python-oops-datedir-repo, and added a new new core :)06:44
StevenKdatedir-repo?06:45
StevenKWhy?06:45
lifelessbecause thats what the code really is all about06:45
lifelessthe structure we need is getting clearer the more I pull things apart06:45
lifelessthe lp oops system currently uses an oops repository based around directory named by the date06:46
lifelessanyhow - for whomever feels like it - https://code.launchpad.net/~lifeless/python-oops/extraction/+merge/71510 +248 - 84706:49
stublifeless: not sure if it isn't core. Can you imagine an installation that doesn't use the directory storage? I thought it would be required as a backup for when more advanced data stores fail.06:51
stublifeless: I'm confused in the first lines of the readme - factory = Config(). Is it a misnamed method or a misnamed variable?06:53
stubI'm used to factories having __call__ methods rather than create, but I suspect that is just personal style. I guess create is clearer as the factory needs to be configured before use.06:55
stubNot really a factory is it with .publish - more an oops_handler06:57
stublifeless: The report is created by the oops_handler. Any reason to prefer oops_handler.publish(report) over report.publish() ?06:58
lifelessstub: reports are just dicts07:03
lifelessstub: see the README in the lp:python-oops07:03
lifelessstub: thats deliberate for interop07:03
lifelessstub: yes, I can imagine an install that doesn't use the directory storage07:03
lifelessstub: e.g. local mq on the box, let that take care of downtime handling07:04
lifelessstub: or even queue in process: by the time you can restart the process, you've gotten network back :)07:04
stubI was wondering if the core library would use it as a fallback for exceptions happening in the pluggable storage.07:05
lifelessstub: I think its best not to, so that the core really is lean - e.g. for inclusion on the Ubuntu CD07:05
lifelessstub: where they'd want to use the apport *style* of disk store (one crash per program per user stored at max)07:06
stubSo exception handler would be logging.log.exception('Unable to store OOPS')07:06
lifelessstub: perhaps; I think there is room for discussion around that. I can well imagine getting bug reports either way.07:07
lifelessstub: for now, my focus is on a reasonable structure for the project(s), and acheiving enough extraction that gpgverify can import and use the library to do oops reporting07:07
lifelessunblocking the SOA project07:07
lifelessstub: if that makes sense07:08
lifelessstub: another way to do fallbacks would be a publisher clients can use that: looks for an id, if not present then log via logging.error that something is wrong07:09
daniloslifeless, hi, what's the status of our collided changes (re 728220): I could confirm OOPSes produced tonight have the data properly sanitized, so I just marked the bug qa-ok07:09
lifelessstub: I don't think there is a single right policy for all users07:09
stubSure. I do think the OOPS system should never hard fail, so will need some sort of global exception handler and ability to emit meeps when your publication messes up or your dict isn't serializable.07:09
lifelessdanilos: I resolved it all07:09
daniloslifeless, excellent, thanks07:10
lifelessstub: agree on never hard failing; want to think more about what/how to do for that - at the moment we do hard fail if things blow up, so its not a regression in any sense07:10
lifelessdanilos: I moved it into the *make* rather than the *write*07:10
stublifeless: We currently put that burden on the call sites in Launchpad.07:11
lifelessstub: overnight scan-branches blew up, its oops writer failed (directory permissions), so it propogated an exception to the root :)07:11
daniloslifeless, I assume make happens before the write, which is even better07:11
stub(appservers get it for free with publication, and scripts don't bother and would just explode on disk full)07:11
lifelessstub: yeah07:11
lifelessstub: so there is room for us to think about an interface which will let scripts to better and not burden appservers.07:12
lifelessdanilos: yes, exactly.07:12
lifelessdanilos: you can poke at my merge - rev 13684 - if you're interested.07:13
stubYup. try: [code calling non-core] except Exception: log.exception('OOPception') would be fine, assuming all the logging system callbacks are also bulletproof :)07:14
daniloslifeless, thanks07:17
lifelessstub: perhaps, though for an appserver that would double-log07:24
lifelessstub: so I think this needs a bit more consideraiton07:25
stubWhen did we start naming_modules_with_underscore?07:30
lifelessstub: well, its not lp core, so its more pep8 than anything else07:34
lifelesswhich says 'when it aids clarity'07:34
adeuringgood morning07:35
lifelessstub: so was that by way of review or just discussion ?07:56
stublifeless: r=stub with comments08:10
lifelessstub: thanks!08:11
StevenKlifeless: O hai -- you remember the denorm branch you looked at on Friday? That should be fine to just lp-land, right?08:25
lifelessStevenK: hahahahahahahahahaahahah08:29
StevenKstub: O hai. So you think we should add indexes for BPPH.BPN and SPPH.SPN before we do the population?08:36
nigelblifeless: that was brilliant reply.08:39
nigelbNeed to have a quotes db.08:39
nigelbone of these days I'll host it myself.08:39
StevenKnigelb: SILENCE08:39
daniloshenninge, hi, will you be reviewing today? if so, I've got a branch up at https://code.launchpad.net/~danilo/launchpad/bug-690568/+merge/71394 ;)08:54
=== henninge changed the topic of #launchpad-dev to: Das Thema für #launchpad-dev ist: https://dev.launchpad.net/ | On call reviewer: henninge | Critical bugs: 238 - 0:[#######=]:256
henningedanilos: I will. ;-)08:55
henningedanilos: can you fix the lint, please?08:55
daniloshenninge, sure, I didn't want it to pollute the diff08:56
henningedanilos: that's something we'll have to live with if we ever want to get any transitions done.08:56
daniloshenninge, I usually do it post-review though08:56
henningeoh, that is a good idea, too.08:57
henningedanilos: cool08:57
StevenKhenninge: O hai, are you free?09:03
henningeStevenK: not right now but feel free to queue ;-)09:04
StevenKhenninge: https://code.launchpad.net/~stevenk/launchpad/use-shutdown-ec2/+merge/71522 when you have a tick. Nice small one.09:04
stubStevenK: If you don't have an index in place, the population will go really slow (it will take ages to calculate WHERE spn IS NULL)09:07
StevenKstub: Right. I'm doing development of this in a pipe, I will shift a pipe into the middle for indinces09:08
henningedanilos: r=me09:12
henningeStevenK: Looking now09:12
daniloshenninge, thanks09:12
StevenKhenninge: Thanks!09:12
henningeStevenK: did you change from shutdown -h to shutdown -P on purpose?09:15
henningesounds better to me , just wondering if there may have been a reason not to use -P before.09:15
StevenKhenninge: Since the other shutdown call used -P09:15
henningeStevenK: Ah! (that's not in the diff obviously)09:16
henningeStevenK: you mention a bug report but there is no bug linked09:17
StevenKhenninge: No, but the bug is mentioned in the code I removed09:18
henningeduh09:18
henningeStevenK: I assume you have already tried this out?09:22
StevenKI have not09:22
StevenKhenninge: It was going to be tested with the landing09:23
henningeah, of course ;-)09:23
henningeStevenK: r=me09:23
StevenKhenninge: Thanks!09:23
wgrantgmb: aaaaa09:48
wgrantgmb: Not sure that's a good one to pick.09:48
gmbwgrant: Any reason other than "That bug will eat your face and you will die?"09:49
wgrantgiven it's a) difficult, b) DB changes, c) we09:49
wgrant.. might delete nominations later this year09:49
wgrantd) difficult09:49
wgrante) face eating09:49
nigelbf) kitten will die?09:49
stubnom nom nom09:50
wgrantThere are pretty unfortunate complexities around SourcePackage tasks that this would eliminate.09:50
wgrantBut...09:50
wgrantUbuntu and lifeless want a rework of how series tasks work.09:50
gmbAh. Hmm.09:50
wgrantSo I'm not sure it's worth putting a huge amount of time into fixing my second oldest Launchpad bug.09:51
nigelbwgrant: I have up trying to read Zope 3. Much eeasier to read LP code sadly.09:51
gmbwgrant: Is there any kind of concrete schedule for said reworking? I'm more than happy to punt this if so, but I want it off the Critical list because I keep seeing it and fooling myself into thinking I can fix it.09:51
wgrantAt least not until we know what's happening.09:51
nigelb*gave09:51
wgrantgmb: You could just fix the OOPS.09:51
gmbwgrant: Ah, good idea.09:52
wgrantIt only affects a few bugs from before 2007.09:52
henningeDo changes to security.cfg need to be submitted to db-devel?09:56
lifelesshenninge: no09:58
henningelifeless: thanks09:58
lifelessdev.launchpad.net/PolicyAndProcess/DatabaseSchemaChangeProcess 9r something like that09:58
wgranthenninge: New permissions are applied before every nodowntime rollout, but revocations are only performed during downtime.09:59
wgrantRegardless, should be landed on devel.09:59
henningeok09:59
lifelessgmb: which bug?10:00
gmblifeless: https://bugs.launchpad.net/launchpad/+bug/11019510:04
_mup_Bug #110195: Nominating a bug for a distro release affects all package tasks for that distro <lp-bugs> <motu> <oops> <Launchpad itself:In Progress by gmb> < https://launchpad.net/bugs/110195 >10:04
lifelessgmb: I would fix it by making the thing that fails fail cleanly, vs oopsing10:07
lifelessgmb: that will cover the oops bit, because its not something we need to investigate each time it happens10:07
nigelbgrr. posting to +check-links with extra information creates 500 error :|10:08
lifelessgmb: you could fix it fully if you want, but as wgrant says, we probably stand to gain a lot by massively simplifying things - no non-series tasks, and nomination a task status10:10
gmblifeless: Yes, I agree; I'll make the OOPS not an OOPS and leave it at that for now.10:13
nigelbguys, if I have a bug number, how do I lookup the validity of the bug?10:16
nigelberr, inside LP that is.10:16
nigelbIs there something similar to lp.code.interfaces.branchlookup.IBranchLookup?10:18
nigelbI wonder if I bit more than I can chew.10:18
bigjoolsIBugSet.getByNumbers()10:19
bigjoolsor just .get()10:19
nigelbbigjools: where does it live?10:20
jtvhenninge: time to review?  https://code.launchpad.net/~jtv/launchpad/pre-824499/+merge/7153610:20
bigjoolslp/bugs/ ? :)10:20
bigjoolsyou need to install bzr grep10:20
* nigelb installs10:20
nigelbhm, don't see anything like that.10:21
bigjoolsbzr-grep I think is the package10:21
nigelbah, maverick+10:22
nigelbI'm on lucid.10:22
bigjoolstsk :)10:22
nigelblp's deployed on lucid! So its a technically valid excuse :P10:22
bigjoolslook in lib/lp/bugs/interfaces/bug.py10:23
bigjoolsthere is a pattern to our files y'know :)10:23
nigelbheh, yeah. I should have guessed :)10:23
bigjoolsthere's a PPA with bzr-grep in it somewhere10:23
bigjoolsit's a cracking plugin10:24
wgrantbzr branch lp:bzr-grep ~/.bazaar/plugins/grep10:24
bigjoolsI wonder if we can give nigelb the PyCharm licence key10:25
bigjoolsmaybe not, he doesn't have commit access10:25
nigelbTo LP?10:25
bigjoolsyeah10:25
nigelbI thought that's only for Canonical employees?10:25
bigjoolsif you commit to other OSS projects you could get your own licence10:25
bigjoolsindeed10:26
wgrantI've given up on PyCharm for now.10:26
bigjoolswhy?10:26
StevenKwgrant: Oh?10:26
nigelbI like vim tbh.10:26
bigjoolsI have the vim plugin for PyCharm10:26
bigjoolsit's almost like using vim except you get something from the 21st century10:27
nigelbheh10:27
bigjoolsbut seriously, it's kinda nice having a decent IDE10:27
nigelbhow does the Interface thing work?10:29
nigelbstandard OOP?10:29
bigjoolse_context10:30
nigelbLike, where do I see the function defitions for fuctions in Ibug10:30
lifelesss/interfaces/model/10:31
nigelbOh.10:31
bigjoolswell he can't call stuff that's not in the interface10:31
bigjoolsthe interface is the best place to look10:31
bigjoolsit also has docstrings10:31
bigjoolsnigelb: look in the file I pasted earlier and search down for IBugSet10:32
bigjoolsclass IBugSet10:32
nigelbYeah, I was looking at that.10:32
henningejtv: looking10:33
henningejtv: why does "rsyncBackupDists" need a distribution parameter? I see no change in the method body.10:34
jtvhenninge: it becomes necessary for accessing configs later, in the follow-up branch.10:34
henningeok10:34
jtv(self.configs becomes indexed by distro)10:35
henningejtv: ah yes, I see there are more lilke that!10:36
nigelbbigjools: (maybe a stupid question), does IbugSet.get() correctly take care of hiding private bugs from the person requesting?10:36
nigelb(the docstrings only tell baout bug not found. Not about bug found, but you can't see it situation)10:37
bigjoolsnigelb: no idea, I've never done any bugs work10:37
* bigjools would hope that the security adapter does that10:37
nigelb*whee* grep time :)10:37
bigjoolscheck in the security.py10:37
nigelbNothing about IBugSet in there10:38
stubSo we don't want to land code changes on db-devel, yet there are some db changes that require code updates. So the best way of handling this is wranging two branches? One launchpad/stable branch with the code changes, and merge this to a launchpad/db-devel branch with the schema change, and run tests for both branches and land separately?10:39
stub(yes, pipes should make this workable)10:39
wgrantstub: DB changes aren't allowed to require code updates.10:39
jtvstub: I think we _have_ to make the code and db changes work independently.10:39
wgrantstub: Or if they do, it must already be landed on devel and deployed.10:39
stubI'm adding a NOT NULL constraint. That requires code to make sure it is never NULL.10:39
jtvNot sure how renaming columns works.10:39
wgrantIt doesn't.10:40
stubwgrant: Yes. I'm thinking about how to best wrangle this.10:40
wgrantWell, you could do it with triggers.10:40
wgrantSame as renaming tables.10:40
wgrantstub: What needs wranglement?10:40
stubI need to land code changes so I can land db changes and keep the test suite passing.10:40
stubI'm adding a NOT NULL constraint. Some tests fail. I need to fix these tests on launchpad/devel.10:41
wgrantThe code needs to cope with both old and new schemas.10:41
wgrantThe code lands on devel. Once it's merged to db-devel, you can land the schema change.10:41
stubYes.10:41
wgrantThe code change is then deployed.10:41
wgrantfastdowntime happens later.10:41
wgrantThen it's all done.10:41
stubI'm just wondering if the method of wrangling the branches is most efficient.10:41
stubI need to do coordinated landing of changes to launchpad/devel and launchpad/db-devel.10:42
henningejtv: that's an almost mechanical change ... ;-) r=me10:42
wgrantstub: Why can't you make the devel changes first?10:42
stubI am!10:42
wgrantI mean, at an arbitrary earlier point.10:42
stubYes, I sketched out a method of coordinating this.10:42
jtvhenninge: yes, I wanted to keep that separate from the less-mechanical changes.  Thanks!10:43
stubMy code changes are defined as 'what code changes are needed to allow this database patch to land'10:43
lifelessstub: so you need to sequence it10:44
lifelessstub: a) land code that makes sure its never NULL10:44
lifelesslet that get deployed.10:44
lifelessthen land the schema constraint10:44
stubYes. As I said before, I'm wondering on the best way of wrangling the branches.10:44
lifelessthen deploy that, and merge the db side of it to devel after the deploy10:44
stubI'm thinking a pipe branch, first pipe from launchpad/stable containing code changes.10:45
stubSecond pipe from launchpad/db-devel containing the db-changes10:45
lifelessyes, that should work fine10:45
stubRun tests for both10:45
lifelessI'd probably just do separate branhces10:45
lifelessbut thats me :P10:45
wgrantlifeless: Speaking of you, when are we likely to lose you?10:46
wgrantDue to the impending lifeless-ng.10:46
lifelesswgrant: 38w1d10:46
wgrantEep.10:47
stubThe important things seem to be code branch from stable (as this will be merged into the db changes branch, so we don't want devel leaking in there), and to run the tests for code changes (don't break trunk) and code changes + db patch (the changes actually let me land the patch)10:47
lifelesswgrant: normal births occur from 37w0d to 42w0d10:47
wgrantI know that much :)10:47
lifelessstub: landing separately will naturally run the changes separately :)10:47
stubyes10:47
lifelesswgrant: I don't know what they teach at aussie schools ;P10:48
wgrantHah.10:48
nigelblifeless-ng?10:48
stubin this case, knowing what code changes are necessary requires running the test suite with the dbpatch10:48
nigelbbugid is er what type of variable?10:48
lifelessstub: I would be lazy; make the db branch, submit to ec2, if it lands \o/ if it doesn't, the error list will tell you what you need to change :)10:49
stublifeless: So skew in LaunchpadDatabaseRevision might actually be a good thing, as it gives us a little transition state during the period when patches are deployed on some databases and not others. Or it might just be a footgun.10:50
lifelessstub: depends on what you mean by skew10:51
lifelessstub: with transactions we have skew between slaves10:51
lifelessstub: but never between the version on a slave, and the schema on the slave.10:51
lifelessstub: what I meant by skew was a schema that doesn't match LDR [and not just an index existing]10:52
lifeless! http://mp3fs.sourceforge.net/10:53
stubNeed to think about it anyway.10:53
nigelbI have an oops from my local instance, how I see the full OOPS?10:54
nigelb(its an XHR call, so I can't actually see the page)10:54
stubThat FUSE idea is an interesting solution.10:54
lifelessnigelb: /var/tmp/lperr/*/*10:56
nigelblifeless: thanks!10:56
nigelbI may have run into a security problem. Gotta try and confirm.10:57
lifelessnigelb: what are you hacking up ?10:57
nigelblifeless: making the linkage of bugs similar to branches, greyed out if the bug doesn't exist10:58
lifelessnigelb: uhm10:59
lifelessnigelb: do you mean linkification ?10:59
nigelbyeah10:59
nigelbbug 4595 actually I think10:59
lifelessso, a few tips10:59
_mup_Bug #4595: Don't auto-linkify non-existent bug reports <easy> <lp-web> <tales> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/4595 >10:59
lifelesshah, whoever claimed easy is probably lying10:59
nigelbI agree11:00
nigelbI touched javascript and some python, not easy, but fun :)11:00
nigelbI've got it down to harvesting, posting the bug numbers via xhr call, returning invalid bug numbers.11:00
lifelessare you  doing it via a webservice call post lost ?11:01
nigelbI'm doing it via an xhr call to +check-links11:01
nigelbI almost got it  I think :)11:03
nigelb(except for a possible security concern)11:03
nigelb\o/ It works11:04
stubBah. Need separate branches or db-devel ends up in the code changes. Duh.11:06
nigelblifeless: It works \o/ Sadly, the I run into the security issue I feared.11:08
jtvhenninge: here's the follow-up to my earlier branch, if you still have time: https://code.launchpad.net/~jtv/launchpad/bug-824499/+merge/7154411:08
henningejtv: time? who owns time?11:18
jtvhenninge: Not saying you have to own it.  You might be holding someone else's, for instance.11:19
henningejtv: I won't be able to start for another hour or so, I am sorry.11:34
* henninge is off to lunch11:34
=== henninge is now known as henninge-lunch
jtvhenninge-lunch: OK — I may be gone when you get back.11:38
nigelbwho has worked on bugs that I can take help of?11:46
lifelessnigelb: most folk11:53
nigelblifeless: oh.11:55
nigelbI just need some help trying to make sure I show only bugs that are visible to the current user, not just valid.11:55
nigelbIBugSet.get() only checks if I have e permission.11:56
lifelessso, I would use search11:56
lifelessnot BugSet.get11:56
lifelessbecause you don't want to check every bug one sql line at a time11:57
lifelessthats pretty much a guaranteed timeout right there11:57
lifelessyou can see how to do a narrow search by id if you poke around the bugbranch link code11:57
jelmerwow, that +localpackagediff page is awesome11:57
bigjoolsBugSet.getByNumbers() is what I recommended earlier11:58
bigjoolsjelmer: :D11:58
nigelblifeless: ouch, branches is done that way.11:58
nigelbor so I think.11:58
nigelbAlso, bug branch link code?11:59
nigelbI don't know what that is to look for it12:00
lifelessbigjools: that will perform horribly12:00
lifelessnigelb: lib/lp/code/model/branchcollection.py line 408 has some related code12:01
lifelessthat might be enough to get you rolling12:01
nigelb*looks*12:02
lifelessbigjools: (the lookup would be fast, but every private bug would trigger separate just-in-time subscription lookups)12:05
bigjoolsI was only asked about lookup12:05
lifelessbigjools: I know12:05
* bigjools heads to lunch for real12:05
lifelessadeuring: grahhh regex?!12:07
lifelessadeuring: just use iso860112:07
adeuringlifeless: can you explain a bit?12:07
lifelessbin/py -m pydoc 'iso8601.parse_date'12:08
lifelessadeuring: rather than using a regex, use pre-existing code.12:08
lifelessadeuring: if someone messes with a memo, they can get a UDF and we don't have to care12:08
adeuringlifeless: a, thanks. I did not know about this module12:09
lifelessits verra handy :)12:09
adeuringyeah12:09
lifelessI recently added it to our deps, as part of the oops extraction I deleted a very similar regex.12:10
jtvI thought I could run the Initialize DistroSeries jobs with "./cronscripts/process-job-source.py -vv initializedistroseries" but that fails with "No section key named module."  Was a change in process-job-source configuration not applied to this config, or am I running the wrong thing?12:12
=== benji changed the topic of #launchpad-dev to: Das Thema für #launchpad-dev ist: https://dev.launchpad.net/ | On call reviewer: henninge, benji | Critical bugs: 238 - 0:[#######=]:256
nigelblifeless: I'm confused. I don't understand how this works.12:13
lifelessyou crate a bugtasksearch params for the user, no status mask, and rather thank saying linked_branches=... you say bug=any(*ids)12:15
lifelessthen searchIds which will give you the actual visible ids12:15
lifelessand you're done12:15
nigelbwhere *ids is my list of ids?12:16
lifelessyes12:16
nigelbok, more clear.12:16
nigelbOne more question :)12:16
nigelbHow do I get current user?12:16
lifelessdepends12:17
lifeless:P12:17
nigelboh oh12:18
lifelessif this is a web api, through partial function application12:18
lifelesshave a look at the interfaces/* files and look for user parameters with binding decorators12:18
nigelblazr.restful.declarations.REQUEST_USER?12:19
lifelesssomething like12:20
lifelessits 002012:20
lifelessso I am going to halt()12:20
nigelbwait, what?12:20
nigelbI didn't understand that :(12:21
benjinigelb: here's an example: lib/lp/registry/interfaces/person.py, line 172412:27
nigelbbenji: Ah. I kept seeing that in my grep, didn't realize that's exactly what I wwas looking for.12:27
nigelbThanks!12:27
benjino problem12:28
adeuringlifeless: fancy a review of a new version of my MP?12:34
=== henninge-lunch is now known as henninge
adeuringhenninge: could you have a look at this mp: https://code.launchpad.net/~adeuring/launchpad/bug-739052-5/+merge/71548 ?12:54
henningeadeuring: wow, that's long12:55
henningeadeuring: and it has text conflicts12:55
adeuringouch.. should be 300 or 400 lines. let me check...12:55
henningeadeuring: 104712:55
henningebenji: Hi! Are you working on a review from the queue?12:56
benjihenninge: not at the moment, I haven't quite spun up my reviews yet12:56
henningebenji: ok, cool12:57
deryckMorning, all.13:03
adeuringmorning deryck13:11
adeuringhenninge: could have a look again: https://code.launchpad.net/~adeuring/launchpad/bug-739052-5/+merge/71548 (201 lines)13:16
=== mpt_ is now known as mpt
deryckabentley, can you hear us?13:31
abentleyderyck: no13:31
deryckabentley, ok, we don't hear you either.13:31
deryckabentley, we could do skype if skype works for you.13:32
abentleyderyck: let's try that.13:32
deryckabentley, ok, adeuring is switching machines and I'll call everyone.13:32
abentleyderyck: restarting.13:34
abentleyderyck: actually, I'll use skype on my phone...13:34
deryckabentley, ok, that works.13:34
deryckabentley, I have your number in my contacts it seems.13:34
deryckadeuring, you ready now?13:36
adeuringderyck: skype is starting...13:36
abentleyderyck: I have skype on my phone.13:36
adeuringderyck: I am online on  kype13:36
deryckabentley, ah, ok.  gotchas.13:36
abentleyderyck: try again please.13:38
deryckabentley, ringing....13:38
abentleyderyck: I keep hitting the answer button, but it doesn't answer even though it shows it knows I've hit the button.13:39
deryckhmmm13:39
deryckand now we lost adeuring.13:39
adeuringyeah... connection dropped... no idea why13:39
deryckabentley, shall I call your land line?13:39
deryckabentley, or whatever number I have listed as "real phone" :)13:40
abentleyderyck: no, phone is haywire.13:40
deryckabentley, ah, ok.13:40
abentleyafter exiting Skype, it's still ringing.13:40
abentleyderyck: rebooting.13:41
abentleyderyck: back13:43
deryckabentley, ok, dialing you in....13:43
nigelbHi, could someone help with BugTaskSearchParams?13:46
nigelbCan I give it a list of bugs?13:46
nigelbOr rather, how do I give it a list of bugs.13:46
benjinigelb: I've never used BugTaskSearchParams, but lib/lp/bugs/browser/bug.py, line 558 looks exemplary13:57
nigelbbenji: Interesting. That's what I first tried and ran into trouble.13:59
nigelbLet me try it again so that I can capture the error message13:59
nigelbbenji: yup, getting hit with "TypeError: any() takes exactly one argument (2 given)"14:09
benjinigelb: it sounds like you're using the builtin "any", not the one imported from canonical.launchpad.searchbuilder14:10
=== henninge changed the topic of #launchpad-dev to: Das Thema für #launchpad-dev ist: https://dev.launchpad.net/ | On call reviewer: benji | Critical bugs: 238 - 0:[#######=]:256
nigelbbenji: Ahhh. Yes. Thanks :)14:10
nigelb(I didn't know there was one to import :p)14:11
henningeadeuring: r=me14:11
adeuringhenninge: thanks!14:11
nigelbIs there a way I can use pdb for debugging launchpad stuff?14:28
benjinigelb: re. pdb: yes; the easiest thing is to put "import pdb;pdb.set_trace() what is the context?14:31
benjioops14:31
benjinigelb: re. pdb: yes; the easiest thing is to put "import pdb;pdb.set_trace()" in your code.  What is the context?14:31
nigelbbenji: I tried that. Didn't work.  its a webservice call.14:32
benjinigelb: define "Didn't work."14:32
nigelbwell, I didn't get dropped to a ppb shell14:32
nigelb*pdb14:32
nigelband the xhr request was stuck waiting for a response14:32
benjinigelb: did the server process have its stdio connected to a terminal?14:34
nigelbbenji: I just use make run14:35
nigelbwhich I'm not sure leaves stdio14:35
benjinigelb: I'm not certain it matters, but try bin/run instead14:35
nigelbbenji: No, not in a pdb shell this time either.14:37
nigelbIs there a better way to debug stuff that call XHR?14:37
benjithat's odd; I don't think I've ever seen that symptom14:38
benjire. better way: generally having a test that excersizes the misbehaving code would be easier (both for pdb-based debugging and otherwise)14:38
nigelbhmm, yes. that should definitely leave me in a shell, yes!14:39
statiknigelb, fwiw I usually use winpdb when debugging any python web services so I don't have to worry about having the server connected to a terminal14:55
nigelbstatik: oh? let me read up on that14:56
statiknigelb, the first code snippet on this page http://winpdb.org/docs/embedded-debugging/ is what you would need.14:58
nigelbstatik: thank you! I've been at this almost all-day :)14:58
statikthen you connect from the gui debugger14:58
statiknp, hope it helps.14:59
abentleyderyck: pre-imp call?14:59
deryckabentley, sure.  Just got off a call.  Can I have 10 minutes to get coffee, rest my voice? :)15:00
abentleyderyck: sure.15:00
deryckabentley, I'll ping shortly.15:00
deryckabentley, I'm ready now.  mumble or skype?15:19
abentleymumble15:20
LPCIBotProject devel build #975: FAILURE in 27 min: https://lpci.wedontsleep.org/job/devel/975/15:21
abentleyderyck: https://bugs.launchpad.net/launchpad/+bug/82003915:22
_mup_Bug #820039: process-mail.py fails with a LookupError: unknown encoding: macintosh error <mail> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/820039 >15:22
nigelbstatik: winpdb is simply awesome :)15:29
bigjoolsnigelb: or pycharm "just works" for all this debugging :)15:34
nigelbbigjools: hah, stop tempting me ;)15:35
bigjoolsnigelb: it has a free 1 month trial15:36
bigjoolsoh sorry that's not stopping tempting you15:36
nigelbhehe15:36
bigjoolsnigelb: my productivity went up tenfold when I started using pycharm15:36
bigjoolsoh sorry that's not stopping tempting you15:36
nigelbIs there a possibility that I can get commit access to LP without being employed by Canonical?15:37
bigjoolsnigelb: none at all, sorry15:37
bigjoolsfor various $LEGAL_REASONS15:37
nigelbDarn. I guess I should just wait to see if you guys will hire me :)15:37
bigjoolsheh15:37
bigjoolswe hired the last prolific contributor15:38
jtvhenninge: before I head out… any questions about the review?15:38
nigelbyeah, but beating *that* contributor is probably going to take about 10 years15:38
henningejtv: oh, I assumed you had already gone.15:39
jtvTsk.  :)15:39
henningejtv: I am writing the review right now. All fine.15:39
jtvGreat, thanks15:39
henningejust a few suggestions15:39
jtvEven better.15:39
henningejtv: sent15:47
jtvthanks!15:47
henningejtv: do you know how MatchesStructure works?15:47
jtvYes, but attempts to find it back failed for some reason.15:47
henninge"find it back" ?15:47
henningeoh15:48
henningejtv: it's in testtools.matchers15:48
jtvI thought I'd looked there.15:48
henningejtv: it is missing from __all__ ...15:49
jtvThat'd do it.15:49
jtvI don't see it in help(testtools.matchers).15:49
jtvMeanwhile, the MP hasn't updated yet.  Strange.15:50
jmljtv, henninge: fixed in forthcoming release15:50
jtvGreat, thanks.15:50
henningejml: yes, just checked that ;-)15:50
jmlAlso, http://testtools.readthedocs.org/en/latest/for-test-authors.html is quite complete15:50
henningejml: I am eager for that release, MatchesStructure.byEquality is really missing ... ;)15:51
jmlhenninge: nothing to stop LP from using a snapshot of trunk15:51
henninge I guess ...15:51
* henninge takes a note to look into that tomorrow15:51
jmlbasically, as soon as https://bugs.launchpad.net/testtools/+bug/804127 is fixed and the other critical bug fix lands, I'm going to do a release15:52
_mup_Bug #804127: assertThat(..., verbose=True) sometimes generates unprintable AssertionErrors <unicode> <testtools:In Progress by jml> < https://launchpad.net/bugs/804127 >15:52
jtvbac: if you're still up for it, I resubmitted my MP at https://code.launchpad.net/~jtv/launchpad/bug-659769/+merge/7150515:52
bacjtv: i didn't get that far into it.  might be best to ask the ocr15:53
jtvOK15:53
bacjtv: did you figure out how it got messed up?15:53
nigelboh dear. I'm through through a whole bunch of Storm.15:53
jtvThere was a rollback in devel somewhere inbetween.15:53
bacjtv: ah15:53
jtvhenninge: not a trace of your review, in email or MP.  Are you sure it went in?15:54
henningehm15:55
henningeargh15:55
henninge"bad signature"15:55
henningeI'll paste15:55
jtvGrr15:55
henningejtv: pasted15:56
jtvloading…15:56
jtvGot it!15:57
jtvThanks.15:57
henningejtv: good night!15:59
jtvnn15:59
nigelbbigjools: heh, I respectfully surrender before Launchpad. I think after 9 hours I'm going crazy debugging ;)16:07
jtvMatchesStructure.byEquality, MatchesStructure.from_example.  The great thing about conventions is that there are so many to choose from!16:10
jmljtv: please file a bug. we're pretty darn responsive16:13
jtvLooks like it's already been fixed.16:13
jtvIronically, it was the documentation that led me down the wrong path there.16:14
bigjoolsnigelb: heh, good luck tomorrow16:14
nigelbbigjools: I just realized wallyworld_ offered to mentor me for this. I can now bug him :P16:14
jtvjml: MatchesStructure.fromExample does work.16:14
jmlFixed.16:15
jtvCool.16:15
bigjoolsnigelb: do it16:15
nigelbbigjools: I'm writing out an email ;)16:16
nigelbloggerhead having slight issues? Throwing up errors once or twice16:18
=== deryck is now known as deryck[lunch]
=== beuno is now known as beuno-lunch
=== deryck[lunch] is now known as deryck
=== beuno-lunch is now known as beuno
sinzuijcsackett, do you have time to mumble? I need help http://pastebin.ubuntu.com/666686/18:13
jcsackettsinzui: i can mumble now.18:39
abentleybenji: could you please review https://code.launchpad.net/~abentley/launchpad/macintosh-encoding/+merge/71599 ?19:25
benjiabentley: sure, I can right now19:26
benjiabentley: looks good, I thought of one teeny thing you might want to do in addition19:29
abentleybenji: sure.19:29
LPCIBotProject db-devel build #811: FAILURE in 6 hr 9 min: https://lpci.wedontsleep.org/job/db-devel/811/19:36
=== matsubara is now known as matsubara-afk
lifelessmorning20:15
nigelblifeless! Morning!20:16
sinzuilifeless, do you have time what happens when a bug is made private http://pastebin.ubuntu.com/666686/20:28
lifelesstime <missing verb> what. .. ?20:30
elmolifeless: s/do/if/ s/time/time:/20:31
sinzuilifeless, do you have time to discuss what happens when a bug is made private http://pastebin.ubuntu.com/666686/20:31
lifelesssinzui: certainly! voice or irc ?20:31
* elmo guess wrong ;)20:31
sinzuiskype?20:31
sinzuioh, wrong bug in paste too http://pastebin.ubuntu.com/666767/20:32
lifelesssigning in now20:32
lifelesselmo: nice try though :)20:32
=== benji changed the topic of #launchpad-dev to: Das Thema für #launchpad-dev ist: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 238 - 0:[#######=]:256
lifelesssinzui: bug 40527721:18
_mup_Bug #405277: Private teams are not able to join other teams (public or private) <disclosure> <lp-registry> <Launchpad itself:Triaged> < https://launchpad.net/bugs/405277 >21:18
mtaylorhttplib2.SSLHandshakeError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed21:38
mtaylorEEK?21:38
mtaylorhttp://paste.openstack.org/show/2175/ <--- this works on my laptop - but not on another server21:39
mtaylorlifeless: ^^ ?21:41
mtaylorlifeless: (also, good morning!)21:41
lifelessmtaylor: hi22:01
lifelessmtaylor: oneiric ?22:02
mtaylorlifeless: natty on the server (where it doesn't work) maverick on my laptop22:04
lifelessgot ca certs installed ?22:05
mtayloruhm.22:05
mtaylorlifeless: shouldn't that just be something that's there?22:06
lifelessmtaylor: p'rhaps22:06
jeblairii  ca-certificates                      20090814+nmu2                            Common CA certificates22:06
mtaylorlifeless: what jeblair said22:08
lifelessok, thats current in natty22:09
lifelessdo you have the curl ssl update ?22:09
lifeless(libcurl3, python-pycurl)22:10
lifelessand are you behind a ssl mitming firewall ?22:10
mtaylorlifeless: it shouldn't be22:10
mtaylorpython-pycurl needs installed22:10
lifeless(don't)22:10
lifelessthat excludes another bug22:11
lifelessuhm22:11
lifeless'its not LP' :P22:11
mtayloroh. crud. should uninstall?22:11
mtaylor:)22:11
lifelessmaverick -> natty was a bump launchpadlib API change22:11
lifelessits possible thats the cause22:11
lifelessbumpy22:11
=== lifeless changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 238 - 0:[#######=]:256
mtaylorlifeless: well, I mean - I've used launchpadlib on this box before22:12
lifelessmtaylor: sure22:19
lifelessmtaylor: I've no particular insight; there are only two servers you can be talking to (the dual apache SSL unwrappers)22:20
lifelessmtaylor: if either of those was causing browsers to fail validation we'd be innundated22:20
lifelessmtaylor: so I strongly suspect something local to that box/network.22:20
mtaylorlifeless: ok22:33
lifelessjelmer: bug 826082 - do you want to roll your function combination back, or fix it up ?23:14
_mup_Bug #826082: BadUrl from safe_open opening a branch <oops> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/826082 >23:14
StevenKlifeless: O hai. Can I get your opinion on https://code.launchpad.net/~stevenk/launchpad/testfix-ftpmaster/+merge/71619 ? I'm not really across testtools matching things.23:32
lifelesswhat about it ?23:33
lifelessthe testtools spelling changed between initial landing and release23:33
StevenKAh, right23:34
jelmerlifeless: Thanks for the analysis. I'll fix it up.23:35
lifelessjelmer: cool, thanks.23:40
lifelessjelmer: and it was all jam :)23:40

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