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

sinzuiwgrant: mumble?00:01
lifelessit is used to generate a new proposal with the same metadata00:22
lifelessbah00:22
lifelesscjohnston: ^ very-late-reply :P00:22
wgranterm.00:26
wgrantPQM is broken.00:26
wgrantstar-merge succeeded at Mon May 16 21:21:35 2011 (0:00:33.523987)00:26
wgrant"Exception processing merge: 'str' object has no attribute 'set_revision_history'"00:26
wgrantAnd ever since it has kept trying to merge but said "nothing to do"00:26
lifelesswhhhhhhhe00:30
wgrantYou're it.00:31
lifelesssinzui: hi00:38
lifelesssinzui: are you still running a script that assigns milestones?00:38
lifelesssinzui: if so, can you remove the milestoning from it ?00:38
lifeless(inspired by the change on bug Bug 736011)00:38
_mup_Bug #736011: ProductRelease:+rdf timeout <timeout> <Launchpad itself:In Progress by sinzui> < https://launchpad.net/bugs/736011 >00:38
wgrantlifeless: Do you want to reassign with-without-datetime to ~launchpad-committers, or pull lp:~wgrant/storm/with-without-datetime?00:51
wgrant(my DISTINCT ON changes are in trunk now)00:51
lifelesswgrant: just push a fresh one to either ~launchpad-committers or your own namespace00:52
wgrantk00:52
timrcTrying to setup a Launchpad development environment.  I've been following the instructions at https://dev.launchpad.net/Running, and now when I try to access my instance I get the following? https://pastebin.canonical.com/47513/00:58
mwhudsontimrc: pastebin.ubuntu.com next time? :)00:59
timrcmwhudson, ah sorry force of habit00:59
wgranttimrc: How are you trying to access it?00:59
wgrantIt looks like you're poking the XML-RPC server.01:00
timrcwgrant, the console log shows http://pastebin.ubuntu.com/608736/01:01
timrcperhaps it's a hostname problem..01:01
wgrantNo, that's fine.01:02
wgrantWhich URL are you using?01:02
timrcLocally, http://192.168.1.67:8085/01:03
mwhudsonah01:03
mwhudsonthat won't work01:03
lifelessdon't do that :)01:03
mwhudsonhostname based vhosting woo01:03
timrclol01:03
wgranttimrc: You're running it in a VM, then?01:04
timrcwgrant, Correct...01:05
timrcSo I just need to make launchpad.dev point to the right place?01:05
lifelesshttps://dev.launchpad.net/Running/VirtualMachine01:05
wgrantWhat lifeless said.01:05
wgrantAnd yes.01:05
timrclifeless, wgrant: Thanks.  Looking now01:10
Ursinhalifeless, hello01:12
lifelessUrsinha: tudo bem!01:13
Ursinhahehe01:13
Ursinhalifeless, tudo01:13
Ursinhalifeless, why is bug 667390 still needed for you? did you see how the dashboard puts all fixed bugs in wiki format and in a single row?01:14
_mup_Bug #667390: provide wiki syntax bug links in deployable revision reports for easy copying to the LPS report <qa-tagger:Triaged by ursinha> < https://launchpad.net/bugs/667390 >01:14
lifelessUrsinha: folk deploy off of the report though01:14
Ursinhahm01:15
Ursinhahow bad is it to check the dashboard instead of the report to do the deployment?01:15
lifelesswhats the dashboard url?01:15
lifelessmy browser has forgotten it :(01:16
Ursinhalifeless, http://lpqateam.canonical.com/01:16
lifelessUrsinha: way too little information01:17
Ursinhalifeless, what else do you need?01:17
lifelessUrsinha: I would not be comfortable with myself or others deploying where they cannot see all the revisions being deployed.01:17
lifelessbecause the system isn't perfect, seeing what will be deployed is a key piece of information01:17
lifelessUrsinha: its things like seeing the commit message which has told be of the bugs in determining which bug links are found, for instance.01:17
Ursinharight.01:18
UrsinhaI fixed that bug, btw, but I got your point01:18
lifelessthank you01:18
lifeless(for fixing the bug)01:18
wgrantThat is a very nice page.01:22
Ursinha:)01:23
wgrantUrsinha: Is it easy enough to show the current state of devel/db-devel, so we can see how many revs are not yet in *stable?01:24
Ursinhawgrant, it's doable with not much effort, I believe01:25
LPCIBotProject devel build #722: FAILURE in 5 hr 12 min: https://lpci.wedontsleep.org/job/devel/722/01:47
wgrant+ spph data model is confusing (records exist where they were built, not where they have been copied to)02:01
wgrantI am confuse.02:02
wgrantThe build records exist where they were built.02:02
wgrantThe SPPH is the copy.02:02
lifelessoh, my misunderstanding02:02
lifelessplease correct it02:02
lifelesswhat I intended was to say:02:02
lifeless - the behaviour matches our model02:02
lifeless - our model is confusing02:02
lifeless - its low priority02:02
lifeless - and not specific to oneiric or ppas02:03
=== Ursinha is now known as Ursinha-afk
LPCIBotProject windmill-devel build #88: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/88/02:11
timrclifeless, thanks, https://dev.launchpad.net/Running/RemoteAccess got me through the rest :)02:11
cjohnstonQuestion.. I got a buildbot thing, but am not allowed to access the details page.. Seems odd to me?02:19
wgrantYeah, that's a bit unfortunate.02:20
lifelessnow we don't do production branches thats fixable02:20
wgrantIt was a success, though, so you don't have to worry about it.02:20
lifelessRT it02:20
wgrantlifeless: Last I heard there was also an XSS.02:20
wgrantBut that was nearly two years ago.02:21
lifelessoh freaking yay02:21
cjohnstonwas just curious wgrant since I got it.. heh02:21
* lifeless vents02:21
lifelesscjohnston: we did have good reasons for having it private. Some may still apply.02:21
wgrantcjohnston: Yeah, I had to put up with it for 18 months, I know the annoyance :(02:21
cjohnstonso lifeless, rt saying that I'm getting an email from buildbot but don't have access to view the details?02:21
lifelessno02:22
lifelesswgrant will have a fiddle at some point02:23
lifelessif we can open it, we will02:23
lifelessor we may finish obsoleting it in one of a few ways02:23
cjohnstonok.. so just bug wgrant .. lol kiddin02:23
cjohnstong02:23
cjohnstonDo either of you have time to look at a review comment that was made and maybe explain it to me?02:24
wgrantSure.02:25
cjohnstonhttps://code.launchpad.net/~chrisjohnston/launchpad/197793/+merge/6105302:25
cjohnstonI don't really understand his comments... One is for duplicates and one is for subscribing to the main bug.. And its diferentiating why a user is subscribed afaik02:26
* cjohnston got a job today!02:27
cjohnstonheh02:27
cjohnstonor another job today.. or something02:27
wgrantcjohnston: On line 24 of the diff, it doesn't say what they are a subscriber to.02:28
cjohnstonso on line 24 add to the bug report?02:28
cjohnston"to the bug report"02:28
wgrantThis bug probably already existed, but the target of "is a direct subscriber" is a little more obvious than "is subscribed"02:28
wgrantI'm not sure whether "bug" or "bug report" is better.02:29
wgrantBut yes.02:29
LPCIBotProject windmill-db-devel build #282: STILL FAILING in 1 hr 14 min: https://lpci.wedontsleep.org/job/windmill-db-devel/282/02:29
cjohnstonseems from other bugs that people are wanting bug report since they are "reports of bugs"02:29
cjohnstonand not actual bugs02:29
cjohnstonOk.. pushed that.. Hopefully that will be another one that can be closed02:34
cjohnstonSince I don't seem to have access, can someone fix #7 in https://dev.launchpad.net/PatchSubmission please02:36
StevenKcjohnston: Done.02:40
cjohnstonty StevenK02:40
lifeless\o/02:41
lifelesswgrant: https://code.launchpad.net/~wgrant/launchpad/bug-740584/+merge/61060 - got a minute02:41
wgrantlifeless: Hi.02:58
wgrantWhat about it?02:58
lifeless> They were, 5 years ago. They should all be unpublished and removed from the librarian by now.03:13
lifelessDo they serve any purpose for us then?03:13
lifelesswgrant: do they?03:13
wgrantlifeless: Other than being a historical record, no.03:20
wgrantBut it's a historical record that has traditionally never been erased.03:20
wgrantTo erase it would be a change of policy.03:20
lifelessbut these were never built03:23
lifelessthey were imported from dak, you are saying03:23
wgrantRight.03:23
wgrantBut to erase them would mean erasing part of Ubuntu's publication history.03:23
lifelessso its not a historical record; its a historical fiction03:23
wgrantFor deleting the BPBs implies deleting the BPRs, and therefore their corresponding BPPHs.03:23
lifelessthats true, but we don't know about bpph's before soyuz anyway03:24
lifelesswe know about these by happenstance, more or less.03:24
wgrantSure.03:25
lifelessI think we should get some specifics03:25
lifelessput it in context03:25
lifelessand ask on u-d03:25
lifelessIt seems weird to have a data model axiom and then not enforce it03:25
lifelesswhat do you think?03:26
wgrantIt would be a no-brainer to enforce it if it didn't require unprecedented history erasure.03:26
lifelessWell, I'm framing it as precendented - the dak import already lost it03:27
wgrantThat is true.03:27
wgrantHowever.03:27
wgrantIt is possible that some of these are still published in Dapper.03:27
lifelessin which case its a gpl violation, no ?03:27
wgrantYes.03:28
lifelessso, we should get the details regardless.03:28
wgrantSure.03:28
wgrantI'm looking at cleanup for the easier ones first.03:28
lifelesscool03:28
lifelessshould the mp be made wip / rejected?03:28
lifelesspending the outcome of the data cleanup effort?03:28
wgrantI will WIP it.03:29
LPCIBotProject windmill-devel build #89: STILL FAILING in 1 hr 18 min: https://lpci.wedontsleep.org/job/windmill-devel/89/03:47
lifelessthanks03:47
lifelessbombs away04:01
wgrantOh?04:02
wgrantAh.04:02
lifelessyes indeed04:04
wgrantcjohnston: Still around?04:31
wgrantlifeless: Could you mentor https://code.launchpad.net/~wallyworld/launchpad/poppy-sftp-gpgconf/+merge/60454?04:31
lifelessfound an oversight ;)04:33
LPCIBotProject windmill-db-devel build #283: STILL FAILING in 50 min: https://lpci.wedontsleep.org/job/windmill-db-devel/283/04:38
LPCIBotProject windmill-devel build #90: STILL FAILING in 50 min: https://lpci.wedontsleep.org/job/windmill-devel/90/05:29
StevenKwgrant: O hai, Mr. OCR.05:30
wgrantSo I am.05:31
wgrantI can hardly review that.05:31
wgrantBut OK.05:31
StevenKwgrant: Well, sure. I can prod lifeless until he squirms, if you prefer.05:32
wgrantHe'll be mentoring anyway, so I will do it.05:32
wgrantSome of these DB surgery fix queries are a little long :(05:34
nigelbhello! can someone review https://code.launchpad.net/~nigelbabu/launchpad/645825-ui-example/+merge/61175 for me?06:05
StevenKnigelb: Done.06:07
nigelbStevenK: yay, thanks :)06:07
nigelbStevenK: oh, test changes and additions, hrm, could guide me through those or link me to some place that would guide me through those06:07
StevenKnigelb: So you've changed the template -- there is likely to be a test (or a number of them) that create a view of that template.06:08
nigelbwindmill test?06:09
StevenKI hope not. :-)06:09
nigelbah, the tests I find in lib/lp/registry/tests?06:11
StevenKThat is some of them06:11
StevenKThe view tests are more likely to be in lib/lp/registry/browser/tests06:11
StevenKHowever, I'm having trouble finding a relevant test for ProductSeriesView06:11
StevenKlib/lp/registry/browser/tests/productseries-views.txt that looks promising06:12
nigelbI'm scrolling through that one already06:13
StevenKnigelb: Can you run that test on your branch by 'bin/test -vvt productseries-views.txt' ?06:13
nigelbokay, running06:14
nigelbI'm failure sure I might have to write new ones because I don't find any checking this particular situation.06:14
StevenKI've been thinking about that -- I doubt that the tests don't exist, but the only way to be sure is a fairly large hammer -- bin/test -vvm registry06:16
StevenKEither that, or wgrant or lifeless could offer suggestions?06:16
nigelbI'm running the productseries-views.txt one, I'll wait for more suggestions to fix it.06:17
nigelbaha "Ran 2 tests with 0 failures and 0 errors in 13.684 seconds."06:18
wgrantStevenK: Reviewed.06:18
* StevenK watches for 'Needs Fixing'06:19
LPCIBotProject windmill-devel build #91: STILL FAILING in 50 min: https://lpci.wedontsleep.org/job/windmill-devel/91/06:19
StevenKwgrant: No, but both the packagecopier and the overrides want Archive06:20
StevenKwgrant: And since we're using UbuntuOverridePolicy(), a component will always be returned.06:23
=== almaisan-away is now known as al-maisan
nigelbStevenK: Now that those 2 ran successfully, but may not be related to the code I touched, should I be trying to figure out how to write new tests?06:24
wgrantStevenK: We are using UbuntuOverridePolicy at the moment.06:24
wgrantStevenK: Nothing in the interface says a policy has to return a component.06:24
wgrantIndeed, that doesn't make sense and is already violated by FromExistingOverridesPolicy06:24
wgrantStevenK: I evisage that primary archives will use a chain of UnknownComponentOverridePolicy and FromExistingDestinationOverridesPolicy, while PPAs might use MainOnlyOverridePolicy and FromSourceOverridesPolicy, and copy archives might use FromSourceOverridesPolicy and FromExistingPrimaryOverridesPolicy06:26
wgrantEr, last case is the wrong way around. FromExistingPrimaryOverridesPolicy and FromSourceOverridesPolicy06:27
wgrantStevenK: Do you see what I'm aiming at here?06:32
StevenKwgrant: I do06:33
StevenKThat my work is a jumping off point, and not the end result.06:33
wgrantThat's correct. This is a complex issue which you are taking nice initial bites out of.06:34
StevenKwgrant: http://pastebin.ubuntu.com/608827/ is the uglyness that results from moving the circular import you commented on.06:34
wgrantAnd it has to be somewhat complete before we can turn it on.06:34
wgrantBecause copies are used for security updates and moving from -proposed to -updates.06:34
wgrant  File "/home/steven/launchpad/lp-branches/copies-use-overrides/lib/lp/soyuz/model/queue.py", line 97, in <module>06:35
wgrant    from lp.soyuz.scripts.packagecopier import update_files_privacy06:35
wgrantCan you move that import into whatever uses it?06:35
wgrantIt's in a condemned code path anyway.06:36
StevenKYes, thank $DEITY.06:36
StevenKwgrant: Round two: http://pastebin.ubuntu.com/608831/06:38
wgrant  File "/home/steven/launchpad/lp-branches/copies-use-overrides/lib/lp/soyuz/model/archive.py", line 198, in <module>06:39
wgrant    from lp.soyuz.scripts.packagecopier import do_copy06:39
wgrantMove it into syncSource(s).06:39
wgrantHm.06:39
wgrantIn fact there's a single underlying method you can put it into.06:39
wgrantI forget what it's called.06:39
wgrant_copySource or something.06:39
wgrant_copySources06:40
StevenKRight06:40
wgrantThat is also condemned.06:40
wgrantAs copies are going async.06:40
StevenKSuccess!06:41
wgrantAlso, refactor + behaviour change in a single commit == strangle06:41
StevenKHa06:42
wgrantYay, DISTINCT ON replacement branch worked.06:43
StevenK\o/06:43
StevenKDoes that replace all uses of it?06:43
wgrantThere are some fully string-based SELECTs that I haven't fixed.06:44
wgrantBut all those that use the hack ("DISTINCT ON (foo, bar) 0 as ignore") are gone.06:44
StevenK\o/06:44
StevenKIt's landed?06:45
wgrantNo.06:45
wgrantPassed ec2 except for a typo.06:45
wgrantNot reviewed yet.06:45
StevenKWould you like one?06:45
wgrantI've not written the description yet.06:45
StevenKwgrant: That sound be quick. "Now that Storm supports DISTINCT ON, make use of it instead of a SQL() hack."06:50
wgrantIt was.06:50
wgrantBut then it took 3 minutes to generate a diff.06:50
wgranthttps://code.launchpad.net/~wgrant/launchpad/native-distinct-on/+merge/6119906:50
StevenKwgrant: Can the distinct_on in lib/lp/registry/model/distroseriesdifference.py be expressed only once?06:54
jtvwallyworld_: I'd be honoured.  Just not today, because it's a holiday.  :)06:54
wallyworld_jtv: awesome. thanks!06:54
jtv(Also in a somewhat bad mood due to a combination of bugs costing me hours of work)06:54
StevenKwgrant: And should bug 374777 be linked to the MP?06:55
wgrantStevenK: It could be, but it doesn't seem terribly valuable as they are doing different things.06:55
_mup_Bug #374777: DISTINCT ON queries <Storm:Fix Committed by wgrant> < https://launchpad.net/bugs/374777 >06:55
wallyworld_jtv: been there, done that :-(06:55
StevenKAh, I see.06:55
wgrantStevenK: Not really. That's a Storm bug.06:55
jtvwallyworld_: that in its way is a small consolation, thanks06:56
StevenKwgrant: Thank you for proving I can't read, again. r=me06:56
wgrantThankyou sir.06:56
wallyworld_jtv: so what's the holiday? king's brother's cousin's birthday?06:56
StevenKHaha06:56
jtvwallyworld_: sssshhh careful—joke about that and the police is obliged to investigate.  We're talking 3—15 years in a hotel that Amnesty International has been giving consistently bad reviews.06:57
jtvThis is merely one of the main religious holidays.06:57
wallyworld_jtv: yeah i know. that's why i made sure i was all the way over here when i said it :-D06:57
jtvI _would_ have laughed out loud at this point but I'm not in a place where it's very safe to show too much independent thought.  :)06:58
* wallyworld_ wishes we had more religion here to get all their holidays06:58
* jtv wishes Santa would finally hurry up and get that heatstroke while visiting Australia, ridding the rest of us of his nonsense.06:58
jtvFTR, his dying day (which is what you celebrate with saints; I'll refrain from commenting) is December 6, not 25.06:59
jtvDid I mention that bad mood I was having?06:59
jtvIronic thought: I'm not just in a place where it's not safe to show independent thought; I'm in a place where I've been told so in urgent but hushed tones.  And it happens to be right outside the most prestigious university.07:00
LPCIBotProject windmill-devel build #92: STILL FAILING in 50 min: https://lpci.wedontsleep.org/job/windmill-devel/92/07:10
jtvlifeless: loved the email pointing to the Services Analysis.  Q about that document though:07:11
jtvIt looks as the "It's relatively difficult to have cascading failures" (as a benefit of the existing design) is mostly making the opposite case.  Is there anything positive under this header that we'd risk losing by changing to a different design?07:12
StevenKwgrant: And thank you for the hint for of "use a tuple" -- I disliked the two loops over binaries anyway07:14
wgrantStevenK: How are you going with the rest of the points.07:16
wgrantThey were, uh, a little extensive.07:16
wgrantApply question marks to taste.07:17
StevenKwgrant: 1-3, 5, 6, 9-1107:19
StevenKOr so07:19
LPCIBotYippie, build fixed!07:47
LPCIBotProject devel build #723: FIXED in 5 hr 35 min: https://lpci.wedontsleep.org/job/devel/723/07:47
LPCIBotProject windmill-db-devel build #284: STILL FAILING in 2 min 26 sec: https://lpci.wedontsleep.org/job/windmill-db-devel/284/07:49
StevenKUhhh07:50
LPCIBotProject windmill-devel build #93: STILL FAILING in 49 min: https://lpci.wedontsleep.org/job/windmill-devel/93/07:59
LPCIBotProject db-devel build #554: FAILURE in 6 hr 12 min: https://lpci.wedontsleep.org/job/db-devel/554/08:00
=== al-maisan is now known as almaisan-away
* StevenK smashes Zope.08:25
StevenKReturning an override policy from IArchive seems to give me a proxy-wrapped object08:25
wgrantStevenK: As it should.08:27
StevenK    override = policy.calculateSourceOverrides(08:28
StevenKForbiddenAttribute: ('calculateSourceOverrides', <lp.soyuz.adapters.overrides.UbuntuOverridePolicy object at 0xedd0b50>)08:28
StevenK:-(08:28
wgrantRight, you'll need an interface and security declarations.08:28
StevenKBugger08:28
nigelbStevenK: do you have anything more for me on https://code.launchpad.net/~nigelbabu/launchpad/645825-ui-example/+merge/6117508:29
StevenKnigelb: Sorry, I got distracted.08:29
nigelbStevenK: np :)08:29
StevenKPerhaps someone else knows which tests exercise the code you changed.08:30
nigelbhrm, so basically, bug more people to look at it? :-)08:30
StevenKwgrant: Doesn't the fact that the code is in adapters mean that an interface is not needed?08:32
wgrantStevenK: No.08:32
adeuringgood morning08:38
LPCIBotProject windmill-db-devel build #285: STILL FAILING in 51 min: https://lpci.wedontsleep.org/job/windmill-db-devel/285/08:51
nigelbAnyone's familiar with test cases that I could modify / write to make get this merge accepted? https://code.launchpad.net/~nigelbabu/launchpad/645825-ui-example/+merge/6117509:02
pooliehi all09:03
poolienigelb: you probably need to look for some tests in a 'browser' directory that touch the same page09:08
pooliehopefully you can adapt them09:08
nigelbpoolie: I'll be honest, I've very little experience with unit testing. I've written them, but not for an app this scale :)09:09
poolielifeless: hi?09:09
lifelesshi09:10
pooliei really liked your perf tuesday mail09:11
pooliealso, congratulations on the content09:11
pooliethat's quite a fabulous practice you've created there09:12
mrevellHow do?09:18
lifelessmrevell: hi09:23
lifelesspoolie: practice?09:23
pooliemrevell: habit09:23
pooliebah09:23
poolielifeless: "habit"  or pattern or whatever09:23
poolieis good.09:23
lifelessah :)09:23
lifelessstubbornness :P09:23
pooliewell, celebrating progress09:24
lifelesshows londinium09:25
poolievery good09:27
poolielifeless: if you have any more cycles i'd like your opinion on https://code.launchpad.net/~mbp/launchpad/uniqueid-clue/+merge/6115309:37
jkakarSometimes I think Launchpad suffers because it tries to have a one-size-fits-all solution... which means the obvious things that would for 98% of the projects and users can't be done because they don't work for 2% that are complex.09:39
jkakarFor example, the project home page is pretty hard to use... it's really hard to find things like the active reviews page, for example.  Or whether or not the project has associated PPAs.09:39
jkakarI wonder if we need to ditch the idea that we have a single view for all projects and instead have a perfect view that degrades (or mutates) as projects get more complex.09:40
wgrantjkakar: Projects don't have associated PPAs :(09:41
jkakarwgrant: I know.  It's dumb.09:41
jkakarwgrant: The team/project model in Launchpad is broken.09:41
jkakarwgrant: I know it's uber flexible and makes all kinds of use cases possible... but it also makes the obvious ones very hard to achieve.09:42
jkakarwgrant: I find myself consistently educating users about very basic aspects of Launchpad.09:42
jkakarwgrant: It should be easier for people to figure out how it works and what it does.09:42
jkakarwgrant: I hope there's some budget for UI improvements this year... Launchpad is slipping behind the competition and it's so much better in so many ways.09:43
jkakarAnyway, I guess the burden created by technical debt is slowly being beaten down... it sounds like things have improved *a lot* in the last year, which is excellent.09:44
wgrantLaunchpad slipped behind the competition about 4 years ago.09:44
wgrantjkakar: The maintenance squads are currently working solely on removing the pile of critical bugs.09:44
wgrantIn the last month we have made significant progress.09:44
wgrantI expect it will be done in another 2 or 3 months.09:44
wgrantThen Launchpad can improve, as there will be people dedicated to doing non-feature work like unbreaking the UI.09:45
jkakarwgrant: Yep, it can definitely improve and the team is smart and capable.09:45
jkakarwgrant: It also rocks today, despite it being hard for newcomers to realize that.09:46
wgrantFunctionality-wise it rocks.09:46
jkakarwgrant: Yes, exactly.09:46
wgrantUI-wise, it, uh....09:46
jkakarwgrant: Yeah. :)09:46
pooliei'm wondering about trying to spike a timeline view at the rally09:46
jkakarpoolie: DO IT! :)09:46
jkakarpoolie: Also, integrate lp:kanban while you're there. ;b09:47
jkakarSpeaking of which, I really want to find more time to work on it.09:47
poolie(kthxbye? :-)09:47
poolieme too09:47
jkakarHehe09:47
jkakarpoolie: I want to port it to Go... but I guess that wouldn't be as good a use of my time as landing some of the improvements we've discussed.09:48
jkakarBut I'm very excited about Go... I've been playing with it on and off and its really nice.09:48
poolieme too09:50
jmljkakar: as nice as C++?09:50
jkakarjml: C++ is not nice in any way.09:51
jmljkakar: aww, you'll hurt its feelings09:51
jkakarjml: It's much better than C++, from what I can tell so far.09:51
jkakarjml: Good. :)09:51
jmlheh heh09:51
jkakarjml: Actually, I love C++... the way you have to think... the weird crap that comes up that is completely unrelated to your problem... template metaprogramming...09:52
jkakarjml: But I never ever ever want to maintain a real system written in C++ (I've done it, I know how much it sucks).09:52
poolieit is far smaller09:53
poolieat least one order of magnitude less complexit in the language, probably two09:54
poolieof course it is younger09:54
rvbalifeless: wgrant Hi, I've recently used the new (to me that is) "RECURSIVE WITH" SQL feature ... and I did this with store.execute(...) ... Is there a way to do this properly with Storm? (I saw only raw sql statements using RECURSIVE WITH in the existing code)09:54
jkakarpoolie: Yes, that's a nice way to put it.  It is younger, but it already has a very nice set of libraries (both builtin and community contributed).09:54
jkakarpoolie: It's also cool that they're still evolving the language and not promising backwards compatibility... things are moving, it's not a dead language.09:55
rvbaThis is the branch in question FYI https://code.launchpad.net/~rvb/launchpad/distro-overlay2-bug-758908-dependencies/+merge/6111009:55
wgrantrvba: lib/lp/blueprints/model/specification.py09:55
wgrantrvba: the WITH query still has to be raw SQL at the moment.09:56
wgrantrvba: But the rest can be Storm.09:56
pooliejkakar: i'v been wondering what will bring erlang-like ideas to the mainstream09:56
pooliethis may be it09:56
rvbawgrant: ok thanks. Since my query is only a RECURSIVE WITH query, it will stay the way it is now then.09:57
pooliewgrant: if it's not too late i'd appreciate your thoughts on https://code.launchpad.net/~mbp/launchpad/uniqueid-clue/+merge/6115309:57
pooliei guess specifically if it's likely to overall help worth the trouble09:57
wgrantpoolie: Er, tests depend on the format? Ew.09:57
pooliedoctests stab stab09:58
wgrantHow many?09:58
pooliebecasue of course if you have09:58
poolie>>> thing.name09:58
pooliegeneric-....09:58
pooliethen you will get a decent error if it fails whereas09:58
poolie>>> thing.name == expected09:58
poolieTrue09:58
pooliethen it says nothing useful09:59
wgrantAh, yes.09:59
poolieoh not that many10:00
poolie7 failures, 5 errors10:00
wgrantI think you should remove those contract violations and land it :)10:00
jkakarpoolie: Indeed.10:00
pooliethanks10:01
pooliein particular "if something unexpected happens just die" as a strong default makes so much sense10:02
lifelessrvba: store.with_10:02
lifelessrvba: its in our storm branch10:02
lifelesspoolie: it looked ok to me10:03
lifelesspoolie: a measurement of the overhead would be useful10:03
rvbalifeless: thanks, I'll take a look at this.10:04
lifelessgrep for '\<with_\>'10:05
* rvba is doing precisely this.10:05
lifelessoh, I see wgrant helped you out already10:06
rvbayes :)10:06
lifelessjkakar: so, I found go slower than pypy in the weekend :)(10:06
lifelessjkakar: not enough data to draw conclusions on10:06
LPCIBotProject windmill-devel build #94: STILL FAILING in 50 min: https://lpci.wedontsleep.org/job/windmill-devel/94/10:06
lifelessjkakar: but if pypy gets a free threading model, it would be a real serious language IMO10:06
lifelessjkakar: if you have any thoughts on https://dev.launchpad.net/ArchitectureGuide/ServicesAnalysis I would appreciate them!10:07
poolielifeless: go vs pypy on what sort of a benchmark?10:12
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: gmb | https://code.launchpad.net/launchpad-project/+activereviews
poolienigelb: if you get stuck, i for one will try to help you10:15
pooliei'm sure the ocr (currently gmb) will too10:15
pooliefairly sure ;-)10:15
poolieo/ gmb10:15
lifelesspoolie: lmirror journal tokenising10:16
lifelesspoolie: string splitting a 74MB null delimited file10:16
* gmb waves10:17
poolieinteresting10:17
poolieusing go slices?10:17
nigelbpoolie: I'm just stuck at the sheer size of it and limited time I have to figure things out, but I shall be back later to take a poke at things10:17
jkakarlifeless: Ah, very interesting.10:17
lifelesspoolie: yes10:17
lifelessjkakar: intro to it is on the launchpad-dev list10:18
=== almaisan-away is now known as al-maisan
jkakarlifeless: Cool, will check it out.10:18
poolienigelb: so one thing could be to just kick off './bin/test' and see if anything does currently fail10:18
poolieif it does' you know what to fix10:18
nigelbI did a test but not the whole thing10:19
poolieit takes a while though, like 4h on a decent machine10:19
nigelbpoolie: what I ran is "bin/test -vvt productseries-views.txt"10:20
pooliei would probably try 'bin/test -m registry'10:24
nigelbhrm, okay.  I'm on my work box now, should be home in a few hours to fix that10:29
lifelessjkakar: on UI, I think LP needs to focus on lean somewhat ;)10:29
lifelessportlets are  a poor way to summarise and present useful info IMNSHO10:29
lifeless(great for overview stats though)10:29
poolielifeless: i wonder if someone could make kind of science fiction screenshots for lp10:30
poolielike they did with unity10:30
poolieto exemplify that kind of concept10:30
jkakarlifeless, poolie: Yes, agreed.  I'd like to see science fiction screenshots... I've been thinking about doing it myself... but time. :/10:32
lifelessmmm10:33
lifelessperhaps10:33
lifelessmockups are a great way to communicate the visual nature10:33
jkakarThe way we did the Landscape UI revamp was very nice.10:33
jkakarWe focused on information architecture first, to understand what it was we wanted to communicate...10:34
lifelessI think the key thing is someone with the: a) time, b) mandate [assumed or granted, I don't care], c) knowledge and d) communication skills overhauling things10:34
lifelessjml has been doing this with his review on what we do and why10:34
jkakarThen from there we started to think about workflows, primary and secondary use cases, etc.10:34
lifelessand his highlighting of things that are not core - and these things cost10:34
jkakarlifeless: Yes, agreed.10:34
lifelesslike answers, it /costs/ a lot - links to other parts of the system, UI realestate on the home page etc etc10:35
lifelessjkakar: so it seemed to me while you revamped that the folk doing the visuals had to come to grips with what the system does10:38
lifelessin a fairly thorough fashion10:38
lifelessjkakar: or did I misperceive?10:39
=== al-maisan is now known as almaisan-away
* jml tries to think about bug 772754, but drowns in text10:42
_mup_Bug #772754: After better-bug-notification changes, list of bug subscribers is confusing <story-better-bug-notification> <Launchpad itself:Triaged by yellow> < https://launchpad.net/bugs/772754 >10:42
jmlwill tackle other emails first.10:42
gmbjml: I feel your paint.10:42
gmbEr.10:42
gmbPain.10:42
jmlgmb: it's smooth and contains no added lead.10:43
gmbSo many rejoinders, so few of which are actually appropriate for a public channel.10:44
lifelessgmb: bad bad bad bad bad man10:45
jmlA deliberate move on my part.10:45
gmbI'm that bad that I made lifeless think bad thoughts (with jml's help). I win at badness.10:45
jmlThere need to be terms for repartée of the same ilk as chess terms10:46
gmb... Hm, also, might want to rephrase "I make lifeless think bad thoughts" to something where it sounds less like he wants me for his cuddle toy.10:46
gmbShuttingupnow.10:46
jmlI guess "zugzwang" might actually just work.10:46
lifelessheh, cloudbees have adverts 'hudson is now jenkins'10:47
lifelessits on!10:47
wgrantIt's not off yet?10:49
gmbIs `Not(Something.attribute == None)` the correct Storm way to say "Something.attribute IS NOT NULL"?10:49
gmbOr am I better off using SQL() for that10:49
gmb?10:49
wgrantgmb: != None?10:49
gmbwgrant: I thought there were issues with the != operator.10:49
wgrantI use it all the time.10:49
wgrantSo I hope not.10:49
gmbFair point, then :)10:49
jkakarlifeless: Yes, that was definitely the case.  We worked together, starting by giving the designers an overview of the system, and from there we worked together to clarify the ideas they came up with.10:50
wgrantYou shouldn't do != None normally,.10:50
gmbNo.10:50
wgrantBut for Storm expressions it's fine.10:50
gmbOkay.10:50
gmbwgrant: Thanks, I'll give that a shot.10:50
jkakarlifeless: A big factor during the whole process was also deciding what we could reasonably achieve.  Some of their ideas were fantastic but unrealistic in terms of implementation difficulty and cost.10:50
jkakarlifeless: I'm pretty proud of how things turned out.  Landscape is *much* better now than it was.10:50
jkakarlifeless: And we came up with nice patterns that make putting new things in place easier.10:51
lifelesscool10:51
lifelessthats excellent10:51
jkakarlifeless: Yes, it was a lot of fun.10:53
jkakarlifeless: Something that was hard though, was that we had to do *a lot* of work before we could release anything...10:53
lifelessyeah, that hurts10:53
jkakarlifeless: We were iterating with the designers, but we had a broken system for a long time.  It was a bit hard.10:53
jkakarlifeless: I'm not really sure what we could have done differently, but focusing on deliverable milestones is very important.10:54
LPCIBotProject windmill-devel build #95: STILL FAILING in 50 min: https://lpci.wedontsleep.org/job/windmill-devel/95/10:57
cjohnstonwgrant: mornin11:21
wgrantcjohnston: Hi. Your blueprint essential checkbox fix is on production now.11:23
cjohnstonI see that! Yippie!11:23
cjohnstonThanks wgrant11:23
wgrantMaybe I should unbreak community-contributions.py11:29
cjohnstonuh oh11:29
wgranthttps://dev.launchpad.net/Contributions still thinks I don't work for Canonical.11:31
cjohnstona couple of my other branches are now listed as approved, I guess they just need to go through the merging process! yippie!11:38
cjohnstonOff to work for a few hours... Be back this afternoon.11:44
=== henninge is now known as henninge-lunch
lifelessjml: I'm not coordinating the project setup sabdfl has asked for at this point; if you want me to say so and I'll get on it tomorrow.12:09
jmllifeless: will be talking to flacoste about it later today.12:09
lifelessgreat12:09
lifelessI shall happily purge it from my mind :>12:09
jmllifeless: will keep you posted.12:09
jmlgood good.12:09
lifelessgnight!12:09
jmllifeless: g'night.12:09
=== henninge-lunch is now known as henninge
=== almaisan-away is now known as al-maisan
gmballenap: Of https://bugs.launchpad.net/launchpad/+bug/783948: I'm going to open a second bug to track the fact that somehow bug page rendering has been broken.13:09
_mup_Bug #783948: Entering a comment returns an error <Launchpad itself:Triaged> < https://launchpad.net/bugs/783948 >13:09
gmbSound sane to you?13:09
allenapgmb: Sure, I don't mind :) It's likely to be the same underlying bug though.13:10
gmballenap: Weeee-ll. I see two: 1) We should still be able to render the page in the presence of slightly funky data (which is what I assume is going on here) and 2) We shouldn't accept the funky data in the first place.13:12
allenapgmb: Cool.13:13
gmbWell, hiding the comments doesn't make the page render.13:19
* gmb waits for the OOPS.13:19
wgrantLocationError: (<zope.browserpage.metaconfigure.SimpleViewClass from /srv/launchpad.net/production/launchpad-rev-13053/lib/lp/bugs/browser/../templates/bug-portlet-subscribers.pt object at 0xfe1d610>, 'current_user_mute_class')13:27
wgrantHuh.13:28
gmbwgrant: Are you looking at the bug linked to in bug 783948 too?13:28
_mup_Bug #783948: Entering a comment returns an error <Launchpad itself:Triaged> < https://launchpad.net/bugs/783948 >13:28
wgrantThankyou TALES for your awesome exception suppression.13:28
wgrantgmb: No, I looked at the OOPS linked in the bug.13:28
wgrantIt doesn't OOPS for me.13:28
gmbwgrant: Oh really? Now that is interesting.13:28
wgrantI even tried muting it.13:28
gmbCurious.13:28
LPCIBotYippie, build fixed!13:29
LPCIBotProject db-devel build #555: FIXED in 5 hr 28 min: https://lpci.wedontsleep.org/job/db-devel/555/13:29
wgrantNote that I am in ~ubuntu-bugs.13:29
wgrantSo I have a subscription to mute.13:29
gmbAaah.13:29
wgrantBoth to the distro and through the dupe.13:29
gmbSo, this could be another regression due to my fix for bug 772609, maybe. Poo.13:30
_mup_Bug #772609: bug subscription mute link is not shown for membership in a team with a direct or structural subscription <bad-commit-13003> <story-better-bug-notification> <Launchpad itself:In Progress by gmb> < https://launchpad.net/bugs/772609 >13:30
pooliehow do i select a single doctest file to run?13:30
gmbpoolie: bin/test -ct doctest-filename.txt13:30
pooliewith the full path?13:30
gmbpoolie: No, just hte filename will work.13:31
gmbs/will/should/13:31
jmlpoolie: it does a regex match on the calculated doctest id, which is, I think, lib/lp/bugs/doc/thingy.txt13:31
jml(it used to be lib/lp/bugs/tests/../doc/thingy.txt)13:31
wgrantgmb: Do you have any idea what's going on here? We may want to revert the deployment.13:33
gmbwgrant: Working on it now, but that's my thinking too.13:34
wgrantallenap: Is it still broken for you?13:35
wgrantIf so, we should probably try accessing that view property in a harness to get the real exception.13:36
allenapwgrant: Arr, t'is.13:36
wgrantallenap: With that same locationerror?13:37
allenapwgrant: Yep.13:37
gmbwgrant, allenap: I'm going to give this some looking at for the next hour or so; I can't be certain that my revision caused this breakage, but if I can't find a cause in the next hour we'll roll it back and hope that that fixes it.13:37
allenapgmb, wgrant: Renders fine if I'm logged out.13:38
wgrantgmb: We can trivially roll back to 13045 in a few minutes if required.13:38
gmbwgrant: Hmm. If it's trivial then maybe we should give it a shot.13:39
gmb(I always have my work reverted overnight)13:39
wgrantSorry, my QA was obviously crap this time :/13:40
gmbwgrant: There are only so many permutations you can check for.13:40
gmbThis is more of a notest problem.13:40
gmb(or badtest)13:40
deryckMorning, all.13:56
pooliehi deryck13:58
deryckhenninge, ping for standup14:01
henningederyck: coming14:01
deryckcool14:01
pooliedoes launchpad actually retriage all High bugs every four months?14:04
wgrantThe intention is to do that.14:04
pooliemrevell: ^^, but aside from that the page looks really good14:04
wgrantBut it's all a bit chaotic at the moment.14:04
wgrantLike Criticals.14:04
mrevellThanks for taking a look. I meant to ask in my email to the list if that was something we were actually doing.14:05
poolieit was just curiousity14:16
poolieuntil the critical queue is drained it's probably not worth doing14:16
danilosgmb, hi, can you please take a look at https://code.launchpad.net/~danilo/launchpad/bug-772763-remove-nothing/+merge/61251?14:35
gmbdanilos: Sure14:35
danilosgmb, thanks, the diff is likely to show up only in 5 mins or so :)14:35
gmbdanilos: Works for me. I need a cup of coffee anyway :)14:35
danilosgmb, diff is up so whenever the coffee is brewed... :)14:37
gmbdanilos: Looking now.14:45
nigelbhey gmb, do you have a moment to help me proceed with https://code.launchpad.net/~nigelbabu/launchpad/645825-ui-example/+merge/61175.  I seem to be stuck not knowing how to deal with test cases14:51
gmbdanilos: r=me. I particularly approve of your removal of tests (yes, I know they would have broken, but it warms my heart to see a test file a bit shorter).14:52
gmbnigelb: Sure, I'll take a look.14:52
nigelbgmb: thanks14:53
gmbnigelb: Do you know if any tests break as a result of your changes (I know it's not exactly a trivial think to run all the LP tests on your own machine...)14:54
nigelbgmb: hang on, let me show you what I did run14:54
gmbk14:55
nigelbgmb: I ran "bin/test -vvt productseries-views.txt" which ran successfully14:56
nigelbI'm okay to write new tests for this if you can explain where they need to be written14:56
gmbnigelb: Okay. Let's try and work out what needs to change...14:58
nigelbawesome :)14:58
pooliebenji: if you're here, could i get a wee little incremental review on https://code.launchpad.net/~mbp/launchpad/778437-sprb-spam/+merge/6036014:59
benjipoolie: sure14:59
benjipoolie: there are conflict markers in the diff15:01
poolieyeah i just discovered that15:03
pooliethis is getting kind of messy15:03
poolieistm this ought to be split out into some kind of pubsub filter rather than doing it inline here15:04
gmbnigelb: The following might fail now: `bin/test -ct xx-upload-directions`15:04
nigelbgmb: where do you reckon I should start?15:05
gmbnigelb: Well, run that test.15:05
gmbIf it fails then you know to update it.15:05
gmbIf not, you *still* need to update it15:05
gmb(The file is here: lib/lp/code/stories/branches/xx-upload-directions.txt)15:05
nigelbheh, ok15:05
gmbnigelb: If it doesn't fail, ping me and I'll see if I can walk you through adding the necessary changes.15:05
nigelbgmb: okay!15:06
nigelbgmb: that didn't fail15:07
gmbPoo.15:07
nigelbheh15:07
gmbnigelb: Okay, bear with me whilst i take a look at the test15:07
gmbnigelb: Still looking - got distracted by a failing RAID disk.15:18
nigelbnp, I'm looking at these tests to figure out how they work15:18
poolieo/ nigel15:20
pooliethanks benji15:21
benjinp15:21
gmbOh, that's annoying.15:21
nigelbo/ poolie15:21
nigelbnigelb: persistently trying to fix my first bug on Lp :)15:21
gmbnigelb: I think you can probably add something to xx-upload-directions.txt15:21
gmb(As in, that seems like a sane place for it to be).15:22
nigelbok, but I have't understood how the tets in that file work15:22
nigelb>>> name12_browser.open(branch_page)15:22
gmbOTOH pagetests are horrible and need to die, so...15:22
gmbnigelb: Are you familiar with doctests at all?15:23
nigelb^^ is that the bit where the actual test happens?15:23
gmbYes.15:23
gmbnigelb: Think of the >>> do_something() bits as being stuff exectued in the Python CLI.15:23
nigelbaha15:23
gmbThe bits inbetween are the documentation.15:23
=== al-maisan is now known as almaisan-away
nigelband the data is assumed to be the default data?15:24
gmbnigelb: Yes. That's why we don't usually like to add to these tests unless we can help it.15:24
gmbnigelb: But if you can think of a way to exercise your code using the sampledata then that's not a bad place to start at all.15:24
nigelbwell, for testing this, we'll have to change the data I think, or is there a project in the default data that has more than one series?15:24
gmbnigelb: I don't know.15:25
gmbnigelb: But you could use the testing factory to create one.15:26
gmbnigelb: e.g.:15:26
gmb>>> product = factory.makeProduct()15:26
gmb>>> ...15:26
gmb(I *think* the factory is available in all the doc and pagetests now)15:27
nigelbfound one15:27
nigelbhttps://launchpad.dev/alsa-utils15:27
gmbAha.15:27
nigelbbah15:27
nigelbthat has branch linked15:27
nigelbhere's another https://launchpad.dev/a52dec/failedbranch15:28
jmlgmb: is this bug closed? https://bugs.launchpad.net/launchpad/+bug/67481515:28
_mup_Bug #674815: When a bug is marked as duplicate, you are invited to subscribe to the master bug <lp-bugs> <story-better-bug-notification> <Launchpad itself:Triaged> < https://launchpad.net/bugs/674815 >15:28
gmbjml: I don't know off the top of my head.15:29
gmbnigelb: I think you'd be best-off using the factory to create a new project15:33
gmbAnd then adding the necessary number of series to that.15:33
nigelbwow, that's a lot of test code to write o.O15:33
gmbnigelb: Really? Let me look...15:34
nigelbgmb: well, use factory to create a project, create a new series, and then test, and then tear down.15:34
gmbnigelb: You don't need to tear down.15:34
gmbIt's done automatically.15:34
gmbIt should be something like:15:35
gmb>>> product = factory.makeProduct()15:35
gmb>>> series_1 = factory.makeProductSeries(product=product)15:35
gmb>>> series_2 = ...15:35
gmbThen you can do something like15:36
gmb>>> user_browser.open('$URL_TO_WHATEVER_PAGE')15:36
gmband check that the text you're looking for appears in that page.15:36
nigelbokay, let me take it step by step :)15:37
gmbnigelb: Unless I'm missing something; I don't know codehosting well.15:37
gmbnigelb: Sure thing.15:37
wgrant(note, though, that writing more doctests is likely to invoke hitherto unknown demons)15:37
nigelbwgrant: I thought touching launchpad did that anyway.15:37
wgrant:(15:38
nigelbso, I start by making a product using product = factory.makeProduct()15:38
nigelbthen I make a new series in that product using the series_1 line above15:38
gmbwgrant: Agreed. nigelb: This should probably go in a unit test, thinking about it15:39
gmbnigelb: So let's back up a step here and find somewhere suitable for it...15:39
nigelbgmb: ah15:39
nigelbgmb: pause for now15:39
nigelblib/lp/registry/tests/test_productseries.py?15:40
wgrantIt'll be in lib/lp/*/browser/tests15:40
nigelbah15:40
gmbnigelb: Hmm. It's a view test so it should go in lib/lp/registry/browser/tests15:40
gmbAnd there isn't a producteseries one in there.15:40
gmbSo we need to create one.15:41
gmbnigelb: You can copy the test boilerplate from standard_test_template.py in the root of the LP tree.15:41
gmbcall it lib/lp/registry/browser/tests/test_productseries_views.py15:41
nigelbokay, done15:43
nigelbhttp://pad.ubuntu.com/lp-productseries-test15:44
nigelbI'm guessing I should import TestCaseWithFactory instead of DatabaseFunctionalLayerDatabaseFunctionalLayer15:45
gmbAha!15:45
gmbGood idea that man.15:45
nigelbheh15:45
gmbnigelb: No, you need to import it instead of TestCase15:45
nigelbah, ok15:45
gmbnigelb: We need LaunchpadFunctionalLayer since we want to actually render a View15:47
gmbSo...15:47
nigelbgmb: and we don't want database since we're going to use factory right?15:47
gmbnigelb: No, you need the database (it's implicit)15:47
nigelbohh, okay15:48
gmbHorrible admission: We always use a live DB instance, even when we use the factory15:48
wgrantgmb: Not DatabaseFunctionalLayer? I'm not sure this will need the librarian.15:48
wgrantAnd that takes ages to start, so nice to avoid it where possible :)15:48
gmbwgrant: If that provides the UI, then sure. I thought it didn't.15:48
gmbI'm happy to be wrong.15:48
nigelbgmb: okay, I did the SetUp bit, does that look right? (I looked at one of the poll tests)15:50
wgrantgmb: IIRC LaunchpadLayer just provides librarian and memcache. But this is an entirely confusing mess.15:50
gmbnigelb: Actually, you can do it in the test.15:50
nigelbgmb: oh, okay, I'll just rename the thing15:50
gmbok15:50
wgrantLots of browser tests are DatabaseFunctionalLayer.15:50
gmbwgrant: Fair neough. Let's just do that and fix it if it breaks.15:51
wgrantThat's how I tend to choose layers, yeah :/15:51
nigelbheh15:51
gmbnigelb: You can drop the self.* stuff too when you're creating your variables in-test.15:51
nigelbnow how I open the url to one of those.15:52
nigelbgmb: ah, so much learning :)15:54
gmbnigelb: I think you can just use create_initialized_view. Hang on...15:54
wgrantIndeed. view = create_initialized_view(series, '+whateverview'); self.assertThat(view(), Contains('whatever string you are looking for in the output'))15:55
wgrant(Contains is imported from lp.testing.matchers; create_initialized_view from lp.testing.views)15:56
gmbwgrant: I like this thing where you're always one step ahead of my typing.15:57
gmbSaves me a job.15:57
nigelbgmb: that leaves me with one question, how do I build the string based on name of lp user, product and series15:59
gmbnigelb: Something like this...16:00
nigelbbasically I need to build "lp:~name16/productname/seriesname"16:00
nigelbetherpad is so much fun for pair coding :)16:00
gmbYeah.16:01
gmbIt rocks.16:01
gmbI'd totally forgotten about it.16:01
gmb(And I've always been burned by Gobby)16:01
nigelbheh, this UDS, we had a good time with it (minus the spam)16:01
gmbI can imagine16:02
nigelbI think you've written the test completely, and I've learned how to write a new one now :)16:02
gmbHeh.16:03
nigelbnow, how do I test this beast? :)16:03
nigelbgmb: ^^16:10
gmbnigelb: You should just be able to run `bin/test -ct test_productseries_views`16:11
gmbAnd that should JustWork.16:11
nigelbfamous last words16:11
nigelb;)16:11
sinzuigmb: do you have time to review https://code.launchpad.net/~sinzui/launchpad/language-add-admin/+merge/6126716:11
gmbSure16:12
pooliei wonder if it is worth doing some stats on what kind of change in lp needs a rollback16:13
poolieand perhaps that could guide us to put flags on that type of change beforehand16:13
poolie(or even perhaps to not make problem changes, but hey)16:13
nigelbgmb: ah, it failed.  The user isn't logged in. Is there a way to create a way where the user we created is logged in?16:13
gmbnigelb: There is, yes.16:14
gmbnigelb: I'm just reviewing sinzui's code, so I suggest grepping for "with person_logged_in" in lib/lp16:14
gmbShould help.16:14
nigelbwill do, thanks16:14
gmbperson_logged_in comes from lp.testing, IIRC.16:14
gmbsinzui: r=me16:18
sinzuifab16:18
sinzuithank you very much16:18
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
nigelbbah, traceback16:20
nigelbgmb: got a huge traceback :(16:23
pooliebenji, i don't understand when lp reviews get into approved state16:24
gmbnigelb: Paste it for me16:24
pooliespecifically can i just flip https://code.launchpad.net/~mbp/launchpad/uniqueid-clue/+merge/61153 myself16:24
poolieor what should i do?16:24
poolieno ocr now?16:25
gmbpoolie: I'm still here.16:25
benjipoolie: yep, you can flip it yourself; most reviewers leave the over-all status alone16:25
gmbpoolie: If it's reviewed and approved, feel free to flip the flag16:25
benjiThe idea is that if you need more than one review (ui, db, etc.) then you should decide when it's sufficiently approved16:26
nigelbgmb: http://paste.ubuntu.com/609048/16:26
gmbnigelb: Can you update the EP session with your current test?16:28
nigelbgmb: erm, EP session?16:28
gmbEtherPad16:28
nigelbah, etherpad16:28
nigelbdone; http://pad.ubuntu.com/lp-productseries-test16:28
gmbHmm.16:29
gmbOkay, gimme a sec16:29
gmbnigelb: I've changed the test so s/+index/+code-summary/16:32
gmb]16:32
gmbDon't know if that'll work, but give it a shot.16:33
gmb(since that's the page you changed)16:33
nigelbokay, I'll take a shot16:33
nigelbgmb: failed again :(16:37
nigelbhttp://paste.ubuntu.com/609051/16:37
gmb!16:37
gmbnigelb: [36m        No revision control details recorded for[0m16:38
gmb[36m        <em>Product-name738808 generic-string738812 series</em>.[0m16:38
gmbMight have something to do with it16:38
LPCIBotProject windmill-db-devel build #286: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-db-devel/286/16:38
nigelbgmb: hrm, the slashes didn't turn up?16:39
gmbnigelb: No, I just think we need to do something extra to the series to make this work.16:39
gmbJust not sure what.16:39
nigelbgmb: heh, what can I do at this point?16:40
gmbnigelb: Try person = product.owner16:41
gmbInstead of using self.factory.makePerson()16:41
nigelbokay16:41
gmb(It seems thtat message only appears if you don't have edit rights).16:41
gmbNot that that will fix it, but it's a step along the road.16:41
gmbAaah16:41
gmbnigelb: You need to have an SSH key for person.16:41
* benji looks.16:41
nigelbgmb: ahh.16:42
gmbnigelb: I've tweaked the EP doc.16:42
nigelbgmb: \o/ Trying again :)16:43
nigelbgmb: IT WORKED!16:45
* nigelb does happy dance16:45
gmbWEWT16:45
gmbnigelb: Commit it, push it, ping me and I'll review it.16:45
nigelbthat's the hardest I've worked to fix a bug.16:46
nigelbgmb: https://code.launchpad.net/~nigelbabu/launchpad/645825-ui-example/+merge/6117516:52
gmbnigelb: Welcome to our world. I've been doing this for four years.16:52
gmbNo wonder I'm going bald.16:52
nigelbgmb: heh.16:53
gmbnigelb: Argh. One thing I should have said: The test needs a comment at the start of it that states the expected behaviour. e.g.:16:53
gmb"# The LP branch URL displayed to the user on the +code-summary page for a product series will relate to that series instead of to the default series for the Product.16:54
gmb:16:54
gmb(Wrapped to 78 characters, obviously)16:54
gmbnigelb: But that aside, I'm happy for this to land.16:55
gmbCan you add that comment and push it? I'll run it through EC2 for you when you have done.16:55
nigelbgmb: I can do that right away16:56
gmbCool16:56
nigelbgmb: could you glance at the etherpad again to see if its fine :)16:57
gmbSure...16:57
nigelbahhh, gmb = Graham Binns, now I realize :-)16:57
gmbnigelb: Ah, not at the start of the Testcase, at the start of the test. So:16:58
nigelbaha16:58
gmbnigelb: Yup. I couldn't be bothered thinking up an imaginative nick, so I just used my initials.16:59
nigelbgmb: heh, neither can I ;)16:59
gmb:)16:59
gmbnigelb: Anyway, let me know when that's pushed and I'll run it through EC2 for you.16:59
* benji is very imaginative.17:00
gmbHeh17:00
nigelbgmb: its pushed, I'm waiting for lp to show updated branches17:00
benjigmb: are you off the OCR clock for the day?17:00
gmbbenji: Depends. How big is the branch?17:00
benjigmb: not teeny: 469 line diff; I bet I can persuade one of the yellow guys to do it17:01
gmbbenji: No, I'll tkae that.17:01
gmbIt'll take me to EoD.17:01
gmb:)17:01
benjiok, here you go https://code.launchpad.net/~benji/launchpad/bug-777786/+merge/6127417:02
gmbTa17:02
nigelbgmb: Thanks a bunch for the help :-)17:03
gmbnp17:04
=== beuno is now known as beuno-lunch
gmbbenji: r=me17:29
benjithanks17:30
=== salgado is now known as salgado-lunch
LPCIBotProject windmill-devel build #96: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-devel/96/17:49
=== matsubara-afk is now known as matsubara-lunch
=== beuno-lunch is now known as beuno
LPCIBotProject windmill-db-devel build #287: STILL FAILING in 46 min: https://lpci.wedontsleep.org/job/windmill-db-devel/287/18:36
=== salgado-lunch is now known as salgado
LPCIBotProject windmill-devel build #97: STILL FAILING in 47 min: https://lpci.wedontsleep.org/job/windmill-devel/97/19:04
=== matsubara-lunch is now known as matsubara
=== deryck is now known as deryck[lunch]
LPCIBotProject windmill-devel build #98: STILL FAILING in 46 min: https://lpci.wedontsleep.org/job/windmill-devel/98/20:02
=== deryck[lunch] is now known as deryck
lifelessmorning21:23
cr3in terms of development, what's the difference between using schroot and kvm?21:59
cjohnstonmornin lifeless22:12
lifelesshi cjohnston22:19
lifelesscr3: ip addresses I suspect22:19
lifelessflacoste: hi22:19
flacostehi lifeless22:19
lifelessflacoste: nvm, I remembered what it was - grouping criticals22:19
cjohnstonhey flacoste22:25
flacostehi cjohnston22:27
=== salgado is now known as salgado-afk
lifelesspoolie: thanks for the feedback22:44
sorenI just thought of something... jml said in his UDS lightning talk that you were adding a bunch of new headers to e-mail for easier filtering.. Some of us use GMail, and it doesn't let you filter on arbitrary mail headers (because it doesn't index those, presumably). Is anyone considering that use case?23:07
soreni.e. copying the mail headers in the body in a way that is searchable/filterable (or something else that makes filtering with gmail suck less).23:08
=== matsubara is now known as matsubara-afk
lifelessI don't think so23:24
lifelessthere is a bug about this though23:24
lifelesshttp://www.readwriteweb.com/cloud/2011/04/5-graph-databases-to-consider.php23:43
mwhudsonlifeless: have you read the 'release it' book?23:48
lifelessmwhudson: yes23:48
mwhudsoncool23:48
lifelessa bit light weight, but some good clear explanations23:48
lifelessI think most web devs should read it23:48
mwhudsoni thought i could detect various release it thoughts in https://dev.launchpad.net/ArchitectureGuide/ServicesAnalysis23:48
lifelessmmm, possibly23:48
mwhudsonplenty of other sources for that sort of thing though23:48
lifelessI last looked at it > a year back23:48
mwhudsonthere are only two things i really remember from the book -- one is the idea of 'integration point' and the other is "SQL IS NOT AN INTEGRATION STRATEGY"23:49
lifeless:)23:49
lifelessthe things I thought was nicest in the book was the pattern for handling occasionally failing services23:49
lifelessthe ratcheting-alert-thingy23:50
mwhudsonah yeah23:50
lifelessmwhudson: what do you think of the proposal23:50
mwhudsonrelated to the integration point thing was the thought of why it's so important to always attach errbacks to deferreds in twisted23:50
mwhudsonbecause if you get a deferred, it's generally something that will take some time to complete23:51
mwhudsonand that's actually really strongly correlated with 'something that you cannot rule out failing'23:51
mwhudson(i.e. an integration point)23:51
mwhudsonlifeless: i think it makes sense mostly, i'm only about halfway in23:51
lifelessjcsackett: bug 78427323:51
_mup_Bug #784273: InvalidURIError generated by unescaped search on frontpage <Launchpad itself:New> < https://launchpad.net/bugs/784273 >23:51
lifelessjcsackett: the url in the exception is a lie23:52
mwhudsonthere are some sentences that i think aren't really clear, i'll be sending an email about that in due course :)23:52
lifelessjcsackett: if you look at the request variables you can see the actual query string and path - I've pulled that out into the bug description for you (and it oopses if I click on the  link)23:52
lifelessmwhudson: cool, thanks!23:52
lifelessjcsackett: also, please triage-when-you-file :)23:53
jcsackettlifeless: ack, on the triage, i got distracted. :-)23:55
jcsackettand thanks for the updates.23:55
lifelessno probs23:55
lifelessI was intruiged by it not oopsing so I went fiddling :)23:55
lifelessmwhudson: if you know what the sentence means, feel free to edit23:55
mwhudsonlifeless: will do23:56
lifelessI wonder if we should prevent users putting in a one-line summary of their problem23:58
lifelessmake that a developer only field23:58
lifeless+ apport field23:59
lifeless(because very very very few users put the problem in the field vs their preferred solution)23:59

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