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

wgrantlifeless: It's actually much easier than that.00:01
wgrantUse self.request.stepstogo.consume()00:02
sinzuiwgrant: mumble?00:05
wgrantsinzui: I'm there.00:06
wgrant... but in the wrong room.00:06
sinzuiI think my audio is buggered again. I will leave and return00:06
wgrantI can hear you.00:06
wgrantlifeless: QuestionMessage doesn't have indices in the DB.00:28
lifelesswgrant: well then.00:29
lifelesswgrant: it needs them or spam marking is racy00:29
jtvwgrant: any idea why the df app server wasn't running?00:33
wgrantjtv: None.00:34
jtvOh well, I started it.00:34
wgrantWell, unless "bigjools" is an idea.00:34
wgrantAlso, it's 9:30am here, you should not be here.00:34
lifelessjetlag00:35
jtv'zcly00:38
jtvPlus, my UPS can't sleep.00:38
wgrantlifeless: Try to assign/unassign a private bug on qastaging.00:41
lifelesswgrant: why?00:41
wgrantlifeless: Because it crashes for me.00:42
lifelesswhat bug were you trying on00:42
wgrant123400:43
lifelessIndirect subscribers found on private bug. A private bug should never have implicit subscribers!00:43
wgrantYes.00:43
wgrantCan you change status/importance?00:44
lifelesswin00:44
wgrantThey OOPS for me without a traceback.00:44
wgrantBut it's possibly just a timeout.00:44
lifelessOOPS-1955QASTAGING10300:44
lifelessID:OOPS-1955QASTAGING10400:44
wgrantYeah, been waiting for a sync for a while :(00:44
lifeless3 seconds, not a timeout00:44
wgrantThanks.00:44
lifelessuhm00:44
lifelessis ~launchpad in malone-alpha00:45
lifelessno00:45
wgrantBut I am.00:45
lifelessso i'm getting this with the 'normal' notification stuff00:46
wgrantOn qas.00:46
lifelessyes00:46
wgrantIt works fine on dev.00:46
wgrantI wonder if a custom filter has to exist.00:46
wgrantI also wonder if it's related to the fix for bug creation subscribers.00:48
wgrantIf I can find it...00:48
wgrantNo.00:49
lifelessnow, is indirect 'via a team' or 'via a pillock' ?00:50
wgrantPillar.00:50
wgrantNot team.00:50
wgrantfuuu00:50
lifelessECONFUSINGTERMINOLOGY00:50
wgrantlazr.restful suppresses the traceback.00:50
wgrantLet's use non-AJAX...00:50
lifelesstheres a bug on that00:50
wgrant OOPS-1955QASTAGING10700:50
wgrantModule lp.bugs.subscribers.bug, line 151, in add_bug_change_notifications00:51
wgrantlevel=BugNotificationLevel.METADATA)00:51
wgrantModule lp.bugs.model.bug, line 1050, in getBugNotificationRecipients00:51
wgrant"Indirect subscribers found on private bug. "00:51
wgrantAssertionError: Indirect subscribers found on private bug. A private bug should never have implicit subscribers!<br />00:51
wgrantNot too helpful.00:51
wgrantBut it's something.00:51
wgrantSurely not.00:51
wgrantThis would have been broken for weeks.00:51
lifelessI envy you; you're getting to code.00:52
wgrantYou're not?00:52
lifelessI'm architecting at the moment00:53
lifelesshttps://dev.launchpad.net/ArchitectureGuide/Services00:53
lifelesswhich is harder than you might think00:53
wgrantAh, yes.00:53
* wgrant comes dangerously close to deleting bug heat.01:02
lifeless\o/01:02
lifelesswhich reminds me01:02
lifelessto do an analyse of bug heat top-20 or whatever with and without decay01:03
lifelessI'm totally convinced that in successful projects the sort order is identical01:03
lifelessbut ENEEDSDATA01:03
LPCIBotProject windmill-devel build #56: STILL FAILING in 1 hr 15 min: https://lpci.wedontsleep.org/job/windmill-devel/56/01:17
jtvStevenK, perhaps you would care to review a small fix for automatic index creation in publish-ftpmaster?  https://code.launchpad.net/~jtv/launchpad/bug-780214/+merge/6044401:31
LPCIBotProject db-devel build #531: FAILURE in 5 hr 20 min: https://lpci.wedontsleep.org/job/db-devel/531/01:36
jtvOr wgrant maybe?  Need a small fix reviewed.01:40
jtvNo antipodeans in the review market today?01:47
* wgrant returns.01:48
wgrantjtv: What creates that normally?01:49
jtvwgrant: I don't even know tbh01:50
wgrantAlso, why always PRIMARY, never PARTNER?01:50
wgrantgenerateConfigForPocket does this.01:51
wgrantAs long as it's given some components.01:51
wgrantI presume this failed on DF?01:51
jtvThere are no separate PARTNER runs for this, as far as this script is concerned, so it uses PRIMARY as the place to keep track.01:51
LPCIBotProject windmill-db-devel build #255: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-db-devel/255/01:51
jtvYes.01:51
wgrantDo you still have the traceback?01:52
jtvI can make one.  Hang on.01:52
jtvwgrant: http://librarian.dogfood.launchpad.net/71105515/hyYRRP1nMvTD9b3OKTaVtUZy789.txt01:54
wgrantjtv: querulous hasn't been initialised, has it?01:54
jtvNope01:54
wgrantIt has no components.01:54
wgrantThere's a bug for that.01:54
wgrantBut why are you writing out indices before initialisation?01:55
jtvSkipping a few steps in testing, I guess.01:56
wgrantSo this won't be the case in production?01:57
wgrantwhat triggers the index generation?01:57
jtvpublish-ftpmaster.01:57
wgrantThat's what runs it.01:57
wgrantIn what case does it run?01:57
jtvwgrant: little accident with chat window here...  index generation is triggered by publish-ftpmaster being run on the distro and seeing that one or more suites in a frozen series do not have indexes yet.01:59
wgrantjtv: Hmm, that's too early.01:59
wgrantIt needs to wait until it's been populated.01:59
wgrantBug #675042 covers the bug that you've fixed here, but it reveals that it's being run too early.02:00
_mup_Bug #675042: Release file generation fails for series without components <lp-soyuz> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/675042 >02:00
lifelesstsekci times02:00
wgrantPardon?02:00
lifelessjust being silly02:00
lifelessa riff on other interpretations of 'populated'02:01
jtvwgrant: you are taking into account that publish-ftpmaster will not be running around the time a new series is created?02:01
wgrantjtv: Hm, why not?02:02
wgrantHe's good at that.02:02
wgrant11:02:06 < wgrant> jtv: Hm, why not?02:03
wgrantWe currently stop the publisher so the manual index generation can be run.02:04
wgrantIf we're doing the manual index generation automatically, there's not much point stopping the publisher.02:05
jtvMy understanding is that stopping the various cron jobs was still needed for other reasons as well.02:06
wgrantThat sounds like a temporary situation that we don't want to add more reasons to.02:07
* wgrant invokes StevenK.02:07
jtvwgrant: when we get close to the point where the cron jobs no longer need to be disabled, we'll also have a better view of what else is needed to manage the various jobs that need to be done.02:12
StevenKwgrant: Oh?02:13
wgrantStevenK: Why do we still have the publisher off during initialisation?02:13
StevenKI hadn't done any work on it -- but we don't want to publish a half-initialised series02:14
wgrantjtv: Regardless, this fix should probably be in ftparchive.py. And it's almost tempting to keep the crasher to indicate that something has gone wrong.02:14
wgrantStevenK: Sure, but that's probably better handled by IDS signaling that it's finished and enabling publication of the series.02:14
StevenKAgreed02:15
jtvHow do you enable publication of a series?  I thought that was per-distro.02:16
wgrantPerfect may be the enemy of good and all that, but perfect is not difficult here, and making it easier to silently do things wrong is also the enemy of good.02:16
wgrantjtv: Indeed, but that doesn't make much sense.02:17
jtvWhat is "that" in this case?02:17
wgrantjtv: DistroSeries needs an "initialised" flag or so. At the moment we have series like p-series sitting around and only not being published because they have nothing to publish.02:18
wgrantThe publisher should only consider initialised series.02:18
wgrantAnd that solves this problem.02:18
jtvThis is separate from the "initialised" flag on DSP, I take it.02:18
wgrantI don't think that flag should exist.02:18
wgrantBut perhaps it should.02:19
jtvThat's actually a recurring problem here, I think.02:19
wgrantOh?02:19
jtvA proliferation of status flags for what is really a process flow.02:19
StevenKThat's why I think it should be a DBEnum02:19
wgrantThe larger problem is that it is apparent nobody has though about how this is all going to work.02:19
wgrants/though/thought/02:19
jtvExactly.02:19
lifelessthinking is overrated02:20
* lifeless goes back to thinking02:20
StevenKI don't think it belongs on IDistroSeries, but only because it's enormous.02:20
wgrantI have thought about fixing DS.status.02:20
wgrantIt is possible taht we could reuse that.02:20
wgrantWe need to think how it will interact with Debian.02:21
wgrantBut it seems reasonable.02:21
lifelessStevenK: I don't think thats a good reason not to do it02:21
lifelessStevenK: thats a good reason to make it smaller, but if you hold of on genuine improvements because its not [yet] small, you hamstring yourself.02:22
lifelessStevenK: you could say 'we won't make it bigger' and go yak shaving to make it smaller to let you put this field in and keep it hte same size02:22
wgrantjtv: I am really worried that there is no design for any of this.02:22
wgrantjtv: It's just a set of cards.02:22
wgrantjtv: With people working it out as they go.02:22
lifelessbut that seems like saying 'making the class smaller is more important than making this part of the process reliable' - which I wouldn't agree with.02:22
jtvwgrant: same here, but I'm not a big fan of chucking in an enum right away either.02:23
wgrantjtv: Sure, we should actually talk about this.02:23
wgrantWith Julian and stuff.02:23
jtvYes.02:23
jtvI think we're sort of racing past an underlying problem,02:23
wgrantRather than just piling more hacks onto the pile of hacks that is already a significantly larger pile than before DDs.02:23
jtvwhich is that we don't have a clear map of the dependencies between actions.02:23
jtvWe have the current Ubuntu process, which is a serialization of actions--out of some set of possible ones.02:24
wgrantRiht.02:24
jtvSo I'm thinking: the first thing we ought to do is figure out what the dependencies are.02:25
jtvWhich is hard, and involves goat sacrifice.02:25
wgrantThat sounds dangerously close to planning ahead of time...02:25
jtvOr some other way of seeing into the nether realm of soyuz.02:25
jtvPlanning what ahead of what time?02:26
wgrantA feature.02:26
wgrantOr development thereof.02:26
jtv?02:27
jtvI'm saying we should understand what it is that we're already doing.  That doesn't strike me as premature feature development planning.02:28
StevenKjtv: wgrant is showing his bitterness again.02:28
jtvHe's too young to be bitter.02:28
jtv(For a non-Windows user, that is)02:28
wgrantIt was a derogatory implication that much of this work lately has been quickly patching over immediate problems without considering the underlying problems.02:28
wgrantSome post-release updates need to go to -updates? Hardcode -updates when datereleased is set! We need to create distroseries indices after a series has been initialised? We turn the publisher off during initialisation because we haven't quite fixed that yet, so we can just assume the publisher will be off!02:30
wgrantetc.02:30
wgrantThe feature was initially planned well, but the issues that have cropped up during development have had no planning at all.02:30
wgrantAnd this is how Soyuz got as bad as it is now.02:30
jtvI think these are two separate issues though.02:31
jtvThe new requirements were thrown into the design in a hurry.  Very bad.02:31
jtvBut what we were discussing is old design, and there a few hackish small steps may actually bring us to a better ultimate situation.02:32
wgrantBut there has been no consideration of the ultimate solution before implementing the hackish small steps.02:33
wgrantSo we don't know if we're going in the right direction.02:33
wgrantOr if we're going the direction soyuz did for its first three or so years.02:33
jtvPart of the problem is that we don't know what the ultimate initialisation procedure for a new series will look like.02:34
wgrant(which was possibly not unreasonable, due to time constraints, but that's not the case here)02:34
wgrantjtv: We need to sit down and work that out, I guess.02:34
jtvBut I suspect trying to design that up front may lead us to decisions that turn out to be wrong at a later stage.  In which case it's more effective to let a pattern emerge first, and then design for the pattern.02:35
wgrantWhat is in question?02:36
lifelesswgrant: this isn't how soyuz got to its current state02:37
wgrantlifeless: Oh?02:37
wgrantParts of it are very clear layers of hacks.02:38
lifelessyes02:38
wgrantMuch moreso than the rest of LP.02:38
lifelesswgrant: there was a lot of BDUF done early on02:40
lifelesswgrant: and it was wrong and never corrected02:40
wgrantSure.02:40
wgrantI'm not asking for BDUF on that scale.02:40
wgrantI am asking for a minimal amount of design.02:40
lifelesswgrant: I'm arguing that that is the root cause of many of the hacks02:40
wgrantNot 5-year speculative design like Soyuz.02:40
wgrantHmm.02:40
wgrantPartly, yes.02:41
wgrantBut not entirely.02:41
lifelessnow, subsequent work hasn't fixed the root issues, and has yes papered over stuff02:41
lifelessI'm all for aiming for a good design and root cause fixes02:42
lifelessI don't think you're wrong to argue that some more analysis is needed02:42
lifelessI think its false to say that incremental development got us here02:42
lifelesswhat got us here was overly focused designs that didn't address the root causes which /made/ the basic facilities hard to reuse.02:42
lifelessfor instance, picking something arbitrary we publish archives in two different ways for no good reason02:43
StevenKThat's because Celso got cold feet about NMAF.02:44
wgrantNo.02:44
wgrantPPAs need to be done, NMAF wasn't fast or complete enough for primary.02:44
wgrantCompletion never happened.02:44
wgrantNothing about getting cold feet.02:44
StevenKAh. And since it worked fine for PPAs, it was good enough.02:45
lifelessor we could have used apt-ftp for ppas [with different tradeoffs]02:45
wgrantIt turns out it didn't work fine, but the minor additional fixes were made.02:45
wgrantBut yes.02:45
lifelessbut the choice to bring in a different stack was done with sprints and design; the underlying issue wasn't, and hasn't been addressed.02:45
wgrantlifeless: For big stuff like that, yes, incremental development is not at fault. But there are so many special-cases and other gross hacks throughout Soyuz which are labelled as temporary hacks that will be discussed at $nextsprint, dated 2005 or 2006.02:46
lifelesswgrant: I think that shallower stuff is due to the overall 'we don't get to finish things' issue.02:47
lifelesswgrant: I give you e.g. blueprints02:47
lifeless:)02:47
wgrantlifeless: And we still don't get to finish things.02:47
wgrantEven with feature squads.02:47
lifelessthats interesting02:47
lifelessI thought we were doing a lot better02:47
wgrantWe set a deadline for feature completion weeks beforehand.02:48
wgrantThen the last couple of weeks are very conservative.02:48
lifelessI think you should raise this on one of the two lp dev lists02:48
wgrantFeature completion is not based on completion of the feature.02:48
lifelesswe have a glass display case for well, glasses02:50
lifelessit has a bottom draw thats wood02:50
lifelessso the glass starts about 25/30cm from the floor02:50
lifelessour newest kitten tries to jump into the cabinet02:51
lifelessso there is this patter patter patter ... THUMP02:51
wgrantAhaha.02:51
lifelessas he propels himself up that 30cm gap aiming at where he can see stuff... and whacks into the glass front02:51
wgrantSmaaart.02:51
wgrantWait, newest kitten? You have acquired multiple now?02:52
lifelesswe have 2 (the desired number) now02:52
StevenKAnd then shakes himself off and goes to lay in the sun?02:52
wgrantSun in NZ? lol.02:52
StevenKOh. Right.02:52
StevenKs/sun/slightly warmer bit/02:52
lifelesssun, no. chases the other cat, then tries again a bit later02:52
wgrant(although it was around 0 here this morning, so I guess I can't really talk)02:53
StevenKIt was 10 degrees when I went to bed02:53
StevenKThat's cold enough02:53
wgrantYay, bug heat timeouts on production now.02:54
wgrantOOPS-1956BA3302:55
* StevenK waits the 30 seconds that OpenID seems to take02:56
StevenKSigh, searching for oops makes me sigh02:57
jtvwgrant: some prolonged disconnectivity there...  What is in question?  Well currently, how we trigger and track the various steps in setting up a new series.02:59
wgrantjtv: Right, but why can this not be determined now?03:01
jtvI'm on thin ice there, but perhaps because so many things are shifting: we're generalizing beyond Ubuntu, IFP is becoming a job, we're introducing multiple parent relationships.03:03
wgrantRight.03:04
wgrantAnd the LEP basically only specifies +localpackagediffs UI.03:04
jtvYou'll hear no argument from me there...03:05
wgrantOh!03:05
jtv?03:05
wgrantSomeone agrees that the design is insufficient :)03:05
jtvI've been saying that for quite a while now I think.  You may not have heard all of it because it was on team calls.03:06
wgrantI have seen nothing other than a continuous stream of branches that reveal woefully inadequate design.03:07
wgrantI am glad that there has been some discussion or at least realisation that this is the case :()03:07
jtvBut again, I see different considerations for the design we inherited and the one we're trying to implement.03:07
wgrant*:)03:07
jtvI don't think anyone particularly disagrees that we have a hurried design and it's not exactly a work of fine art.  But what we _do_ about it is another kettle of fish altogether.03:08
* wgrant sighs and lunches.03:10
wgrant3 rollbacks in 24 hours :(03:22
spmnew record?03:23
wgrantI think so, yes.03:23
wgrantWe've had two a couple of times. But not three.03:23
spmsilver lining - is new record in our QA process to ensure that quality code lands on the LP prod branch. We're not afraid to rollback bad versions on discovery!03:30
wgrantHeh03:32
lifelesswaheeee04:04
lifeless 548 KeyError: 5658904:04
jtvthat's expressing just plain disdain for humans04:08
wgrantlifeless: That's the send-bug-notifications crap.04:08
wgrantYou might have noticed there were tens of thousands of them yesterday.04:08
wgrantIt is happy now.04:09
lifelesskk04:14
lifelessthanks04:14
lifelessis wallyworld doing uds?04:16
wgrantlifeless: The first couple of days, I think.04:20
wgrantIan Booth04:21
wgrant2011-05-09 till 2011-05-1004:21
lifelessthanks04:21
wgrantjtv: Hi.04:21
wgranthttps://answers.launchpad.net/launchpad/+questions?field.search_text=&field.sort=RELEVANCY&field.sort-empty-marker=1&field.actions.search=Search&field.language=en&field.language-empty-marker=1&field.status=OPEN&field.status=NEEDSINFO&field.status-empty-marker=1 has four questions assigned to Launchpad Translations Administrators/Coordinators. Who is meant to handle that sort of thing now?04:22
lifelessaren't we all rosetta admins now?04:23
jtvYes04:23
jtvhi wgrant... my life is so nice and interruption-free now that I'm no longer notified of messages04:23
wgrantSome of these are policy.04:23
wgrantHeh.04:23
* jtv looks04:24
jtvBy the way, Launchpad Translations Coordinators are a very different team.  They run our reference translation group.04:25
jtvOf the ones for rosetta admins, one is in Needs Information.04:26
jtvAnother actually should have been un-assigned.04:27
wgrantjtv: Right, I know they're a different group, which is why I was asking about them :)04:30
wgrantBecause I doubt they watch LP questions.04:30
jtvGood point.04:31
lifelessI need a proof reader04:34
lifelessSomeone that will read a doc and make a list of wtf moments to give to me04:34
lifelesswgrant: tag, you're it ^, if you have time.04:40
wgrantI'm not going to get any useful code done today, so I might as well.04:41
* wgrant looks.04:41
jtvwgrant: you were right by the way--IFP fixed my directories problem.04:44
wgrantjtv: Great.04:45
wgrantjtv: Are bug #55211 and bug #777941 deployable?04:45
_mup_Bug #55211: shouldn't require careful publisher run when cloning new released distrorelease <derivation> <lp-soyuz> <new-release-cycle-process> <qa-needstesting> <soyuz-publish> <Launchpad itself:Fix Committed by jtv> < https://launchpad.net/bugs/55211 >04:45
_mup_Bug #777941: Create distroseries indexes from regular publisher run <derivation> <qa-needstesting> <Launchpad itself:Fix Committed by jtv> < https://launchpad.net/bugs/777941 >04:45
jtvwgrant: yes, because we're not using that script yet anyway.04:45
wgrantThat's what I thought. Thanks.04:46
jtvAlso, I just got it working on df.  :)04:46
wgrantExcellent!04:46
jtvNow to fake those marker files for O.04:48
jtvOr rather, figure out whether we need to.04:49
wgrantWell, what's it going to do? A no-op index publication when we set it to frozen?04:50
LPCIBotProject windmill-devel build #57: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-devel/57/04:51
jtvwgrant: I was told that doing a publish-distro -A on the suites at such a later stage would be harmful.05:11
jtvStevenK: where is IDerivedDistro as mentioned in bug 643369?05:13
_mup_Bug #643369: IDistroSeries.deriveDistroSeries() should use the security adapter <derivation> <lp-registry> <Launchpad itself:Triaged> < https://launchpad.net/bugs/643369 >05:13
wgrantjtv: I don't believe that to be the case.05:13
wgrantIt's not ideal.05:13
wgrantBut it shouldn't break anything.05:14
wgrantUndesirable, but not harmful beyond possibly wasting a few minutes.05:14
* jtv suffers a mild gust of despair from hearing these contradictory requirements05:14
jtvIt's safe to run publish-distro -A on a series (and suites) that has already been published?05:15
wgrantYes. It will do bad things if it's released, but frozen is not release.05:15
wgrant+d05:15
wgrantAll it does it forces the pockets to be dirty.05:16
jtvwgrant: that doesn't sound so bad, for a one-off migration issue05:21
jtvHmmm this looks useful: http://justinhalpern.tumblr.com/post/5135237870/office-e-mail-translator05:21
wgrantjtv: I hoped it would be something to de-Outlook HTML.05:24
jtvAlas.05:25
jtvwgrant: I'll ignore the marker files issue then, but leave it on the table for a double-check with jools.05:25
wgrantjtv: Sounds good.05:26
jtvMeanwhile, trying to make sense of bug 643369, which is marked as a high priority.  What is this IDerivedDistro it speaks of, and why should Ubuntu not count as one once it's marked as derived from Debian?05:26
_mup_Bug #643369: IDistroSeries.deriveDistroSeries() should use the security adapter <derivation> <lp-registry> <Launchpad itself:Triaged> < https://launchpad.net/bugs/643369 >05:26
wgrantjtv: Because 2005, that's why.05:26
jtvAh yes, 2005, the explanation for everything.  :)05:27
jtvwgrant: still, what would determine whether a distro is an IDerivedDistro?05:28
wgrantI think the owner is a more sensible check, but using IDerivedDistro is stupid and wrong.05:28
wgrantIDerivedDistro itself is stupid and wrong.05:28
wgrantIn its current definition, at least.05:29
wgrantI believe it's currently != ubuntu.05:29
wgrantWhich is obviously crap.05:29
jtvSo... debian would be an IDerivedDistro!?05:29
wgrantYes.05:29
wgrantWhen it is in reality the only non-derived distro.05:29
wgrant        if self.name == 'ubuntu':05:29
wgrant            alsoProvides(self, IBaseDistribution)05:29
wgrant        else:05:29
wgrant            alsoProvides(self, IDerivativeDistribution)05:29
StevenKIDerivedDistro is effectively "Any distro which isn't Ubuntu"05:30
wgrant(From Distribution._init)05:30
StevenKjtv: I think that bug is hard to fix, too05:30
jtvAh, "Derivative."  That's why I got no hits for "Derived."05:31
wgrantAh, IDerivativeDistribution is, in its current form, used for Ubuntu-specific permissions.05:31
wgrantSo you might want to rename it to IHaveBadlyDefinedUbuntuDrivers.05:31
jtvHeh05:32
jtvMaybe I shouldn't be working on this bug then, especially since it doesn't say why the change is needed.05:33
wgrantIt's certainly not pressing.05:34
jtvIt's marked as a high priority.05:34
jtvUnlike all other pending tasks.05:34
StevenKIt's needed because currently you need to be a member of soyuz-team or an admin to derive a series. You should be a driver or owner of the destination d05:34
jtvOh, that05:35
StevenK*distribution (since the series may not exist)05:35
jtvThat's much clearer, thanks.05:35
jtvStevenK, wgrant: how weird to have deriveDistroSeries on DistroSeries...  I would have expected it to be on the derivative distribution.05:59
LPCIBotProject windmill-devel build #58: STILL FAILING in 43 min: https://lpci.wedontsleep.org/job/windmill-devel/58/05:59
StevenKjtv: The DistroSeries you call it from is the one you're deriving from?06:00
jtvYes.06:00
jtvBut ISTM you only need read permissions on that.  The derivative distro is what you're appending to.06:00
StevenKYes ...06:00
jtvAnd then it checks if the derived series you want to create may already exist, and if it does, initialize it.06:02
StevenKjtv: Completly seperate.06:02
StevenKjtv: We use the object were calling deriveDistroSeries() on as the parent series -- so it doesn't need to be fed into the argument list.06:03
StevenKAnd deriveDistroSeries() is happy enough to create the series if it can't find it.06:03
jtvFrightening.06:04
* StevenK goes back to fixing tests06:04
jtvISTM this wants to be a method on the parent Distribution plus a method on the derived DistroSeries, rather than a single method on the parent DistroSeries.06:05
StevenKWhat?! You're making no sense, and I'm getting cross.06:06
wallyworldwgrant: ping06:14
wgrantwallyworld: Hi.06:28
wgrantjtv: Possibly, but it may be sensible to do them in one operation sometimes.06:29
jtvSensible or easy?06:29
wallyworldwgrant: i have had a go at moving the gpghandler stuff to the tac file but am unsure a) if it's correct and b) how to test. could you have a look?06:29
wallyworldwgrant: i've not seen or used the tac stuff before. here's a draft mp https://code.launchpad.net/~wallyworld/launchpad/poppy-sftp-gpgconf/+merge/6045406:30
wgrantwallyworld: I didn't do it myself precisely because I couldn't think of a quick way to test it.06:30
wgrantTwisted people and/or lifeless may have ideas.06:30
wallyworldwgrant: ok. what's the bit of code that event loads and runs the tac files?06:31
wallyworldeven06:31
wgrantwallyworld: They're run by twistd.06:31
* StevenK reads the MP and vomits06:31
StevenKSurely there HAS to be a better way06:31
wgrantwallyworld: See utilities/start-dev-soyuz.sh06:31
wallyworldwgrant: ok.06:32
wallyworldStevenK: you're welcome to tell me a better way06:32
StevenKExtending gpg handler that didn't use directory that gets reaped would be nice06:32
wallyworldStevenK: the bug report had a bit of discussion and what's been done seems to be the best that could be though of06:32
wallyworldStevenK: apparently there's issues with that approach06:33
wgrantWe could possibly use /var/tmp. But this isn't *that* bad.06:34
StevenKI meant a IDaemonGPGHandler or so -- unless there is an easy way to overwrite methods06:34
StevenKwgrant: It's a hacky kludge, and it makes me sad.06:34
wallyworldStevenK: makes me sad too. but it seems to be the "accepted" approach according to the bug report comments06:36
wgrantwallyworld: I'd rename GPGHandler job to something more obvious, but apart from that it looks OK. Still not sure how to test.06:37
lifelessI don't think an integration test is worth doing06:37
lifelesstac files are astonishingly hard to test and I have never understood why they are way they are06:38
lifelessI always write regular functions06:38
lifelessand then make my tac files06:38
lifelessfrom foo import bar06:38
lifelessbar()06:38
wallyworldlifeless: ok. so doing it that way you just unit test bar separately06:39
lifelessright06:42
lifelessand take it on faith that the tac calls bar06:42
lifelessbut you keep it to those literal two lines06:43
lifelesswallyworld: what was the architecture of the stuff @ caterpillar06:43
lifelesswallyworld: I mean, did you have one big tree like we do, or a bunch of small trees; did you write micro services or have a single big DB06:44
wallyworldlifeless: it was one big tree (project started over 10 years ago before EJB spec had even hit 1.0) but it's slow evolving to a more modular approach using stuff like OSGi06:45
wallyworldlifeless: there is currently a single Oracle instance but separate schemas for BI reporting etc06:45
lifelesswallyworld: I'm starting the socialisation process of this - https://dev.launchpad.net/ArchitectureGuide/Services - and given how recently you've joined the team, I think you'd make a good early-draft reader of it... if you have the time06:46
lifelesswgrant: did you have any feedback ?06:46
wallyworldlifeless: cool. will look.06:47
wgrantlifeless: I have no real suggestions for improvement. It's not yet really at a stage where I can tell you you're wrong.06:47
wgrantIt looks very good so far.06:47
lifelesswgrant: s/you/if/?06:47
wgrantNo.06:47
lifelessoh, right.06:47
wgrant+that, potentially.06:48
lifelessdo you think I'm wrong and waiting for evidence, or hope I'm not but didn't find any (due to lack of concrete data)06:48
wgrantI believe you're right, and that page gives me no doubts.06:48
LPCIBotProject windmill-db-devel build #256: STILL FAILING in 1 hr 17 min: https://lpci.wedontsleep.org/job/windmill-db-devel/256/06:50
lifelessI think I need more pessimistic colleagues :)06:51
wallyworldlifeless: *very* brief look before going to breakfast - the proposal also needs to mention domain modelling changes - the sort of stuff we've discussed previously wrt business objects vs persistent objects. also inter-service apis which exchange object references need to do so using external/business key references etc. in short, this aspect is a whole topic worthy of discussion in the lep06:57
* wallyworld off to breakfast06:59
lifelesswallyworld: those are good things to talk about07:00
wgrantBut I don't think this is the place.07:00
wgrant /stage07:00
lifelesswallyworld: on the latter I was assuming we'd use a locally unique key - its a well known and solved issue. On the former the template/api service would be sane, the current core would not change (but would lose all view code).07:01
lifelesswallyworld: so I concur with wgrant; I think those things are truely orthogonal to the business case07:01
jtvwgrant: why did you mark the bug for creating ds indexes from publish-ftpmaster as qa-untestable?07:07
wgrantjtv: Because it was about 30 seconds before you told me you'd tested it, and I wanted to clear up the QA state.07:08
wgrantWhich is currently an unprecedented mess.07:08
jtvI thought our current procedure for "safe to deploy even if not actually Q/A'ed" was to mark the bug as qa-ok.07:09
jtvI'm asking because I could easily have missed a change.07:09
lifelesseither is fine07:09
lifelessuntestable is what --no-qa sets when you pass it to ec2 land07:09
wgrantI've been told off for using qa-ok for OK-to-deploy before.07:09
lifelessusing qa-ok will add confusion if folk want to assess 'fixes bug' vs 'ok to deploy'07:10
lifelesswhen I say either is fine, I mean I don't care :)07:10
* jtv wishes we had deploy-ok and so on07:11
lifelesssomeone just needs to do it - patch up qatagger07:15
lifelesswgrant: have you landed that backout?07:19
wgrantlifeless: Yes.07:20
wgrantWill be out of buildbot in a couple of hours.07:20
lifelesscool07:20
wgrantThinking about it again I should have had buildbot killed.07:20
lifelessI'm just looking for a good rev to test this rabbit branch07:20
wgrantSince it landed soon after a new run had started.07:20
LPCIBotYippie, build fixed!07:29
LPCIBotProject db-devel build #532: FIXED in 5 hr 52 min: https://lpci.wedontsleep.org/job/db-devel/532/07:29
lifelessman the pypy bug tracker is -fail- ui07:42
lifelessfiling a new bug asks for a 'change note'07:42
StevenKSounds like two bugs, then07:43
lifelessStevenK: well, they use roundup07:48
lifelesshttps://codespeak.net/issue/pypy-dev/issue718?@ok_message=msg%202507%20created%3Cbr%3Eissue%20718%20created&@template=item07:48
wgrantlifeless: ah, so you are trying lmirror on pypy?07:49
StevenKEwwwww07:49
wgrantI was going to suggest that over rewriting it in Go.07:49
lifelesswgrant: I wanted to evaluate it yes07:50
lifelesswgrant: real    0m7.188s07:50
lifelessuser    0m6.760s07:50
lifelesssys     0m0.390s07:50
lifelessvs07:50
lifelessreal    0m9.227s07:51
lifelessuser    0m8.880s07:51
lifelesssys     0m0.340s07:51
wgrantWhich is which?07:51
lifelessto capture a delta of a mirror push on a 500K file tree whose shape was given by the ls -lr from archive.u.c07:51
lifelesswgrant: the faster one is pypy07:51
wgrantRight.07:52
wgrantLess good than I would have expected.07:52
lifelesswgrant: even with the extra 0.8 seconds from the parsing split07:52
wgrantOh.07:52
wgrantHmm.07:52
wgrantyou probably really want an itersplit, anyway.07:53
lifelessyes07:53
lifelessI've rewritten the parser to use a generator, which was ~0 saving in cpython07:53
lifelessso I shelved it07:53
wgrantBut could be massive in PyPy..07:54
lifelessyeah07:54
StevenKlifeless: Your bug report title says string.plit, by the way\08:01
StevenKs/\\//08:02
lifelessheh08:02
jmllifeless: awesome!08:06
lifelessjml: I know! and now we have a user we can't change the api!? :(08:09
jmllifeless: uhhh, I reckon we could work with him08:09
jmllifeless: also, we could just make something better & make it part of fixtures08:09
lifelessjml: yes, I was teasing about the API08:09
lifelessI'm sure he'd adapt to a nicer API if we get it togethe08:10
lifelessr08:10
lifelessI got mail from him out of the blue08:10
lifelesssaying that this was nicer than the layer he had before08:10
jml:)08:13
NCommanderWhat's the best way to create test packages for Soyuz? I need to implement a test suite which causes an arch-any/arch-all skew08:25
NCommanders/suite/case/g08:25
wgrantWhat are you trying to do?08:25
lifelesswgrant: with ec2 demo, should it appear to hang on buildout ?08:26
lifelesswgrant: or is it just -darn- slow?08:26
wgrantlifeless: No, but it will take several minutes.08:26
wgrantUnless you are asuka, then 30 minutes is common.08:26
NCommanderwgrant: cause publisher to retain older binaries during an arch any/arch all skew which has been the primary cause of image breakage on armel08:27
wgrantNCommander: You should talk to the Soyuz developers about that first oh wait.08:27
NCommanderwgrant: well I want the test case so I can show the problem before any solution is implemented08:27
lifelesswgrant: what should it do ?08:28
lifelesswgrant: end up in a shell? return to the prompt and wait for manual shutdown?08:28
wgrantNCommander: You don't want to use real packages for that. Use SoyuzTestPublisher.08:28
wgrantlifeless: It will tell you that the webapp is running now and then give you a Python REPL.08:28
lifelesswgrant: apparently not08:28
wgrantLies.08:28
NCommanderwgrant: I disagree, since the test validation should be if APT can still install packages from LP08:28
lifelessutilities/shhh.py PYTHONPATH= ./bin/buildout \08:29
wgrantNCommander: That's a very high-level complex integration test at a scale we do not currently have.08:29
lifeless                configuration:instance_name=development -c buildout.cfg08:29
lifelesswas the last I have seen from it08:29
wgrantlifeless: Is buildout eating CPU?08:29
NCommanderwgrant: *grumble* :-/.08:29
lifelessNCommander: doing that is fine to demonstrate the problem08:29
wgrantNCommander: Can you imagine how slow the test suite would be if we did that for everything?08:29
lifelessNCommander: but its at a huge remove from the source of the issue08:29
wgrantBut we are well aware of that problem.08:29
wgrantIt does not require demonstration.08:30
lifelessNCommander: and there is a bug for this case already :P08:30
NCommanderlifeless: was not aware of this, I was simply poking LP with a big stick to try and work towards this08:30
lifelessNCommander: cool08:30
NCommanderlifeless: My initial idea was to simply implement the publishing algrothmin used by dak to retain old binaries until the arch any/all skew is resolved in unstable08:30
NCommander(and I poked cjwatson on it who pointed me to the original Debian spec on this subject)08:31
wgrantFor us it's far easier than that.08:31
NCommander?08:31
wgrantTo fix it is basically a matter of deleting code.08:31
wgrantSince we explicitly supersede them atomically now.08:31
lifelesswe do this deliberately you see :>08:31
NCommanderlifeless: it causes a lot of issue with ARM ports.08:31
lifeless\o/ bug search timeouts08:31
NCommander(and to a lesser extent PPC)08:31
lifeless OOPS-1956EB15108:32
rvba_stub: Hi and thanks for the review!08:32
wgrantrvba_: Hi. Did you get anywhere with your traversal?08:32
NCommanderlifeless: wgrant: where's the existing LP bug?08:32
lifelesswgrant: is it bug 402935 ?08:32
_mup_Bug #402935: Domination of architecture independent binaries is not restricted to the source publication boundaries <boobytrap> <lp-soyuz> <ppa> <Launchpad itself:Triaged> < https://launchpad.net/bugs/402935 >08:32
wgrantlifeless: No, but that would be fixed by this.08:32
wgrantlifeless: Because it's a bug in the code that would be deleted.08:33
rvba_wgrant: I'll start with that just now.08:33
wgrantrvba_: grep for stepstogo.consume08:33
wgrantrvba_: No need for an intermediate object.08:33
rvba_wgrant: ah ... I'll take a look at  stepstogo.consume, thanks!08:33
lifelesswgrant: do you know the bug fo rthis?08:33
wgrantBug #3408608:34
_mup_Bug #34086: morguing arch-all packages can result in uninstallable binaries <feature> <lp-soyuz> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/34086 >08:34
wgrantMmm, I guess it does have to be aware of dependencies, so it is a bit of work.08:34
* NCommander notes that dak handles this now */comment*08:35
lifelessNCommander: thats nice dear :)08:35
wgrantYes, but dak doesn't suck.08:35
wgrantAnd is improving.08:35
wgrantSo it is doubly much better than LP.08:35
* NCommander helped rewrite much of dak long ago :-/08:36
lifelesswgrant: hey, LP is improving08:36
lifelessNCommander: we'd love a patch for this for lp08:36
NCommanderlifeless: I'd be glad to do the foot work, but I'm not a LP guru08:36
StevenK'leg work' :-P08:36
wgrantlifeless: Yes, but glacially.08:36
NCommanderthis is the dak spec for how Debian fixed it http://ftp-master.debian.org/wiki/projects/arch-all-tracking/08:36
NCommanderI think its probably pretty sane if we simply implement in a similar fashion08:37
wgrant"We remove all arch all packages that are not referenced by existing source packages but to be safe we always keep the newest version similar to the source removal case. The process is called 'old_and_unreferenced', too."08:39
wgrantThat's not an entirely useful description of how referencedness is calculated.08:39
lifelessjml: the ec2 postmortem console is interesting08:39
lifelessjml: but it lies:08:39
NCommanderwgrant: a lot about dak is simply looking at the code :-P08:39
lifelessEC2Instance is available as `instance`.08:40
NCommanderer, is only explainable by looking at the code08:40
lifeless>>> instance08:40
lifelessTraceback (most recent call last):08:40
lifeless  File "<console>", line 1, in <module>08:40
lifelessNameError: name 'instance' is not defined08:40
jmllifeless: the postmortem console isn't my feature (although I probably broke it).08:40
lifelessjml: and here I was giving you undue credit :)08:40
jmllifeless: :)08:41
NCommanderwgrant: I'm guessing the way to start is drafting a LP spec which describes how dak does it and how we want to implement their braindamage^W process08:41
adeuringgood morning08:42
lifelessNCommander: uhm, probably not.08:42
lifelessNCommander: a LEP /may/ be useful, but probably isn't.08:43
lifelessNCommander: I'd refine the bug until its implementable, make sure you have input from experienced folk like Julian, and then start doing it.08:43
* NCommander is beginning to under Soyuz's design ...08:44
NCommander*understand08:44
wgrantI think we probably want to undo ArchiveRemovalRedesign :(08:46
NCommanderwgrant: what is ArchiveRemovalRedesign?08:47
* NCommander is writting a comment on the bug08:47
wgrantNCommander: 2006 stuff.08:47
lifelessI've bumped the bug08:47
wgrantWhich is mildly relevant here.08:47
wgrantI am pondering how this will work.08:47
NCommanderlifeless: I'm also putting some comments on why this is important now08:47
wgrantWe need to only drop things from the indices when all binaries from a source on a particular arch are superseded.08:47
wgrantWhich probably means we need an intermediate status.08:48
lifelesswgrant: superseded-or-not-built-anymore08:48
lifelesswgrant: the dependency check is more accurate08:48
wgrantWhich dependency check?08:48
NCommanderWouldn't the solution simply be keeping the old binaries published until superseeded?08:48
StevenKWe do08:49
NCommander(i.e., change when the superseeded status is applied to a binary record)08:49
wgrantNCommander: They are superseded already.08:49
lifelesswgrant: modelling this as 'no version locked rdeps exist'08:49
lifelessNCommander: https://blueprints.launchpad.net/launchpad/+spec/archive-removal-redesign08:49
wgrantlifeless: That's taking it to another level entirely.08:50
NCommanderlifeless: that's like making testing exist in Soyuz08:50
StevenKNCommander: You can make that joke only after fixing the testsuite08:50
NCommanderStevenK: Debian testing08:51
NCommandernot testing in general08:51
StevenKTesting does exist?08:51
StevenKDoes it not?08:51
lifelesszomg08:51
lifelesscelso wtf08:51
NCommander... its like implementing britney's functionality in Soyuz08:51
NCommanderGrumble08:51
NCommanderlifeless: ?08:51
wgrantlifeless: Where?08:51
lifelesshttps://launchpad.canonical.com/SoyuzArchiveRemovalRedesign/ - see the explain analyze and assertions about fineness08:51
StevenKNCommander: We also run britney08:51
wgrantlifeless: Oooooh I can see the spec now.08:51
NCommanderStevenK: yes, but we don't split out a specialize archive of packages that are only installable08:52
* NCommander can't see that wiki page ...08:52
StevenKNCommander: Testing doesn't mean the package is installable, just that it built08:52
StevenKAnd it isn't a seperate archive, it's a seperate *series*08:53
NCommanderStevenK: britney doesn't allow a package to migrate from unstable->testing unless its installable on all release-candidate architectures08:53
lifelessNCommander: click on 'login'08:53
lifelessNCommander: it should let you see it08:53
NCommanderlifeless: yeah, figured that bit out08:53
wgrantlifeless: What about that assertion is particularly faulty?08:54
wallyworldwgrant: review? :-) https://code.launchpad.net/~wallyworld/launchpad/poppy-sftp-gpgconf/+merge/6045408:55
lifelesswgrant: seqscan == seqscan08:56
lifelesswgrant: both are horribly inefficient08:57
lifelesswgrant: as an assessment for its utility on production data (even of the time) its utterly useless08:57
wgrantlifeless: I didn't even consider the possibility that it was a seq scan, because that would just be stupid.08:57
lifelesswgrant: Aggregate  (cost=5909.43..5909.44 rows=1 width=0) (actual time=543.342..543.346 rows=1 loops=1)08:57
lifeless   ->  Seq Scan on securesourcepackagepublishinghistory  (cost=0.00..5754.15 rows=6211208:57
wgrantSo I just looked at the filter and time.08:57
wgrantImpressive.08:58
bigjoolssecuresourcepackagepublishinghistory?08:58
lifelessbigjools: I'm lamenting a previous performance analysis which I happened to run into fallout from just last week08:59
lifelessas in 'things are slow because of this'08:59
* NCommander is getting in the feeling he's stepped into something old and crufty08:59
wgrantNCommander: What, you mean Launchpad? :)08:59
NCommanderwgrant: heh09:00
stubIs it possible to reorder a bzr pipeline?09:02
mrevellHello all09:09
=== almaisan-away is now known as al-maisan
lifelesswgrant: jml: ec2 demo seems reproducibly broken for me09:44
wgrantlifeless: Probably.09:44
wgrantIt's not used very much.09:44
wgrantat all.09:44
jtvallenap, got a mo' to chat about PackageCopyJob?09:47
allenapjtv: Sure.09:47
jtvThanks.  This is about the "only sync up to 100 packages" work.09:48
allenapjtv: Mumble or MS Skype?09:48
jtvIf you put it like that, then mumble please.  :)09:48
bigjoolsMS Skype, lol09:51
lifelessbigjools: you've seen the news, right?09:51
bigjoolsyeah09:52
bigjoolstrying to work out what I can use instead09:52
wgrantYeah, this could be interesting.09:53
lifelessits a damn shame09:54
lifelesstheir echo detection is awesome09:54
bigjoolsyes, it is09:56
bigjoolsthe biggest problem for me is finding a skypeout replacement09:57
lifelessdial 9 for an outside line?09:57
bigjoolsjml!09:57
bigjoolslifeless: if I can use that for personal calls as well, sure :)09:58
* bigjools considers remaining critical bugs as just high on June 26th09:58
StevenKbigjools: Host asterisk on a VPS?09:58
lifelessbigjools: speaking of criticals09:59
bigjoolsso that jml gets a pie09:59
lifelessbigjools: I want to nuke that soyuz specific oops report09:59
allenapI have three Netgear land-line phones with Skype built-in. MS have pwned my base.09:59
bigjoolslifeless: is there a way of including it in the prod report?09:59
lifelessbigjools: you've had a month or so of low oops counts in the main report to see if that wil lcause you grief or not09:59
StevenKallenap: :-(09:59
lifelessbigjools: the oopses are there09:59
bigjoolslifeless: that's not the issue09:59
bigjoolslifeless: the issue is that occasionally there's a ZOMG problem that is only apparent from that report10:00
lifelessbigjools: that applies to all services though10:00
lifelessbigjools: a spike of oopses is a problem10:00
bigjoolslifeless: yes, but the single oops that we need to see is not visible enough buried in the other report10:00
lifelessbigjools: if you still need it, we'll leave it, but I fail to understand what makes it special10:00
bigjoolsvisibility10:00
bigjoolsif you can guarantee that we'll see that single oops in the main report, I am very happy to lose one more email from my inbox10:01
lifelesswe'd get -one- oops and it would be a zomger?10:01
bigjoolsthe report is based around volume of oopses as opposed to their criticality10:01
bigjoolsyes10:01
lifelesshow does that work?10:02
* bigjools racks brain10:02
lifelessalso, relatedly -  285 OperationalError: FATAL: Ident authentication failed for user "sync_packages" FATAL: Ident authentication failed for user "sync_packages"10:02
lifeless-really- needs fixing.10:02
bigjoolsallenap: ^10:02
lifelesslike really really.10:02
lifelessit needs a config dir setup, the cronscript set to use that dir, with a new OOPS prefix, and the db user created.10:03
lifelessabout 15 minutes work.10:03
allenaplifeless, bigjools: Rats, I meant to fix that last week. Sorry. I'll do that today.10:03
lifelessallenap: thank you10:03
lifelessbigjools: thanks!10:03
bigjoolscheers allenap10:04
bigjoolslifeless: I can't remember the specific instance now, sorry :(  But there have been times in the past where a single or few oopses would have been buried in a sea of timeouts in the main report.10:05
lifelessbigjools: kk, thanks for trying :)10:05
bigjoolslifeless: what I'd like to see is all those routine oopses removed in the current reports, they should not be oopses, and then we could consider putting soyuz oopses at the top of the prod report.10:05
bigjoolslifeless: the publisher has the odd problem where corrupt data is caught by an assertion once an hour10:06
bigjoolslifeless: but believe me, fewer emails is good, I am all for that :)10:07
lifelessso lets leave the status quo for now10:08
NCommanderwgrant: lifeless: so where do we go from here on re:arch-all/any?10:18
lifelessNCommander: code10:18
lifelessNCommander: and talk to julian10:19
NCommanderlifeless: I guess I need to start with writing a test case ...10:20
wgrantcheck_permission in model code is still verboten, right?10:29
wgrantrvba_, bigjools: checkCopy calls check_permission... this is probably not legal.10:30
wgrantIn fact, yeah, that's buggy.10:31
bigjoolsI can't remember why it's verboten10:31
wgrantIt always checks the primary archiev.10:31
wgrantFourth rollback in 24 hours woo.10:31
bigjoolswhat are you looking at?10:31
bigjoolsrvba_ is no around this morning BTW10:31
wgrantbigjools: CopyChecker.checkCopy10:32
wgrantif reason is not None10:32
wgrantIt checks launchpad.Append on the primary archive.10:32
wgrantBad for at least two reasons:10:33
bigjools:/10:33
wgrant 1) check_permission in model is bad.10:33
wgrant 2) main_archive is mostly not the right thing.10:33
wgrantbigjools: What do you think?10:34
bigjoolswgrant: main_archive is clearly wrong10:35
bigjoolswhen we have self.archive10:35
LPCIBotProject windmill-db-devel build #257: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-db-devel/257/10:36
wgrantbigjools: And I think using check_permission is a bad idea, given that the method takes a Person already.10:36
bigjoolswgrant: agreed10:36
wgrantbigjools: I really don't want confusing security in this sort of code :)10:36
bigjoolswgrant: agreed10:37
wgrantBut rather than roll it back for a second time, I shall fix it.10:37
wgrantOr at least try to quickly.10:37
wgrantShould be a matter of deleting that block and adding check_permissions=False to the do_copy call in syncSource.10:37
bigjoolswgrant: thanks10:37
bigjoolswgrant: assuming the security adapter already DTRT10:38
wgrantbigjools: The security on syncSource hasn't changed.10:39
bigjoolswgrant: where was the lp.append for security enforced, I can't remember10:39
wgrantbigjools: It's enforced by the Archive securityproxy.10:39
wgrantArchive.syncSource(s) is hidden behind launchpad.Append10:39
bigjoolsright10:40
wgrantThey're on IArchiveAppend.10:40
wgrantStill.10:40
bigjoolswgrant: goes to show, we need experienced soyuz people carefully checking soyuz branches :/10:42
wgrantbigjools: Surely not!10:42
wgrantThere's a reason I'm not unhappy that most deploys happen during my day where I can watch :)10:43
bigjoolsheh10:44
bigjoolswgrant: IIRC this was added because you said to rvb that security would lose lp.append without it10:45
wgrantbigjools: Yeah. But I intended that syncSource would call do_copy with check_permissions=False, to limit the security hack as far as possible.10:46
wgrantNot that check_permissions=True would handle the hack itself.10:46
bigjoolsok10:46
wgrant(check_permissions=False turns off all the new code, so we just get the old behaviour)10:47
pooliehi all10:47
bigjoolswfm10:48
=== al-maisan is now known as almaisan-away
wgrantGreat, thanks.10:48
bigjoolswgrant: we only want the new behaviour in the job10:48
bigjoolshi poolie10:48
bigjoolsnice blue hair :)10:48
lifelessbigjools: so I think this is 'new to lp coding' not 'new to soyuz' - I've seen other similar thinkos10:51
bigjoolslifeless: the reviewer missed it10:52
lifelessbigjools: yes, yes they did10:52
bigjoolswgrant: we need to talk about build dependencies for multiple parents10:52
bigjoolsand our current schema10:52
wgrantbigjools: So we do.10:53
wgrantDo you want to mumble tonight?10:53
bigjoolsI was hoping to get jtv and StevenK involved too10:53
bigjoolsbut yes10:54
adeuringstub: still around?10:56
stubadeuring: yes10:59
adeuringstub: I'm trying to figure out how to avoid the timeouts from bug 739075. AS I understand it, most time is spent in joining QuestionMessage and Message in order to find messages from given person11:00
_mup_Bug #739075: Person:+questions timeouts <timeout> <Launchpad itself:In Progress by adeuring> < https://launchpad.net/bugs/739075 >11:00
adeuringstub: I'm wondering if we should add a column questionmessage.owner, simmilar to bugmessage owner11:01
wgrantadeuring: We fixed that for bugs recently by denormalising Message.owner onto BugMessage.owner11:01
wgrantThat.11:01
stubadeuring: The way it was solved for BugMessage was to add an owner column11:01
adeuringright11:01
wgrant"recently" meaning "last week"11:01
stubadeuring: I'd work from that template. The garbo.py job is still there for you to cargo cult.11:01
adeuringok, so I'll try that too for questions11:01
stubAlthough for questions, we can probably just do all the data migration in the db patch since it is much smaller.11:02
stubThat will save the overhead of multiple db patches etc.11:02
adeuringok, sound more conveniet :)11:02
bigjoolswgrant: can you remember the exact reason for not using check_permission in model code?11:07
wgrantIn this particular case I would forbid it anyway, since a user is taken explicitly. But check_permission is pretty terrible in model code in general because it's executed from scripts and other situations without a user context, so it's fairly meaningless.11:09
bigjoolsah that was it11:10
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: gmb | https://code.launchpad.net/launchpad-project/+activereviews
bigjoolsI am moving an exported method from IDistroSeriesPublic to IDistroSeriesEditRestricted.  Unfortunately the copy_field directives in the @operation_paramters now refer to fields in the other class.  Is there a way to make it work or do I need to repeat the actual field declaration again?11:50
wgrantbigjools: You can't just refer to the other class?11:52
wgrantOr are they in the wrong order?11:52
bigjoolswgrant: wrong order, but that's easily fixed11:55
wgrantOtherwise use one of the usual patchers.11:56
bigjoolsnope, doesn't work11:57
wgrant!doesn't work12:00
wgrantBah, no ubottu12:00
* bigjools scratches head12:01
wgrant21:01:09 <ubottu> Doesn't work is a strong statement. Does it sit on the couch all day? Does it want more money? Is it on IRC all the time? Please be  specific! Examples of what doesn't work tend to help too.12:01
* bigjools slaps wgrant with a large haddock12:01
bigjoolsI'm doing something so obviously wrong I can't see the wood for the trees.12:02
jpdsHmm, work from couch.12:02
bigjoolsI've got name=copy_field(IDistroSeriesPublic.name ....12:02
spivbigjools: slapping people with Tintin characters is a bit extreme!12:02
bigjoolswhich errors out with AttributeError: 'InterfaceClass' object has no attribute 'name'12:02
wgrantbigjools: Oh.12:02
wgrantIDistroSeriesPublic['name']?12:02
bigjoolsspiv: Python reference!12:02
bigjoolswgrant: EUARGH12:03
spivbigjools: a weakref :P12:03
=== mrevell is now known as mrevell-lunch
bigjoolsspiv: not counted properly12:04
wgrantbigjools: An interface is not a class!12:04
bigjoolsyes it is12:04
bigjoolsit says "class" :)12:04
henningegmb: Here is a nice little branch for you, if you'd be so nice to take it, please. ;-)12:04
wgrantThat's just because Python sucks.12:04
henningehttps://code.launchpad.net/~henninge/launchpad/bug-196679-language-packs-value-error/+merge/6048712:04
bigjoolssometimes, yes it does12:05
bigjoolsand coming from a C++ background it confuses the shit out of me sometimes12:05
gmbhenninge: Ah, the perfect size to review just before lunch.12:05
henningegmb: great, thanks12:05
spivbigjools: also, wikipedia, the source of all true and indisputible knowledge, says the fish-slapping dance involved pilchards and a halibut.12:05
bigjoolsI bow to wikipadeoia12:06
gmbhenninge: r=me.12:08
* gmb -> Vittles12:08
wgrantIf there is something bad in r13009 or r13011, I am going to be very sad.12:11
spivwgrant: Python's class statement doesn't suck, it's great.  It allows stuff like class Ten(1,2,3,4): __metaclass__ = type('', (type,), {'__new__': lambda *a: sum(a[2])})12:13
spivHow could that be a bad thing? ;)12:14
wgrantspiv: Did you pull that off the quotes page?12:14
wgrantI'm sure I've seen it there.12:14
spivNo, but it's probably due to me that a version of that is already there.12:14
* bigjools vomits12:15
wgrantIndeed, https://wiki.canonical.com/Quotes/200512:15
wgrant"Evil Python"12:15
spivI think last time I made that remark I didn't condense it into a one-liner though!12:15
henningegmb: thanks12:15
LPCIBotProject db-devel build #533: FAILURE in 5 hr 2 min: https://lpci.wedontsleep.org/job/db-devel/533/12:31
wgrantbigjools: I can talk DSPs for a while now if you still want, and the others are around.12:33
bigjoolswgrant: sure12:33
bigjools-> mumble12:35
=== henninge is now known as henninge-lunch
bigjoolsjtv, StevenK, are you free to mumble with wgrant and me for a little while?12:37
jtvcoming12:37
jtvoh no not this problem again12:38
bigjools'fraid so12:38
danilosgmb, hey-hey, I've got a review for you when you find some time :) https://code.launchpad.net/~danilo/launchpad/bug-771204/+merge/6049312:39
=== mrevell-lunch is now known as mrevlel
=== mrevlel is now known as mrevell
=== almaisan-away is now known as al-maisan
gmbdanilos: I'll take a look at that now.13:03
danilosgmb, thanks13:04
gmbdanilos: Looks good. r=me13:13
danilosgmb, ta (sorry, lunch :)13:23
daniloshum, is it just me or has all the ajax stuff stopped working on the MP page?13:25
* danilos tries in firefox13:25
wgrantWorked for me a few hours ago.13:25
danilosworks in firefox and chromium, a problem with bare webkit JS engine?13:26
StevenKbigjools: Sorry, I was dinner-ing.13:30
bigjoolsStevenK: np, we're just finishing :)13:31
daniloshum, false alarm: launchpad.js was misloaded, some garbage at the beginning — I suppose some of my hardware is acting up13:32
StevenKbigjools: Anything earth-shattering?13:33
bigjoolshaha, who did the tweet about jml's pie being meaty?13:33
bigjoolsStevenK: I'kk summarise in an  email13:33
bigjoolsI'll, even13:33
StevenKbigjools: Will I'kk help?13:33
=== henninge-lunch is now known as henninge
* henninge reloacates13:37
* bigjools -> food13:41
deryckMorning, all.13:58
rvba_wgrant: (I just got back ...) thanks for taking care of the fix ;).13:58
LPCIBotProject windmill-devel build #59: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-devel/59/14:00
wgrantrvba_: It all looks good. Sorry, I should have been more clear when I rolled it back the first time.14:01
jtvallenap: do you know what would be a simple way for a test to verify whether a package had been copied?14:02
rvba_wgrant: and I think I should have been more careful before modifying the callsites. Thanks anyway.14:02
allenapjtv: I think I know the answer to that...14:03
allenapjtv: See PackageCopyJobTests.test_smoke.14:03
jtvah thanks!14:03
allenapjtv: The last 3 lines actually. It's quite simple.14:04
jtvArchive.getPublishedSources?14:04
wgrantI tend to check that getPublishedSources(name=whatever) returns nothing before, and one row after.14:04
henningeDo either staging or qastaing process incoming mail? i.e. MP discussions14:26
mwhudsonhenninge: they both do i think?14:29
mwhudsonprocess-mail.py may not be run very often though14:29
henningeok, I'll try it out once qastaging stops timing out on me ...14:31
henningeoh, it's not a timeout14:31
wgrantMPs don't work.14:31
wgrantBecause they need restricted librarian access.14:31
wgrantYou might want to create a new MP.14:31
wgrantMPs synced from production don't work, that is.14:32
henningewgrant: I just got a LookupError for an LFA AFAICT. Is that what you mean?14:33
wgranthenninge: yes.14:33
henningeaha14:33
wgrantThey try to look up the LFA in the staging librarian. That would normally forward to the production librarian, but that can't happen for restricted files.14:33
henningehow do I simulate mail processing locally?14:34
wgrantlib/canonical/launchpad/doc/mailbox.txt14:35
wgrantBut I'd try creating a fresh MP on qastaging first.14:35
henningewgrant: cheers14:35
wgrantIt won't have a diff.14:35
wgrantbut it will receive emails OK.14:35
henningeoh, ok14:35
henningethanks14:35
henningecode update in progress ...14:36
wgranthenninge: Nice catch.14:43
wgranthenninge: I hadn't noticed that the . had wrapped in both cases.14:43
henninge;-)14:43
wgrantIt may still be a problem in the MTA stack in front of LP, but now we'll be able to find out :)14:43
henningerighit, that's what I figure.14:44
henningewgrant: but I think that MTAs and MUAs watch for things like that and escape single dots.14:45
henningejust like "From"14:45
wgranthenninge: Yes, but our MTAs do all sorts of strange crap.14:45
henninge:(14:45
henningeok, I'll see if I find something14:45
wgrantTo add extra headers like X-Launchpad-Original-To14:45
wgrantNight all.14:48
henningewgrant: night14:48
mwhudsonoh ****, is that why mails to mps sometimes get truncated?  because they contain '\n.\n.?14:50
henningemwhudson: yup14:50
mwhudsonhenninge: wow14:50
henningemwhudson: although it looks like we create these by wrapping lines.14:50
bigjoolsha, that's the SMTP end of data line14:51
mwhudsoneeeeeeeeeeeeeeeeeeeeeeeeeee14:52
mwhudsonthat's just so messed up14:54
mwhudsonso how does the wrapping happen?  presumably it must be before lp gets to see it, if smtp-level corruption is what's causing the problem14:55
henningeI don't know yet14:56
mwhudsongood luck finding out :)14:57
LPCIBotProject windmill-db-devel build #258: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-db-devel/258/15:06
bigjoolsgmb: afternoon m'lad, I have a small branch for your perusal if you're still reviewing?15:22
gmbbigjools: Sure. Diff me.15:23
bigjoolsgmb: https://code.launchpad.net/~julian-edwards/launchpad/derive-permissions-bug-643369/+merge/6051515:23
bigjoolscheers15:23
* gmb looks15:24
jmlwallyworld_: https://bugs.launchpad.net/launchpad/+bug/184737 is relevant to the thing you just said15:25
_mup_Bug #184737: No tag autocomplete in +filebug extra options <bugtag> <filebug> <lp-bugs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/184737 >15:25
jmlwallyworld_: about tag completion on bug subscription forms.15:26
wallyworld_jml: wow. that's an old bug :-)15:26
jmlwallyworld_: yeppers.15:26
jmlwallyworld_: classic case of a bug that's not too hard to fix, very useful, but no one getting around to it15:26
bigjoolsgmb: I wish diff generators could be more useful sometimes, the one on that MP looks like a dog's breakfast15:27
wallyworld_jml: i hear you. hopefully *this* particular one will now be fixed since it's tied to a feature sprint :-)15:27
bigjoolshey wallyworld_ are you at UDS?15:28
gmbbigjools: It's okay, I'm used to it these days.15:28
gmbBut yer not wrong15:28
bigjoolsgmb: it needs a "moved but not changed" marker15:28
gmb+115:28
wallyworld_bigjools: yep :-)15:28
bigjoolswallyworld_: will see you Thursday arvo then15:28
wallyworld_bigjools: sadly no. i'm leaving tomorrow :-(15:29
bigjoolswallyworld_: ah bugger15:29
wallyworld_yep. bollocks all right15:29
wallyworld_bigjools: brad c is doing a session on the new bug subscription stuff. looks good15:30
* gmb is listening in.15:30
wallyworld_hi gmb15:30
gmbHey wallyworld_. Glad you like :)15:31
wallyworld_gmb: to quote borat - "niiiiiiice"15:31
gmbIndeed. You should ask sabdfl to do his Borat.15:31
wallyworld_gmb: so long as there's no mankini involved :-)15:32
bigjoolsI have the vid on my laptop....15:32
* gmb goes to bleach his minds eye15:32
wallyworld_lol :-)15:32
* StevenK has it here somewhere too15:33
gmbI'm guessing jml is sat near the mic, based on the typing and the deep sound of his voice.15:33
jmlgmb: heh heh15:33
jmlwhat's the bug for seeing all subscriptions across LP?15:34
wallyworld_don't know15:34
bigjoolswallyworld_: which room?15:35
gmbjml: Looking now for you15:35
wallyworld_bigjools: krudy15:35
wallyworld_room 615:35
bigjoolsta15:35
jmlgmb: thanks.15:35
jmlalso in topic of #launchpad15:35
gmbjml: https://bugs.launchpad.net/launchpad/+bug/110953 seems to be the one being referenced in the most recent thread about this.15:36
_mup_Bug #110953: Can't easily see everything I'm subscribed to <infrastructure> <lp-registry> <story-better-bug-notification> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/110953 >15:36
jmlgmb: thanks.15:36
bigjoolsis everyone sat nowhere near the mics as usual? :)15:36
jmlbigjools: bac, mordred & I15:37
jmlbigjools: everyone else is in the back row.15:37
bigjoolsjml: figures15:37
jmlbigjools: including flacoste15:37
bigjools!15:37
wallyworld_bigjools: so we can heckle easier :-)15:37
gmbIf we didn't draw the line somewhere on this feature I was going to have to self-trepanate in order to make 8 months' worth of brain juice drain away.15:38
StevenKNo definitions found for "trepanate"15:39
gmbStevenK: Try trepanation or Trepanning15:39
=== al-maisan is now known as almaisan-away
StevenKOh, using a trepan on yourself15:40
StevenKSounds gruesome. And hard to get right.15:40
jelmeris gmb using difficult words again ?15:43
gmbBe thankful I aten't prattling in Lanky.15:43
jelmergarr. now I really have to spend some quality time with my dictionary.15:44
StevenKjelmer: s/\(is gmb\) \(using difficult words\)/\1 still \2/15:45
StevenKOh bah, that won't drop the again. Oh well15:45
bigjoolsspectacular backfire15:45
gmbbdmurray: No, that doesn't work right now, but there probably should be some way to do it - we just haven't figured it out yet. I don't think there's a bug for it though.15:46
StevenKIt's nearly 1am, and I'm trying to fix Jenkins15:46
StevenKRight, new build slave finally started15:48
wallyworld_jml: you still have etherpad open?15:50
jmlwallyworld_: yes.15:50
wallyworld_jmL: 78056815:50
jmlwallyworld_: thanks15:50
NCommanderIs there a way to determine why a PPA upload is dropping into the void?15:54
bigjoolsNCommander: https://answers.edge.launchpad.net/launchpad/+faq/22715:54
adeuringcody-somerville: could you please try to access https://qastaging.launchpad.net/%7Ereprepro/+archivesubscriptions ? the timeout should be gone there -- but I can't test it myself -- permission denied16:03
cody-somervilleadeuring, qastaging doesn't have enough subscriptions to cause it16:07
adeuringcody-somerville: really? It should use the same DB as the production server16:08
cody-somervilleadeuring, really16:09
cody-somerville:(16:09
* cody-somerville is in a session, can chat more about this later.16:09
LPCIBotProject db-devel build #534: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/db-devel/534/16:13
abentleyderyck: Am I high on context managers? http://pastebin.ubuntu.com/605743/16:32
benjigmb: I have a small branch ready for review (no particular rush): https://code.launchpad.net/~benji/launchpad/bug-778689/+merge/6052016:32
deryckabentley, looking....16:33
gmbbenji: I'll take a look shortly16:34
deryckabentley, high as in too many?  Or high as in floating wild and free in the joy that is context managers? :-)16:35
deryckabentley, I like the code, though.  nice approach to the problem.16:37
abentleyderyck: Well, really, is there a better way to do this?16:37
deryckabentley, I can't think of one.  I think this is spot on.16:37
abentleyderyck: Okay, cool.16:37
gmbbigjools: Your branch is r=me. Has been for ages but I got distracted by the UDS session.16:40
bigjoolsgmb: ok ta :)16:40
gmbbenji: Your test needs a comment stating what it's testing for so that lazy gits like me don't have to go and look up the bug report.16:41
gmbOther than that, r=me.16:41
benjigmb: heh, will do16:42
sinzuijcsackett: mumble?16:42
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
gmbAnd that's quite enough of that for today.16:43
NCommanderare there known issues with LP on natty? postgresql is puking when I try to make schema17:19
=== deryck is now known as deryck[lunch]
jcsackettsinzui: when you're available, https://code.launchpad.net/~jcsackett/launchpad/spam-button-ui-bugs/+merge/6043717:27
jcsacketti assume the one you need is https://code.launchpad.net/~sinzui/launchpad/person-merge-oopses-0/+merge/60521 ?17:27
sinzuijcsackett: I will start it now, and yes17:27
jcsackettcool. i will start yours momentarily.17:28
=== matsubara is now known as matsubara-lunch
sinzuiI may be disappointed when developers stop cargo culting my "// Lock, stock, and two smoking barrels." comment17:43
jcsackett:-)17:46
jcsackettit's a fantastic way to wrap up a test.17:46
sinzuiIt is one of my favourite films17:46
jcsackettit is pretty fantastic.17:49
jcsacketti clearly do not actually understand IStore/storm stores. I would have thought that creating a store of IPerson would only let you get person objects.17:52
jcsackettsinzui: r=me. as i mention in the comment, there may be some value to moving the reload utilities to something accessible for other tests as it could be handy, but the argument of YAGNI may very well apply.18:00
sinzuijcsackett: I will move it into lp.testing18:02
jcsackettsinzui: cool. :-)18:04
=== deryck[lunch] is now known as deryck
mrevellNight!18:10
=== matsubara-lunch is now known as matsubara
jcsackettsinzui: thanks for the notes, i'll make those changes.18:56
jcsackettthough i may do the test changes as part of my tech-debt branch.18:56
LPCIBotProject windmill-devel build #60: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-devel/60/19:04
* deryck looks around the room for yellow squad....19:05
deryckbenji or gmb maybe?  I have fixed a critical js bug related to the subscriptions story.19:06
deryckmaybe one of you would want to review it?19:06
benjideryck: sure19:06
deryckbenji, thanks!  https://code.launchpad.net/~deryck/launchpad/dupe-unsub-no-remove-name-775335/+merge/6053819:07
=== Ursinha-afk is now known as Ursinha
benjideryck: looks good19:12
deryckbenji, thanks!19:12
benjinp19:12
LPCIBotProject windmill-db-devel build #259: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-db-devel/259/19:15
deryckmbarnett, hey.  any time to look at that disappearing merge yet?19:25
abentleyderyck: To determine the correct timeout for branch upgrades, I decided to look at the logs.19:40
deryckabentley, ah, cool.  what did you end up with then?19:41
abentleyderyck: These are the durations I was able to find: http://pastebin.ubuntu.com/605825/19:41
* deryck looks19:41
abentleyderyck: It doesn't feel like there's really enough data to have a good guess.19:42
deryckabentley, yeah.  based on that, most everything finishes in under 10 minutes, right?19:42
abentleyderyck: No, many things are +3019:42
deryckabentley, is it:  HH:MM:SS ?19:43
deryckthe log format?19:43
abentleyYes, it's HH:MM:SS.19:44
abentleyI think the ~0 second durations don't count.  They're prolly cases where the upgrade was already performed.19:45
deryckabentley, so I see 36 lines, with 8 items > 10 minutes.  so roughly 20%.19:45
deryckah19:45
deryckso somewhere around 8/18.  closer to 50% over 10 minutes.19:46
deryckabentley, yeah, that's a hard call what to set then.19:46
abentleyderyck: On the plus side, we can't be wasting a lot of resources if upgrades are this rare.19:47
derycktrue19:47
deryckabentley, maybe we don't need the timeout then?  Or else a high number, i.e. 1 or 2 hour cap?19:48
abentleyYes, I think we need a timeout for outliers, but 1 hour seems reasonable.19:48
deryckabentley, cool. agreed.19:49
abentleyderyck: thanks.19:50
derycknp!19:50
sinzuijcsackett:  can you put some thoughts about the effort needed to hide merge comments in the UI: https://bugs.launchpad.net/launchpad/+bug/69749519:52
_mup_Bug #697495: need SQL to hide/edit comments from merge proposals <canonical-losa-lp> <code-review> <comments> <Launchpad itself:Triaged> < https://launchpad.net/bugs/697495 >19:52
sinzuijcsackett: I can see that ICodeReviewComment is exported, we may only need to add the setVisibility() method and extend the js to work with the page19:55
LPCIBotProject windmill-db-devel build #260: STILL FAILING in 43 min: https://lpci.wedontsleep.org/job/windmill-db-devel/260/19:59
jkakarFYI, a bug that appeared randomly a few days ago is preventing us (Fluidinfo) from seeing milestone views. :(20:04
jkakarA sample OOPS: OOPS-1956CO3920:04
jkakarShould I file a bug about this or is the presence of the OOPS enough that someone will get around to looking at it?20:04
jcsackettsinzui: i believe you are correct. since the interface is already exported, we should only need to copycat the setCommentVisibility + js work.20:09
jcsacketti have just discovered there is a comment.js thing as well; i may explore putting the hide-comment code in there and then we can extend to each comment type.20:10
sinzuijcsackett: I am tempted to commit to this if we could land it by Monday20:10
jcsackettsinzui: i think monday is possible.20:11
jcsackettdid you just come across this bug, or has it come up as a problem recently?20:11
sinzuiIt is a bug linked to a question we cannot resolve20:11
jcsackettah.20:11
jcsackettso, let me finish my tech-debt branch, and i'll commit to 4 hours to explore MP comments?20:12
deryckjkakar, hi.  I would recommend filing the bug to be safe.20:12
jcsackettif i don't have a good feeling of scope at the end of that (which will probably be tomorrow) we won't commit to doing the work?20:12
jcsackettsinzui ^20:13
jkakarderyck: Awesome, I'll do that, thanks!20:13
sinzuijcsackett: I want to be sure that we are not getting bug reports when we switch to features. I image we want to be able to land a branch to fix any issued after Monday. I20:15
jcsackettsinzui: next week is theoretically our last week before switching, or week after next?20:26
sinzuiWe are in our last two weeks of maintenance.20:27
jcsackettok.20:34
lifelessbenji: hi20:39
benjihi20:39
lifelesshttps://bugs.launchpad.net/launchpad/+78070320:39
lifelessbenji: I *think* thats a better-notification-regression20:40
lifelessbenji: its definitely a regression, the regressor is what I'm unsure of20:40
lifelessbenji: (they are a paying customer FWIW, but I suspect its much more widespread)20:41
benjiit's tangentially related to the better-notification story; I'm working on it as we speak20:41
lifelessoh cool - you were already looking at the regression ?20:42
benjimore specifically, it's working it's way through ec2 as we sppeak20:42
lifelesswowsers, even better20:42
benjiyep, there is another bug; let me find it20:42
benjihere it is: https://bugs.launchpad.net/launchpad/+bug/77868920:43
_mup_Bug #778689: ProjectMilestone:+global-actions: oops rendering the structural subscription link <oops> <story-better-bug-notification> <Launchpad itself:In Progress by benji> < https://launchpad.net/bugs/778689 >20:43
lifelessthanks!20:44
benjiI'll mark the new one a duplicate of the one I was working on20:44
lifelessI've just done that20:45
benjicool20:46
lifelessderyck: ready when you are21:00
derycklifeless: ok, firing up skype now21:00
derycklifeless: call when you're ready21:01
LPCIBotProject windmill-devel build #61: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/61/21:05
benjisinzui: do you have a minut to do a teeny, tiny JS review? (of a branch that fixes a bug that you reported (notifications close if you click on a link inside them))21:36
sinzuiI can do it now21:37
benjisinzui: great! https://code.launchpad.net/~benji/launchpad/bug-779538/+merge/6055221:38
sinzuibenji: I select text in the notifications sometimes.I think the function will never let me copy the text to report a bug21:40
benjihmm, good one; let me look at it real quick21:41
benjisinzui: yep, that's a problem; back to the drawing board21:42
benjiI may well revert the feature if I can't figure something sane out quickly.21:42
sinzuibenji: can the action be wired to a the links id?21:42
sinzuiWe know the text of the link is Hide x21:42
benjiwell, that's not really a link; that's style; there's no element there21:43
sinzuiah, right21:43
sinzuiI see your point about reverting.21:43
LPCIBotProject windmill-devel build #62: STILL FAILING in 43 min: https://lpci.wedontsleep.org/job/windmill-devel/62/21:49
jcsackettsinzui: if you had very similar testcases in questions and bugs, and were creating a base class for them to share, where would you put that class? lp.testing doesn't feel right, since the base test case won't be *that* generally useable.22:07
sinzuijcsackett: lp/coop/bugquestion22:08
jcsackettexcuse the muddy thinking; a shared mixin is what i'm talking about.22:08
jcsackettsinzui: thanks!22:08
james_wbenji, could you add the hide link with js? That would allow you to create an actual element with a onClick behaviour?22:09
sinzuijcsackett: lib/lp/coop/answersbugs/ actually. but may lib/lp/coop/comments if we add merge proposals22:10
benjijames_w: I'm trying to avoid that because I want on-page JS to be able to add message boxes after page load time22:10
jcsackettsinzui: i like lib/lp/coop/comments, since some day we want that all to be shared properly.22:10
james_wbenji, ah, ok22:10
benjithe only way I can think of doing that right now is useing setInterval, but that feels a bit gross22:11
lifelessjcsackett: I would avoid creating a base class :)22:16
lifelessjcsackett: what does the code you want to share do22:16
jcsackettlifeless: base class was the wrong statement. mixin is what i'm looking at.22:16
lifelessjcsackett: same dealio22:17
jcsacketti have *very* similar tests that deal with question messages and bug comments. i would like to not have repeating code.22:17
lifelessjcsackett: indeed!22:17
jcsackettlifeless: so, a mixin that provides those shared things seemed like a good idea to me. what's the argument against?22:18
lifelesshttp://rbtcollins.wordpress.com/2010/09/18/maintainable-pyunit-test-suites-fixtures/ and http://rbtcollins.wordpress.com/2010/05/10/maintainable-pyunit-test-suites/ may interest you22:18
lifelessjcsackett: what are the shared things22:18
jcsackettlifeless: aside from slight diffs in setup and the context being thrown at a test browser, the tests are looking at the same series of things.22:19
lifelessjcsackett: ah, so you want to test their adherence to the contract?22:19
lifelesspypi.python.org/pypi/testscenarios for that :>22:19
lifelessjcsackett: a mixin is fine, but its not all that maintainable22:20
lifelessjcsackett: you don't need to do anything different, I'm just gathering data about the things we do and why22:20
jcsackettlifeless: well, if what i'm doing is going to perpetuate problems we have, i'd rather not.22:24
jcsacketti'll take a look at testscenarios. i may have descibed my issue wrong.22:24
lifelessjcsackett: cool22:24
jcsackettin essense both cases have "test_thing_one", "test_other_thing", "test_thing_one_with_edge_case"22:24
lifelessso, I *love* test-by-contract22:25
* jcsackett is not really sure what is meant by that.22:25
lifelessuhm22:25
lifelesstesting that two objects that implement interface I obey the behaviour of the interface22:25
lifelessso bugmessage and questionmessage are two classes that need the same behaviour22:26
lifelessI wrote http://people.canonical.com/~robertc/interfaceverification.txt back in 2005 about doing this for persistence layers :)22:26
jcsackettah, okay.22:27
lifelessjcsackett: anyhow it seems to me that you have some common do-stuff code, a different factory (or fixture) for each class and perhaps variant 'did it do the right thing' for each class22:28
lifelessI haven't integrated testscenarios into launchpad yet, but using a per-file test_suite hook should let it integrate pretty easily on a case-by-case basis.22:28
lifelessI would be inclined to structure these tests as fixtures for the bugmessage/questionmessage construction, matchers for the things to check and a single test class in the message area which is parameterised by the fixtures and matchers22:29
lifeless*but*22:29
lifelessthis is sucking away your activation energy bringing in different ways of doing stuff22:30
lifelessso I really do think its fine to do a mixin22:30
lifelesslike I said, I meant just to do data gathering22:30
jcsackettmatchers are something i am using, per a suggestion you had on an earlier branch.22:31
lifelessyeah, they are pretty cool :)22:31
lifelessand already integrated in22:31
lifelessfixtures are already integrated in too22:31
jcsackettyeah, i used matchers on some snapshotting work.22:32
deryckLater on, everyone.22:32
LPCIBotProject windmill-db-devel build #261: STILL FAILING in 43 min: https://lpci.wedontsleep.org/job/windmill-db-devel/261/22:44
=== cinerama_ is now known as cinerama
wgrantsinzui: Hi.23:58
sinzuihello23:58
wgrantsinzui: Can you QA your answer contact API stuff?23:58
sinzuiI can23:58
wgrantIt looks like we may finally not have any bad revs.23:59
lifelessstatik: yo23:59

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