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

lifelesssinzui: jcsackett: security.cfg00:03
lifelessI have a suggestion00:03
sinzuido tell00:03
lifelesswhy don't we sort the permissions in each section00:04
sinzuiThat was my suggestion too00:04
lifelessanalagously to what we do with imports00:04
lifelesssinzui: win!00:04
sinzuiexactly00:04
sinzuiWe cannot trust merge if we do not wort00:04
sinzuisort00:04
lifelesswe could do a merge plugin00:04
lifelessbut sort is easier.00:04
lifelesswe need to check renames are solid now00:11
lifelessand then trigger the mass update script00:11
lifelesspoolie: branch id is the default for stacking now02:01
pooliegreat02:03
lifelessno reports of zomg yet02:04
lifelessI imagine tim will organise the migration script to run early next week02:04
lifelessthumper: ^ not before teh weekend plox :)02:04
thumperplox?02:09
thumperI'm currently writing a blog post about it02:11
thumperI'm happy to have the migration script run next week02:11
lifelessthumper: slang for please02:15
lifelessthumper: cool; I just don't want emergencies on friday:) - which is unlikely, but touching hundred-thousand plus objects...02:15
wgrantThis is also the worst Friday ever.02:17
wgrantSince it is a 4 or 5 day weekend for most of the world.02:17
thumper:)02:17
spivwgrant: ITYM best, not worst :)02:18
wgrantTrue, true.02:19
spivIf not best, then it's at least good ;)02:19
poolielifeless, there's a 9m lag between bug comments being posted and mail being sent02:22
pooliedo you want a bug about it?02:22
poolieor not want a bug02:23
wgrantNo bug yet.02:23
wgrantDo you have a feeling about how long this has been happening?02:23
pooliei think for a week or so?02:23
pooliei remember noticing lag next week and checking for a problem at my end, and whether lp was sending to the wrong address02:24
poolieyou can see the problem in the gap between the Date header (which i guess comes from the bug message date) and the first Received header02:24
wgrantpoolie: It's meant to be 5 minutes, but can reasonably be up to 8.02:25
pooliewell wth, i'll file and you can always close it02:25
poolieoh ok02:25
pooliea 5-min interval cronscript02:25
wgrantNot quite.02:25
wgrantWe batch up to 5 minutes of events.02:25
wgrantSo each comment is not sent until 5 minutes have expired.02:25
wgrantAnd the cronjob is */3 IIRC.02:25
wgrant(it has been this way since at least 2006)02:26
wgrantHmm.02:26
wgrantsend-bug-notifications is */5 now.02:26
wgrantThat's less than ideal.02:26
wgrantShould really be */1, I think.02:27
poolieok, so if it waits for 5m and then just-misses the next cronjob, that'd be 9m02:27
pooliei'll leave it then02:27
poolierebooting for natty02:27
wgrantSee you next week.02:28
poolie:)02:32
LPCIBotProject windmill build #202: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/202/03:46
nigelbwgrant: Happy Birthday :-)03:58
wgrantnigelb: Thanks.04:01
lifelesswgrant: ditto04:15
pooliehappy birthday!04:19
poolieis the 'opinion' status going to go away some time?04:21
pooliei thought i'd heard that it would04:21
lifelessjml will know; last I heard he was getting an ack from mark04:21
pooliei hit a couple of bugs where people were confused what it meant04:22
poolieprobably not worth filing about04:22
lifelessI need a sanity check04:41
lifelessthe current sample data creates the  bugtask on jokosher for bug 11 with status 1004:41
_mup_Bug #11: Rosetta says there are untranslated strings, but it isn't <lp-translations> <Launchpad itself:Fix Released by carlos> < https://launchpad.net/bugs/11 >04:41
lifelesswhich is NEW04:41
lifelessnvm04:41
lifelessdoc fraking tests04:41
lifelessfacepalm04:50
lifelesswe expire bugs that re INCOMPLETE_WITH_RESPONSE04:51
lifelessdoes this seem wrong ?04:51
* lifeless doesn't have his optimistic mojo on today04:51
lifelesshuwshimi: have you mailed warthogs? the rule is live04:57
huwshimilifeless: Will do now04:57
wgrantThanks lifeless, poolie.05:25
wgrantlifeless: I believe bugs do expire if they have a response but then nobody touches them for two months, yes.05:26
wgrantWhich happens all the time in Ubuntu.05:26
wgrantLooks like the expire-bugtasks unbreakage worked.05:33
lifelesswgrant: I think this sucks05:33
wgrantlifeless: Yes.05:35
StevenKBad machine! No cookie for you.05:43
lifelesshelpful : https://bugs.launchpad.net/launchpad/+bug/484712/+activity05:46
_mup_Bug #484712: Potential synchronisation of comments between Launchpad bugs via remote bug trackers <bugwatch> <lp-bugs> <Launchpad itself:Expired> < https://launchpad.net/bugs/484712 >05:46
lifelessspot when it became incomplete05:46
wgrantMust have been filed Incomplete.05:47
wgrant** Affects: malone05:47
wgrant     Importance: High05:47
wgrant     Assignee: Graham Binns (gmb)05:47
wgrant         Status: Incomplete05:47
wgrantSo, yes.05:47
lifeless-win-05:48
lifelessI've assigned it to him now :>05:48
lifelesswhat to do, what to do.05:54
lifelessexpiry still going :)06:00
pooliewgrant: isn't bug 767084 a regression?06:15
_mup_Bug #767084: "Mark as duplicate" popup gives an unhelpful error when attempted to dupe against a dupe <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/767084 >06:15
pooliei distinctly recall that transitive bug marking worked a few weeks ago06:16
wgrantpoolie: In one direction, yes.06:16
wgrantIt will work if you mark a bug that has dupes as a dup.e06:16
wgrantBut not if you try to dupe against a bug that is a dupe.06:16
poolieah, right06:16
pooliebut it used to give better errors, surely?06:16
wgrantNot that I've ever seen.06:16
wgrantAnd that hasn't changed in a Long Time.06:16
pooliehm06:16
poolieif you say so06:17
jtvStevenK: I may be missing something... I don't actually see publish-distro do any locking at all currently.06:27
wgrantjtv: The script infrastructure does it.06:28
wgrantHm.06:28
wgrantThat's interesting.06:29
wgrantIt doesn't actually use the script infrastructure.06:29
jtv'zacly06:31
wgrantCreated new stacked branch referring to /+branch-id/24637.06:35
wgrantThat's a bit ugly :(06:35
spivwgrant: :(06:45
wgrantStevenK: https://code.launchpad.net/~wgrant/launchpad/purge-shipit-cruft/+merge/5861606:45
StevenK!06:45
wgranthttps://code.launchpad.net/~wgrant/launchpad/exterminate-shipit-admins/+merge/5861806:45
spivI suppose the best fix there is finally figure out how to translate the paths we report back to clients…06:46
lifelesswe could include the project06:46
lifeless/proj/+branch-id/2463706:46
lifelessand ignore /proj/ on input06:46
StevenKwgrant: Only niggle with the second branch is why do you assume no-priv is female? :-)06:49
wgrantBah.06:49
StevenKwgrant: First branch is good, r=me06:50
StevenKwgrant: Is that all of it?06:50
wgrantStevenK: Yes, apart from DB cruft.06:51
wgrantWhich is waiting for stub.06:51
StevenKPurging shipit has not felt as good as I thought it would. Can we add it back so we can remove it again?06:51
wgrantWe haven't reached the good stuff yet.06:51
wgrantLike deleting Account.06:51
wgrantBut that's ages away :(06:51
wgrantDamn Criticals.06:51
StevenKHold on, can't we delete parts of canonical now that shipit isn't holding them in?06:52
wgrantI moved all of that to lp.shipit a couple of months ago.06:52
spivlifeless: that sounds like a nice cheap workaround06:52
lifelessspiv: care to file a bug for it ?06:52
lifelessthumper might even get to it next week before he completely goes06:53
StevenKwgrant: canonical.mumble.widgets is sticking in my head for some reason, can haz check?06:53
wgrantStevenK: That's what triggered me to move everything to lp.shipit.06:53
thumperlifeless: for what?06:53
wgrantcanonical.widgets is now gone.06:53
spivlifeless: ok06:54
lifelessthumper: 17:35 < wgrant> Created new stacked branch referring to /+branch-id/24637.06:54
lifeless17:35 < wgrant> That's a bit ugly :(06:54
lifeless17:46 < spiv> I suppose the best fix there is finally figure out how to translate the paths we report back to clients…06:54
lifeless17:45 < spiv> wgrant: :(06:54
lifeless17:46 < lifeless> we could include the project06:54
lifeless17:52 < spiv> lifeless: that sounds like a nice cheap workaround06:55
lifeless17:46 < lifeless> /proj/+branch-id/2463706:55
lifeless17:46 < lifeless> and ignore /proj/ on input06:55
lifeless17:52 < lifeless> spiv: care to file a bug for it ?06:55
thumperlifeless: yes it is a bit ugly, but I always said that06:55
lifeless17:53 < lifeless> thumper might even get to it next week before he completely goes06:55
thumperno, I won't get around to it06:55
lifelessthumper: what do you think of the workaround I suggest06:55
lifelessok06:55
thumperI've pretty much finished06:55
lifelessno worries06:55
wgrantWhy do I have no MP mail...06:56
StevenKwgrant: My DSD.parent_series branch is massive. :-(06:57
wgrantStevenK: Oh?06:59
spivlifeless: https://bugs.launchpad.net/launchpad/+bug/768068 filed06:59
StevenKwgrant: Since it also moves DSD and DSDJ to using DSP06:59
lifelesswgrant: btw, if you're going to do the BFJ refactoring this cycle, it probably has to be started on wed07:00
lifelesswgrant: (per sinzui saying it would be amongst the next work started)07:00
lifelesss/cycle/before may 4th deploy07:00
wgrantHm, indeed.07:00
StevenKwgrant: 924 lines, +179/-16207:02
* wgrant stabs adelie.07:03
wgrantStop delaying my email by 20 minutes, thanks.07:03
wgrantOh, actually, may have been loganberry.07:03
wgrantBad loganberry and adelie, BAD.07:03
StevenKCan haz review?07:17
StevenKhttps://code.launchpad.net/~stevenk/launchpad/db-use-dsp/+merge/5862407:17
StevenKIt's a little over-sized, will compensate with cookies (but not cake)07:17
* StevenK looks at spm07:17
spmdepends on the cookies. and you need more.07:18
StevenKspm: The point was the reviewer couldn't have cake, since that's reserved. :-)07:23
spmgood lad; you may still get a losa xmas card (ie IOU losa's $X Cake)07:23
lifelesspoolie: you still up for virtual beer-chat in a bit ?07:41
lifelesspoolie: If so, I'm going to : pop out and grab a beer (stocks are low :P), dinner for lynne, a quick eow call with stub and then I'm up for it07:42
pooliehaha07:42
pooliesure, why not07:42
poolielet's use some kind of less echoey telephony device though07:43
lifelesssure, will do07:44
jtvStevenK, wgrant: got time to discuss the archives locking issue?07:50
wgrantjtv: Sure.07:50
jtvThanks.07:50
jtvI was thinking: we have script that work on multiple archives,07:50
jtvand we may have distros sharing arhives.07:50
wgrantDon't you ever say that again.07:51
jtvNo?07:51
jtvJust mindlessly repeating what StevenK told me.07:51
wgrantWell, certainly not in the current model.07:51
wgrantArchive.distribution exists.07:51
wgrantI guess it's possible. But it's a reasonably big change.07:51
wgrantBut we need to lock per-archive.07:51
wgrantSo distributions don't matter here at all.;07:51
jtvSo that brings us to the same conclusion anyway.07:51
jtvNext: block or fail?07:53
* jtv coughs lungs out, along with pieces of chili07:53
wgrantProbably fail.07:54
jtvIf we block, there's a risk of deadlocks.  If we fail, there's a risk of failure halfway through a script and I'm not so sure it's all idempotent.07:54
jtvSo:07:54
jtvgrab all relevant locks right at the outset, in some pre-determined global order.07:55
wgrantI'd hope there'd only be one lock.07:55
wgrantExcept for the PPA publisher.07:55
wgrantHmm.07:55
jtvHmm.07:55
jtvOr publish-ftpmaster.07:55
wgrantTrue, now it is one.07:56
jtvBut we want to be able to operate on multiple distros concurrently.07:56
wgrantIn a single process?07:56
jtvNo, in concurrent processes.07:56
jtvPlus some script runs operate on multiple archives concurrently, of course.07:57
jtvSorry!  I meant "sequentially" there.07:58
jtvThe advantage of grabbing all relevant locks is that there'll be no locking surprises later on in the script.  They can act pretty much as a single lock, except you get overlap of lock sets rather than competition for a single lock.07:59
jtv113:56:48) wgrant: In a single process?08:01
jtv1(13:56:55) jtv: No, in concurrent processes.08:01
jtv1(13:57:24) jtv: Plus some script runs operate on multiple archives concurrently, of course.08:01
jtv1(13:58:03) jtv: Sorry!  I meant "sequentially" there.08:01
jtv1(13:59:28) jtv: The advantage of grabbing all relevant locks is that there'll be no locking surprises later on in the script.  They can act pretty much as a single lock, except you get overlap of lock sets rather than competition for a single lock.08:01
jtv1(14:00:53) jtv: Grabbing them in a globally total order eliminates deadlock and livelock hazards: nobody's going to be holding the lock you want while trying to grab one of yours (or waiting for somebody who is).08:01
wgrantjtv1?: Won't each job be for a single archive?08:01
wgrantOnce publish-ftpmaster.py dies.08:01
jtv1publish-ftpmaster calls publish-distro for multiple archives, both in its old incarnation and the new.08:01
wgrantFor now.08:02
jtv1?08:02
jtv1What's going to change?08:02
jtv1For all I know it's just going to get worse once we start publishing Debug.08:02
jtv1salut rvba08:02
jtv1"le stigue"08:02
LPCIBotProject windmill build #203: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill/203/08:02
wgrantjtv1: Won't it eventually replaced with publishing jobs?08:02
wgrant+be08:03
rvbaHi jtv1!08:03
jtv1wgrant: who am I to say?  But life in the hard school of Launchpad has taught me to be wary of "eventually."08:03
wgrantjtv1: True.08:03
jtv1We have real problems now.  Piling requirements onto the Final Solution is just going to make it take longer.08:04
=== jtv1 is now known as jtv
jtvSo I think we can't get around concurrency plus multiple sequential locks that mustn't fail.08:05
wgrantwom 308:05
wgrantGrah.08:05
jtvWhat is this mysterious language you speak?08:06
wgrantAn unintended keyboard offset.08:06
jtvWere you trying to type "some"?08:06
wgrant /win 308:07
jtvah08:07
* jtv washes chili off hands before it causes keyboard damage08:08
jtvwgrant: if a script operates on just one archive in isolation, then it should be fine for it to block.08:13
wgrantjtv: Do we want it to block?08:14
jtvOf course we don't want multiple instances of the same cron job to pile up, *but* if we have a non-blocking lock for the script itself then we'll only have one instance waiting at most.08:14
jtvSo then, blocking will help get the job done.08:14
jtvWe wouldn't want, for instance, cron script A failing every single time because cron script B comes in first and grabs a lock that A also wants.08:15
jtvA blocking lock would help sort that out (or at least signal failure to sort it out).08:15
jtvFor manual scripts I'd prefer failing over blocking.08:16
jtvwgrant: the 3 Singletons of Doom were publish-distro, process-accepted, and death-row, right?08:18
wgrantjtv: That's correct.08:18
jtvDoes each of those modify the archive's database state?08:19
wgrantYes.08:19
wgrantBut they're meant to be safely concurrent.08:19
wgrantThere is probably a slight race between process-death-row and publish-distro, but it's very unlikely and never happened TTBOMK08:20
jtvWell we could conceivably address that with whatever solution we come up with here.08:20
jtvIf all three SOD change the archive's db state, then db locking would be a possibility.08:22
jtv(If they didn't, we might want to deploy them without master db access)08:22
wgrantThey all write to the DB.08:22
jtvRight08:23
jtvwgrant: what concurrency requirements do we have on PPAs when it comes to these scripts?08:27
lifelessstub: around ?08:30
stubYup.08:30
lifelessskype in 5?08:30
stubSure.08:30
stubI'll need to let the maid in in a few mins.08:31
wgrantjtv: We do them serially at the moment.08:31
wgrantjtv: No significant reason for that.08:31
=== jtv1 is now known as jtv
jtvwgrant: which of these scripts operate on PPAs?08:35
wgrantjtv: All of the above, when given the --ppa option.08:36
jtvAnd you're saying two instances of the same one can operate on the same PPA at the same time?08:36
wgrantNo. At most one instance of each of those scripts can operate on a particular archive at a time.08:37
lifelessstub: ready?08:40
jtv1wgrant: So we need the same locking for PPAs that we do for distro archives... then what is the "we do them serially at the moment" that we have no significant reason for?08:41
stublifeless: yo08:41
lifelessjtv1: incremental development not incremented08:41
spmo/ stub08:41
jtv1lifeless: huh wha?08:41
wgrantjtv1: We have exactly the same locking requirements, yes. At the moment each run of the Three processes all pending PPAs serially, but there's no reason they couldn't run multiple instances of, say, publish-distro, couldn't run simultaneously in separate runners over different PPAs.08:43
jtv1wgrant: ah you're saying one script could process multiple PPAs concurrently?08:43
wgrantjtv1: Right.08:44
jtv1Sounds nice.08:44
lifelessmup poke lifeless08:44
jtv1wgrant: I wonder if this should be a LEP.08:45
jtv1I've got some slightly more systematic notes now, and an idea of what we want; I'll draft a rough design.08:46
lifelessjtv1: I think it should be a lep if you don't know why you're doing it08:46
lifelessjtv1: if you're merely trying to sort out how to do it, I don't know that LEP adds much08:47
lifelessjtv1: the question for me is why do you want to change this?08:47
jtv1lifeless: two separate things, arguably: an existing concurrency risk where we assumed there was a lock but there doesn't seem to be one, and second as part of derivation, we want to support multiple distros.08:48
jtv1Which means that slightly freeer concurrency is needed.08:48
lifelessjtv1: I don't understand the linkage08:49
jtv1The linkage is incidental.  We want looser locking, but also we discovered that one lock was missing altogether.08:49
lifelessunless there is an assumption we want to publish N *distros* into one archive which would be a little questionable08:49
jtv1AIUI there is no such requirement just now, so we could get by with "distro _or_ archive" locking.08:51
jtv1(Currently all we have is per-script locking, which turns out to be broken)08:51
jtv1I'm not sure "lock this distro or archive" is better than "lock these archives" though.08:52
jtv1And it's not unthinkable that we'll move to a pure per-archive model anyway, if I understood correctly.08:53
jtv1So I think a LEP would be helpful for laying down what requirements we have now, and which ones we see coming.08:53
jtv1Makes it easier to challenge those assumptions.08:54
lifelessmrevell: your blog theme de jour: bug expiry is now *really* working08:57
mrevellHello08:57
jtv1"du"08:57
jtv1unless he blogs as Mr Hyde by night08:58
mrevelllifeless, Oh, cool. Is there any more detail on that? I don't see anything on the list.08:58
lifelessmrevell: was a simple bug08:59
lifelessscript was barfing08:59
wgrantIt expired 2000 bugs this afternoon.08:59
mrevellblimey08:59
lifelessmrevell: I'm on a call, but I'm sure wgrant or someone can help you come up with good blurb08:59
mrevellHey wgrant, happy birthday.08:59
wgrantThanks mrevell.08:59
jtv1oh!09:00
jtv1many happy returns, wgrant09:00
mrevellwgrant, Do you know how long bug expiry was busted?09:00
wgrantmrevell: Well, it's been busted for just about ever.09:01
wgrantSince it was turned back on.09:01
wgrantAFAICT.09:01
wgrantscriptactivity might be able to tell us, though.09:01
mrevellwgrant, Any detail on what was wrong?09:04
wgrantmrevell: A missing database permission combined with a broken OOPS handler, so it wasn't logging the errors anywhere that we could see.09:04
wgrantAnd I guess we don't have scriptactivity monitoring for it.09:05
lifelesswgrant: it did a weeks run or something ok09:05
lifelessand then we refactored09:05
adeuringgood morning09:06
wgrantlifeless: Ah, I see.09:06
mrevellOkay, so 2,000 bugs expired in the space of a few hours ... lots of bug mail gone out. I think it's worth a status update and a post to -users but I'm not sure it needs a blog post. I'm willing to be persuaded otherwise.09:10
wgrantI agree.09:10
lifelessmrevell: 'feature we said was working now works'09:10
lifelessmrevell: Thats the focus I was suggesting, the # of emails is incidental09:11
lifelessshiny-new really working, is more relevant09:11
bigjoolspositive spin, lifeless should work for the gubmint09:12
lifelessbigjools: shhh09:12
lifelessmrevell: not that I mind, but you *did* want blog material09:13
mrevelllifeless, Yes, absolutely, and thanks for thinking of the blog :) I agree that this needs announcing ... it's just that I reckon a blog post requires some explanation and hand-wringing etc in this sort of situation and I'm not sure I have a lot to say other than, "Oops, we made a mistake, didn't notice and now we've fixed it." That feels like a status message to me, not a blog post. Bah, it's too early for me to th09:15
mrevellink about this. I'll write something short and simple for the blog just in case people come there expecting an explanation.09:15
lifelessup to you :)09:15
lifelessI wouldn't hand wring much myself.09:15
lifelessI'd say 'you may have wondered why X which we blogged about 3 months as working, was not working... it was failing and due to a second bug our alerts were not alerting. We have fixed both bugs and the service is now running well, ....09:16
wgrantlifeless: And a third bug.09:17
wgrantlifeless: No scriptactivity monitoring :(09:17
mrevellThanks lifeless09:17
lifelessmrevell: but thats me; not saying it must be a blog or not.09:21
lifelessmrevell: I know we want the home page blog posts to be a bit of advertising09:21
lifelessmrevell: but being transparent and open about issues is part of who we are, and is valuable to our users, so we shouldn't be afraid of talking about things we [messed up]|[have fixed]09:22
=== almaisan-away is now known as al-maisan
mrevelllifeless, Yeah, I agree we must be open etc. but I think the line between operational status updates on identi.ca and something requiring a blog post is pretty blurry. Having tried to write an identi.ca update I reckon it's pretty clear we need a blog post too :)09:33
mrevellhey henninge, do you have time today for a call? I want to talk about the translations sharing announcement.09:35
henningemrevell: I guess I could spare the time but I'd rather do it next week, if that is OK?09:36
henningemrevell: I still need to finish the feature before we can announce it ;-)09:37
mrevellhenninge, I have a call scheduled with deryck to day so I can speak to him and then email you if I need any further detail.09:37
mrevellOh, right, heh, fair enough :)09:37
henningemrevell: thanks ;)09:37
wgrantstub: So, ShipIt is now gone from prod. The DB can be deplagued at your leisure.09:37
stub\o/09:39
stubI get to delete stuff.09:39
stubThat is going to fsck my bloat reports :)09:39
stubPerson table, 90% bloat.09:39
wgrantHeh.09:40
lifelessvalidpersoncache may stop sucking09:41
stubThe tables will be small enough to pack them next upgrade anyway... maybe live too.09:42
wgrantstub: Have the Personless Accounts all been purged yet?09:42
wgrantI suspect not :(09:42
StevenKallenap: https://code.launchpad.net/~stevenk/launchpad/db-use-dsp/+merge/5862409:43
stubNo, because they were tied up with shipit.09:43
stubAlmost all the personless accounts were shipit users.09:43
StevenKstub: ^, too, since I need a DB review09:43
wgrantstub: Ah, I guess so. So the SSO-only Accounts are still around?09:45
allenapStevenK: Cheers :)09:49
stubyup09:54
jtv1wgrant: yhm about locks10:03
rvbaallenap: could you review this https://code.launchpad.net/~rvb/launchpad/add-help-initseries/+merge/5864110:14
allenaprvba: Sure.10:15
rvbaallenap: thanks.10:15
allenaprvba: I'm doing StevenK's right now, but straight after that.10:15
StevenKstub: Erk, sorry, I hadn't added you as a reviewer.10:15
rvbaallenap: splendid. It's a very small fix.10:16
=== almaisan-away is now known as al-maisan
wgrantCould someone please review https://code.launchpad.net/~wgrant/launchpad/bug-766742/+merge/58643?10:28
lifelesstry:finally: missing10:30
wgrantlifeless: Bah. True.10:42
lifelessa context manager/fixture would make this more obvious for simple cases10:43
wgrantI was initially going to turn it into a context manager, but decided it wasn't worth it.10:43
wgrantRight.10:43
wgrantlifeless: As for the None thing, it gets written out as '00235-00235@openid-association-complete-stop None', which looks OK to me.10:45
lifelessok, sure10:47
bigjoolslifeless: around?11:09
bigjoolslifeless: http://pastebin.ubuntu.com/596858/11:09
bigjoolslazr.restful bug?11:10
lifelessyes11:10
lifelesslazr.restful.error appears to assume that str() works always11:11
lifelesswhich it doesn't11:11
lifelessin particular, if the context only defines __unicode__ or whatever you'll get ascii encoding happening, which is fail11:11
lifeless basically anything using str() on arbitrary objects is broken11:11
bigjoolsso this only just started being a problem on DF11:12
lifelessRapha\xebl11:12
bigjoolsthere was a lazr.resful update11:12
bigjoolscoincidence? :)11:12
lifelesswe also hired a dude with a unicode name11:12
bigjoolsheh11:12
wgrantlazr.restful hasn't been upgraded significantly in a few week.s11:12
wgrantBut the error handling changed a couple of months ago.11:12
bigjoolssomething just changed in the sourcecode deps, damn I forgot which11:12
wgrantlazr.enum.11:12
lifelessanyhow11:12
wgrantTriviall change.11:13
bigjoolsah11:13
lifelessI wouldn't worry about how we got here11:13
bigjoolsI wonder why this is breaking now11:13
lifelesswe are here, and its got clearly bong code.11:13
bigjoolsindeed11:13
lifelessits trying to thow one exception11:13
lifelessand its failing and barfing its internals11:13
lifeless(thats a WAG)11:13
lifelessanyhow, I'm not here ;)11:13
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews
stubStevenK, bigjools, wgrant, rvba: So the model for derived distros is now clear? I've got this review here from StevenK for DistroSeriesDifference.parent_series11:17
bigjoolsstub: yes, this new column allows for multiple parents for the same derivation11:17
wgrantstub: I have no objections to the addition of that column.11:18
wgrantThe other stuff is less clear.11:18
stub"The distribution series which identifies the parent series with the difference."11:27
stubIs that English?11:27
bigjoolsbarely11:29
bigjoolss/which/that/ maybe11:30
stubI would have thought the parent_series column would reference the parent distro series, not a distro series that references the parent distro series through unspecified means.11:30
bigjoolsor that11:32
jtv1jml: https://wiki.ubuntu.com/NewReleaseCycleProcess step 11 says to have you or james_w create "the branches" for a new Ubuntu series.  What branches are those?  Are they an Ubuntu thing or would this happen for derived distros as well?11:45
bigjoolsjtv1: package branches11:51
jtv1bigjools: thanks.  Making an inventory of things that look like we could chuck into an automated initialization process.11:52
bigjoolsjtv1: that is one of them for sure, but out of scope for us ;)11:54
jtv1Wasn't planning to do them all today.  :)11:54
jtv1bigjools: I do have something of an ulterior agenda in looking ahead a bit though... the process involves manual work by the Rosetta team.  :-)11:56
jtv1wgrant, you'd know this: when we create a new Ubuntu series, we create override files for restricted as links pointing to the ones for main.  Do initialise-from-parent and publish-distro require that?12:00
wgrantjtv1: I admit that I don't entirely understand that bit.12:03
jtv1then all is lost12:03
=== jtv1 is now known as jtv
wgrantThe a-f stuff is one of the few bits of Soyuz I'm quite happy to lalalallalaimnotlistening about.12:03
deryckMorning, all.12:04
jtvhi deryck12:04
wgrantjtv: I believe it's from germinate, thought.12:04
bigjoolsjtv: i-f-p does not, p-d does12:04
wgrantjtv: I guess germinate creates one file, but a-f wants one for each component.12:04
wgrantRight.12:04
bigjoolsthe override files start out as the same as the previous series12:04
wgranti-f-p doesn't care about a-f crap.12:04
bigjoolsthe override files are a freaking nightmare12:05
wgrantbigjools: I'm not sure that's the case here.12:05
jtvSo this is ubuntu-specific on the one hand, but on the other it's required for the initial index generation?12:05
wgrantThis is more-extra.12:05
wgrantmore-extra is generated by germinate.12:05
wgrantSo they probably only exist on the second run.12:05
wgrantSince NRCP doesn't say to copy, just to create the links.12:05
* jtv just keeps getting dizzy when trying to follow these conversations12:05
bigjoolswgrant: they have to exist or ln -s will fail12:06
lifelessderyck: why does expiry expiry INCOMPLETE_WITH_RESPONSE bugs?12:06
wgrantbigjools: No...12:06
wgrantbigjools: It will be a dangling link.12:06
bigjoolsye gads12:06
bigjoolsthat's horrid12:07
wgrantIt's fine.12:07
wgranta-f will just see the file doesn't exist and there will be no Task headers.12:07
bigjoolsthe fact that ln lets you link to an nonexistent file I mean12:07
wgrantUntil the second run.12:07
wgrantIt's very useful!12:07
wgrantIt's essential here, for example.12:07
bigjoolsI'd at least like a warning!12:07
jtvSissy.12:07
wgrantls -l -> OMG RED12:07
bigjoolstypos are part of my life12:07
wgrantUNIX doesn't do typos.12:08
derycklifeless, it's based on date of recent activity... so if the response falls outside the 60 days without activity, then it expires.  which can happen if it's been awhile since expiry has run.12:08
jtvapt-get remove --purge adobe-anything ; ln -s foo<tab><tab> etc12:08
bigjoolsln -s importantfile overrides.mainwgrantsucks.natty12:08
bigjoolsoops!12:08
lifelessderyck: I think I'm not clear12:08
lifelessderyck: we have in the UI two versions of INCOMPLETE12:09
lifelessone is INCOMPLETE_WITHOUT_RESPONSE12:09
lifelessand one is INCOMPLETE_WITH_RESPONSE12:09
deryckright12:09
deryckthese are to help people find bugs they need to act on.  they have nothing to do with the rules for expiry actually.12:09
lifelessthe workflow we sortof suggest is that 'put the bug into incomplete, when someone responds a search for INCOMPLETE_WITH_RESPONSE will show it, and you can take it from there.12:09
deryckand that is all correct.12:10
lifelessmyself and several others today were surprised to figure out that expiry expires both WITH and WITHOUT cases12:10
lifelessso I'm not asking about the implementation, I'm asking about the intent :)12:10
jtvwgrant: what exactly is "more extra" anyway?12:10
deryckpeople assume that means expiry won't get it if there is a comment.  but that's not true, if the comment itself is also over 60 days old.12:10
derycklifeless, I don't actually no the intent from way back.  the implementation is intent at this point. :-)12:11
lifelessderyck: so /why/ do we do this.12:11
derycklifeless, but I went through all this with bdmurray and ubuntu qa when we re-enabled this.  and everyone felt comfortable this was ok, and works as expected.12:12
lifelessderyck: I see; I propose to file a bug then, because I think its surprising to discriminate on has/has not responded in one part of the UI but not the other.12:12
derycklifeless, actually....12:12
lifelessderyck: I'll happily run it past ubuntu qa12:12
wgrantjtv: We write append/prepend/something it to the extra overrides.12:12
derycklifeless, if we fix this, I'd propose we just toggle out of incomplete and drop the whole incomplete with response stuff12:12
deryckthere's a bug about that already12:13
lifelessderyck: that would be good12:13
wgrantjtv: So we generate overide.*.extra.* ourselves, then append more-extra (which is generated by cron.germinate)12:13
lifelessI've nearly got a patch landed to store WITH/WITHOUT directly in the db12:13
jtvwgrant: oh, so it's specifically for publish-distro to use, not e.g. food for a debian script?12:13
derycklifeless, nice12:13
wgrantjtv: It is food for a Debian script, but it goes via ftparchive.py.12:13
lifelessone more round of ec2 should see the last failures gone and it landed - purely an optimisation for the DB12:13
wgrantjtv: So we can do with it what we wish, I guess.12:14
lifelessmakes task.status a property, and folds it in/out as needed12:14
jtvwgrant: when you're not intimately familiar with the debian scripts it's very helpful if you can see what a file does from looking at just the LP python code.12:14
wgrantjtv: Heh. You can't understand the content, but you can understand what's done with it.12:15
jtvwgrant: exactly.  I don't need to understand the content for what I'm doing.12:15
wgrantjtv: Although the more-extra handling is untested, IIRC.12:15
jtvI very earnestly hope.  :)12:15
jtv(Oh man I love moving windows in unity without dragging!  Just a 3-fingered drag)12:16
wgrantMy T400 touchpad doesn't do multi-finger :(12:16
wgrantMy 5 year old Dell does, though :(12:16
jtvOn recent macbooks it's already required because that's how you simulate multiple mouse buttons.12:17
jtvNext, easy scrolling would be nice.12:17
=== al-maisan is now known as almaisan-away
jtvbigjools: : I don't suppose a derived distro would be wanting the more.extra links?12:19
wgrantThey probably will.12:20
bigjoolsthe definitely will12:20
bigjoolsthey*12:20
wgrantThey should be allowed to have them.12:20
bigjoolsUbuntu for starters :)12:21
wgrantTheir hooks will create them, though.12:21
bigjoolsyeah, I think this sort of thing should all go in hooks12:21
lifelessbigjools: any reason we shouldn't set a currentseries for every distro, and require one ? (Like we require a currentseries for all products)12:21
lifeless(bug 277118 would be rendered obsolete by doing this)12:21
wgrantjtv, bigjools: Perhaps cron.germinate should maintain the links itself.12:21
_mup_Bug #277118: +upstreamreport oopses for some distributions <lp-bugs> <oops> <ubuntu-upstream-relations> <Launchpad itself:In Progress by adeuring> < https://launchpad.net/bugs/277118 >12:21
wgrantSince it's conceivable that distros may want different files for each.12:22
bigjoolslifeless: a db column or property?12:22
lifelessbigjools: the existence of a distroseries that can match the 'development_focus' rules12:22
lifelessbigjools: so nither a db column or a property - there already is a property12:22
jtvwgrant: does cron.germinate facilitate such customization?12:23
wgrantjtv: Hm?12:23
bigjoolswgrant: interesting idea12:23
wgrantAnd it removes some stupidity from i-f-p.12:23
wgrantAnd that can only be a good thing.12:23
bigjoolslifeless: is nither neither or either?12:24
jtv"er... either?"12:24
lifelessneither12:24
lifelessthe property already exists ;)12:24
bigjoolslifeless: so you can use that?  or am I missing something?12:24
jtvwgrant: one small thing though: I think the current release procedure creates the links _before_ cron.germinate gets to run.12:24
lifelessbigjools: there are distros that don't have a currentseries12:24
bigjoolsoh you want to enforce it?12:25
lifelessyes12:25
wgrantjtv: Yes.12:25
bigjoolshmm12:25
wgrantjtv: But it will just ignore them if they don't exist.12:25
lifelesswe do for product12:25
wgrantjtv: 'it' being ftparchive.py12:25
lifelessand it makes a lot of code simpler.12:25
bigjoolslifeless: it only really means something for soyuz-maintained distros12:25
lifelessyou can assume that there is a trunk (whatever its name) and that its usable and sane.12:25
bigjoolswhich is only one distro12:25
jtvwgrant: won't that cause any trouble for the initial publish-distro runs that create the indexes?12:25
bigjoolslifeless: there's no concept of current series for the others because we don't maintain them in LP12:26
lifelessbigjools: the same argument can be made about products registered in LP but not maintained in LP12:26
bigjoolstrue12:26
lifelessbigjools: but we do it there, and its not really an issue - we just create trunk when the product is registered12:26
lifelessno user questions or anything12:26
wgrantjtv: The first run will lack the germinate output (Task headers), yes.12:27
lifelessjust don't let them delete it if its the last one present12:27
wgrantjtv: But that's already the case, AFAICT.12:27
lifelessbigjools: the context for this is:12:27
wgrantjtv: NRCP creates the links, but they are dangling.12:27
lifeless - my simplifying the bugtask model post12:27
wgrantjtv: Because more-extra.override.DSN.main doesn't exist yet.12:27
lifeless - and bugs like the one adeuring is looking at12:27
bigjoolslifeless: I don't think anything will break if we add series to other distros12:28
jtvwgrant: so I needn't be worried about whether these links exist when I automate the publish-distro -A runs?12:28
wgrantjtv: No. That's just to get the empty indices out there.12:28
wgrantEmpty indices -> no packages to look for extra overrides for.12:28
bigjoolslifeless: the code seems to just pick the first series it can find if it's not in one of the known "current" states12:29
wgrantExcept for the release pocket, which will be updated anyway in an hour.12:29
wgrantWith cron.germinate this time.12:29
lifelessbigjools: yeah12:29
* jtv is slightly worried that what wgrant just burbled through the smoke of mystical herbs starts to make sense to him12:29
bigjoolslifeless: the states are not set by soyuz12:29
lifelessbigjools: I'll suggest this to adeuring & deryck as a way to fix it12:30
bigjoolsbut they change its behaviour significantly12:30
bigjoolslifeless: yeah it should be ok12:30
lifelessbigjools: but we don't use soyuz there, so shrug :) \o/12:30
bigjoolsindeed12:30
jtvbigjools: thanks for the review.  I shoot for tests that are short and well-named enough not to require docs.  Useful goal I hope, even if that doesn't imply realistic.  :)12:31
bigjools:)12:31
lifelessbigjools: https://bugs.launchpad.net/launchpad/+bug/277118/comments/312:33
_mup_Bug #277118: +upstreamreport oopses for some distributions <lp-bugs> <oops> <ubuntu-upstream-relations> <Launchpad itself:In Progress by adeuring> < https://launchpad.net/bugs/277118 >12:33
lifelessderyck: ^12:34
adeuringlifeless: sorry, was out for a few minutes. What about this bug?12:34
lifelessadeuring: just that one way to fix it - one that is inline with other parts of the code base - is to ensure that currentseries always returns a series12:35
adeuringlifeless: ah, right12:35
bigjoolslifeless: it begs the question, why does that page need to know what the currentseries is?12:36
lifelessbigjools: because packages don't live in distros12:38
lifelessbigjools: they live in distroseries.12:38
bigjoolslifeless: not entirely12:39
bigjoolsthe report is distro specific, there's no series in the URL12:39
lifelessbigjools: I konw12:39
lifelessbut its deriving data from the current series12:39
lifelesswhich is reasonable because:12:39
lifeless - we don't care about things not in the current series12:39
lifeless - nope, just one key reason12:40
bigjoolsyou don't need to know the series, you can just take the latest published version12:40
derycklifeless, we can look at the bug during standup and get one of us on it.12:40
lifelessderyck: adeuring is already on it; I'm merely suggesting a possible impl strategy12:42
lifelessbigjools: Module canonical.launchpad.browser.distribution_upstream_bug_report, line 161, in __init__12:42
lifeless    self.packaging_url = canonical_url(self.dssp) + "/+edit-packaging"12:42
lifeless  Module canonical.launchpad.webapp.publisher, line 370, in canonical_url12:42
lifeless    urlparts = [urldata.path12:42
lifeless  Module canonical.launchpad.webapp.publisher, line 325, in canonical_urldata_iterator12:42
derycklifeless, ah, ok.12:42
lifeless    raise NoCanonicalUrl(obj, current_object)12:42
lifelessNoCanonicalUrl: No url for None because None broke the chain.12:42
bigjoolsbecause it's using a DSSP12:43
bigjoolshmph12:43
bigjoolswell you can get the series from the latest publication12:43
lifelessa possibly better question is htf these distros have publications without a currentseries12:43
bigjoolslifeless: it seems like the page is implemented weirdly12:43
bigjoolsthey should not, indeed12:44
lifelessforcing currentseries to return something is similar to the null pattern object, but without the code duplication or the friction one has in zope (e.g. see the rather horrid (and now dead) NullBugTask)12:45
lifelesswhup, nearly midnight. ciao.12:45
bigjoolswe need to look deeper at this rather than papering over the problem12:45
bigjoolsnn lifeless12:45
adeuringlifeless: Distribution.currentseries returns None no series exists at all. So, should we enforce the creation of a series?12:45
lifelessbigjools: I'm not suggesting papering; I'm suggesting that there are a bunch o freasons to want currentseries to always work.12:45
lifelessadeuring: yes, precisely.12:45
lifelessbigjools: there may well be other problems in that page.12:46
adeuringok12:46
lifelessadeuring: on staging, make a new product12:46
lifelessnote that it comes with a series12:46
lifelessand you can't get rid of it12:46
adeuringright12:46
bigjoolsadeuring: lifeless: if therer is no current series, there can be no packages.  So there can be no upstream report.12:46
lifelessyou can't obsolete etc etc12:46
lifelessadeuring: so I'm suggesting the same rule apply to distributions12:47
lifelessbigjools: I agree that for this report there may well be other headaches in the page.12:47
adeuringbigjools: well, don't ask me for details, but somehow the upstream report page breaks...12:47
lifelessanyhow, must go. Have a great easter.12:47
bigjoolsnn again :)12:47
adeuringat the crash really caused by a missing series12:47
bigjoolsadeuring: we need to look at how it thinks there are packages in a distro that is not soyuz-maintained12:48
bigjoolsbecause there should be none12:48
adeuringah, ok12:48
bigjoolsthe upstream report should be empty12:48
bigjoolsAIUI anyway :)12:48
adeuringbigjools: yeah, I see it now. https://launchpad.net/archlinux is a completely empty distro, but the upstream report page crashes12:50
=== almaisan-away is now known as al-maisan
=== mrevell is now known as mrevell-la-comid
=== jtv is now known as jtv-afk
deryckhttps://dev.launchpad.net/MaintenanceRotationSchedule14:03
=== mrevell-la-comid is now known as mrevell
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
=== jtv-afk is now known as jtv
=== henninge is now known as henninge-afk
LPCIBotProject windmill build #204: STILL FAILING in 1 hr 3 min: https://lpci.wedontsleep.org/job/windmill/204/14:31
jcsackettallenap: can you take a look at https://code.launchpad.net/~jcsackett/launchpad/remove-duplicate-settings/+merge/58529 for me?14:31
allenapjcsackett: Sure.14:31
jcsackettthanks!14:31
deryckjam, hi.  Did you mean to target bug 437003 to lp series 2.1 and 2.2?14:38
_mup_Bug #437003: Failure to autopack because of 'missing inventories' <missing-inventory> <mysql> <packs> <Bazaar:Fix Released by jameinel> <Bazaar 2.0:Fix Released by jameinel> <Launchpad itself:New> <Launchpad itself 2.1:New> <Launchpad itself 2.2:New> < https://launchpad.net/bugs/437003 >14:38
allenapjcsackett: r=me14:41
jcsackettallenap: thanks.14:42
deryckbigjools, hi.  I'm not sure if bug 767258 is really a bug or if we just changed something?  it's about ppa stats being different since feb. 10.14:45
_mup_Bug #767258: weird PPA stats before Feb 10 <Launchpad itself:New> < https://launchpad.net/bugs/767258 >14:45
* bigjools looks14:46
wgrantderyck: I need to get hold of logs to investigate.14:47
wgrantThere was significant changes deployed on that date.14:47
bigjoolsderyck: it would be a good idea to check other packages in other PPAs - it could be a genuine jump in his stats14:47
wgrantI *think* the new ones are correct.14:47
wgrantBut I need to grab logs from both ends to verify manually.14:47
deryckwgrant, bigjools -- ok, cool.  I'll triage it then.  Thanks!14:48
bigjoolsctrl-q FTL14:48
deryckjam, I see your other bug now.  nevermind. :-)14:52
=== flacoste changed the topic of #launchpad-dev to: We have a 9s timeout!!! (2 months early | https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
=== flacoste changed the topic of #launchpad-dev to: We have a 9s timeout!!! (2 months early!) | https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
bigjoolsflacoste: \o/14:53
abentleyhenninge-afk: we were supposed to chat, right?  When would you like to do that?14:53
flacostebigjools: yep, we did it! it was 20s last year14:55
bigjoolsflacoste: so are we going to aim for something lower before Dublin? ;)14:55
wgrantWe have 260 criticals :(14:56
jcsackettwgrant: no raining on the parade. :-P14:56
benji20s to 9s is indeed an achievement14:56
flacostebigjools: nope, we now need to fix all the remaining critical bugs14:58
flacostewgrant: thanks for the shipit cleanup! much appreciated14:58
flacosteno more proprietery links in our code base14:59
flacostewell, apart our branding of course :-/14:59
wgrantflacoste: Heh, yes. I think it's all gone now, apart from the DB stuff.15:00
bigjoolsit'll be interesting to see how we hold up around ubuntu release time15:03
wgrantThere's no ShipIt to destroy us this time (that's happened at least twice).15:04
wgrantHmmmm.15:05
magciusI want to make UI enhancements to bugs... who should I talk to?15:12
magciusjam, oh, and I haven't given up on https://bugs.launchpad.net/569355 -- I'm trying to think some things through.15:14
jammagcius: That bug shows as 404, is there a different number?15:14
magciushttps://bugs.launchpad.net/loggerhead/+bug/56935515:14
_mup_Bug #569355: Left margin in code view. <loggerhead:Triaged by jstpierre> < https://launchpad.net/bugs/569355 >15:14
magciusgah, you apparently need the +bug15:14
magciusThat's dumb.15:14
magciusBug numbers are global!15:15
jammagcius: http://pad.lv/56935515:15
jam:)15:15
wgranthttps://launchpad.net/bugs/56935515:15
_mup_Bug #569355: Left margin in code view. <loggerhead:Triaged by jstpierre> < https://launchpad.net/bugs/569355 >15:15
magciusOne or the other, not both!15:15
jammines shorter, wgrant15:15
magciusThe URL is your UI too!15:15
wgrantjam: Mine's real :P15:15
magciushttps://bugs.launchpad.net/569355 should work, no matter what.15:15
magciusBut that's a separate bug.15:15
jamwgrant: both are redirects, I don't see how your's is more real than mine15:15
wgrantjam: Well, mine is official.15:16
magciusThe most information I can see on that page.15:16
magciusIs in the smallest font size possible.15:16
magcius"John A Meinel: Needs Fixing on 2011-04-14"15:16
magciusNot to mention it's "Ready for review"... even though it's already reviewed.15:16
magciusIf a reviewed branch is linked to a bug, then you should be able to see the comments in there.15:17
jammagcius: there is a link to the review page. Usually they are different discussions15:17
magciusA link that's in the smallest font on the page.15:17
magciusIt took me four or five minutes to find the comments I've been receiving through email..15:18
jammagcius: I set it back to WiP for you15:18
magciusAdditionally, screenshot: http://i.imgur.com/ATjMV.png15:18
magciusI see three knobs: This bug affects me, Unsubscribe, and the (-) button next to my name in subscriptions.15:19
magciusHow are they different?15:19
magciusAdditionally, why is the status in the "Affects" grid -- doesn't a bug have one status?15:19
jammagcius: a bug may have different statuses in different projects, distributions, release series, etc.15:19
magciusHow?15:20
jamloggerhead may have be suffering for something in bzr15:20
jamand we fixed it in bzr15:20
jambut loggerhead hasn't updated to use the new funciton15:20
jamfunction15:20
magciusThat's not the same bug... is it?15:20
jamor we released a fix in bzr-2.3 but it isn't in bzr-2.215:20
magciusI'm confused.15:20
magciusHow can a bug be "Fix Commited" in one project, but not in another?15:20
magciusThere's more than one bug if there's more than one fix.15:21
jammagcius: because to finish off the bug it requires updating 2 code fixes15:21
jammagcius: only for someone who ties Issues 1:1 with code drops15:21
jamand even if you say different code bases need a different bug (I don't)15:21
jamyou still have multiple versions of a code base within one project15:21
magcius"This isn't working"15:21
magcius"That's because bzr has a bug in this... bug 12345"15:21
_mup_Bug #12345: isdn does not work, fritz avm (pnp?) <isdnutils (Ubuntu):Fix Released by doko> < https://launchpad.net/bugs/12345 >15:21
jam(the one in Maverick, the one in Natty, the one in Debian-sid, the one in...)15:21
jammagcius: I it may be fixed by *Debian* patches, and not upstream15:22
magciusjam, sure, then use the distro bug feature, not the project bug feature.15:22
magciusBut meh.15:22
magciusNot worth fighting.15:22
magciusSo... there's "Affects"15:22
magciusand right above it, it says the bug affects me.15:22
magciusWhy?15:22
jammagcius: As a way to avoid "Me too" comments15:23
magciusOK, sure.15:23
magciusSo a bug can affect users and projects.15:23
magciusAnd there's two different UIs for each.15:23
magciuser, a UI for each15:23
magciusWhat's the difference between "Unsubscribe" and clicking the (-) next to my name in Subscriptions?15:24
magciusI assume the user "affects" is just an accumulator, wheras Subscriptions is like the CC list in Bugzilla/15:25
magciusSorry for complaining, but I'm really confused after staring at this UI now.15:25
jammagcius: If you say "Affects me" I believe it adds you to the list, but doesn't email you when other people comment on the bug. Subscribing sends an email for any modification. I assume the (-) is the same as Unsubscribe, not sure, though.15:26
magciusOK, so we should remove the Unsubscribe and Subscribe other people15:26
magciusand keep the (-) and add a new "Add user..." button15:26
wgrant(-) was added to all subscriptions you can remove. This includes you and your teams. yes, it is duplicated with the (-) Unsubscribe link.15:26
magciusOK.15:27
magciusThe fact that it displays incorrectly is a separate bug.15:27
=== al-maisan is now known as almaisan-away
magciusAdditionally, I'd like to dump the breadcrumbs under the bug title: "loggerhead >> Bugs >> Bug #56935515:28
magcius"15:28
_mup_Bug #569355: Left margin in code view. <loggerhead:Triaged by jstpierre> < https://launchpad.net/bugs/569355 >15:28
magciusThat data isn't really useful at all, and it's already in the URL if we fix the URL :D15:28
jammagcius: I personally find the breadcrumbs very useful.15:28
magciusReally?15:28
jamyep15:28
magciusHow?15:28
jamit is consistent between views as a way to "go up, but not all the way to the top"15:28
magciusDo you find it more useful than clicking on "Overview" or "Bugs"?15:29
jammagcius: It isn't huge when you are one deep. But stuff like: http://bazaar.launchpad.net/~daker/dexter-rolodex/fix.688511/view/24.1.5/data/media/background.png has breadcrumbs for the directory entries15:29
magcius(also, I'd like to either get rid of Overview and/or make the title clickable)15:29
magciusOh, that's fine.15:30
jtvallenap: want to do a very simple review?  https://code.launchpad.net/~jtv/launchpad/db-bug-768342/+merge/5868515:30
magciusThe breadcrumbs look completely different.15:30
magciusWell, they're not consistent between the "View" and "Files" views, but that's a separate bug.15:30
allenapjtv: Sure!15:31
jtvThanks :)15:31
magciusBut I have to click on the words "On hold" to get to the review comments/.15:31
magciusFrom the bug.15:31
deryckabentley, I'm reading bug 766242 as a bzr-builder issue, not launchpad.  Am I reading that wrong?15:57
_mup_Bug #766242: Launchpad bzr builder can't build from some ubuntu source branches <bzr-builder:New> <Launchpad itself:New> < https://launchpad.net/bugs/766242 >15:57
abentleyderyck: no, it looks like a problem with the content of the branch.15:58
abentleyderyck: per james' comment.15:58
deryckabentley, something we're doing to mess up the branch content?  Or just in the branch itself?  I'm not clear if it's a bug or not.15:58
abentleyderyck: So that might be a package-importer bug.  Not sure the provenance of the branch.15:58
abentleyderyck: Neither am I, because I don't know whether the package-importer is at fault.15:59
deryckabentley, can you ask for more info then and set to incomplete?15:59
abentleyderyck: james knows much more about this, and he's already involved, so I'd rather leave it to him.16:02
deryckabentley, fair enough.16:02
abentleyjames_w: do we know whether the broken contents of lp:ubuntu/cloud-init are a bug in our code?16:03
james_wabentley, bzr-builder, it isn't, other code, possibly, depends how it got that way16:03
abentleyjames_w: e.g. the package importer could have created the branch?16:04
james_wyes16:04
abentleyjames_w: how could we tell?16:05
james_wabentley, look at the committer of the last few revisions16:05
abentleyjames_w: it is Scott Moser.16:05
james_wor really, the first revision where the patches are applied but there is no .pc directory16:05
jamderyck: speaking of which, I have no way to *actually* target bzr-2.1 and bzr-2.2 on that bug, now that I've added Launchpad16:06
jamanything I can do?16:06
jam(There is only one Target to Series link, and it is doing the wrong thing)16:06
abentleyjames_w: for cloud-config-mcollective.txt, that is revno 90.16:10
abentleyjames: that's where it's created at least.16:10
abentleyjames_w: revno 90 also has no .pc directory.16:11
james_wabentley, this looks very much like a person error16:12
abentleyjames_w: Thanks for your help.16:17
deryckjam, can you not switch to the bzr context and it work?16:17
* deryck is late for lunch with daughter and has to go now....16:19
derycksorry16:19
=== deryck is now known as deryck[lunch]
=== henninge-afk is now known as henninge
henningeabentley: let's chat in like 20 minutes, ok?16:27
abentleyhenninge: sure.16:27
magciusok, i'm just playing around with the design16:28
magciushttp://i.imgur.com/FYY40.png16:28
magciusvs. http://i.imgur.com/ATjMV.png16:28
magciusoh whoops, I forgot the "me too" button16:30
jtvallenap: I'll have to be off very soon16:31
henningeabentley: actually, let's chat right now ... ;)16:32
henningeabentley: if that's ok?16:32
abentleyhenninge: sure.16:32
allenapSorry jtv, for some reason that branch slipped from my memory :( I'll do it before I finish today. Sorry again.16:35
jtvallenap: no worries, I can get back to it tomorrow.  Thanks.16:35
=== jtv is now known as jtv-afk
sinzuijcsackett: can you review  https://code.launchpad.net/~sinzui/launchpad/dsp-question-permissions-0/+merge/58705 ... Oh can we mumble first though. I want to talk about how hard queue question emails is.16:50
jcsackettsinzui: i can mumble, and then i will be happy to review the branch.16:50
bigjoolsec2 is borked then ... :(16:52
benjibigjools: some of it is: http://status.aws.amazon.com/?a16:56
benjiI wonder how hard it is to retarget to the North California region.16:56
bigjoolsI can't start my instance :(16:56
bigjoolsheh, it's kinda funny that the US-EAST status updates are timestamped in PDT16:57
benjiheh, yeah I thought the same thing16:59
bigjoolswhat defines which region we use for ec2 land?16:59
allenapbigjools: I /think/ it uses the default region as defined in boto.17:00
* bigjools ponders a hack17:00
gary_postermrevell, hi, are we chatting?17:01
mrevellhi gary_poster, yes. Mumble?17:01
gary_postermrevell sure17:01
allenapbigjools: ISTR that env variables can be used to override. I'm looking now.17:02
bigjoolsah cool17:02
bigjoolsBOTO_CONFIG17:03
bigjools?17:04
magciusOK, I know nobody is responding, but meh: http://i.imgur.com/5cdow.png17:05
allenapbigjools: In ~/.boto, add a [Boto] section, and ec2_region_name. It defaults to us-east-1.17:06
allenaps/and/and set/17:06
bigjoolscoolio17:06
bigjoolsallenap: now, to figure out what the valid values are17:07
bigjoolsah, the default one just started ...17:07
bigjoolslooks like eu-west-1 would work17:08
allenapbigjools: ap-northeast-1, ap-southeast-1, eu-west-1, us-east-1, us-west-117:08
bigjoolsyou're a veritable mine of data17:09
allenapbigjools: python -c 'import boto; print ", ".join(sorted(rg.name for rg in boto.connect_ec2().get_all_regions()))'17:09
=== deryck[lunch] is now known as deryck
jcsackettsinzui: i'm confused about one thing in your tests on the branch. the second test added says it's about an indirect contact being able to reject a question, but it looks to me like it's testing that the answerer can't reject. i assume i am misunderstanding something?17:46
* sinzui checks diff and hopes he did not commit the verification that the assert will not fail17:47
dobeyhey guys17:47
sinzuijcsackett: self.assertTrue(17:48
sinzui83+            getattr(self.question, 'reject'),17:48
dobeydoes anyone have any idea what the best way to give a "bot user" on LP permissions to view the members list of a private team would be?17:48
sinzui84+            "Answer contact cannot reject question.")17:48
jcsackettAh, yes.17:48
sinzuijcsackett: ^ If the assert fails you will see who cannot access the reject method17:48
jcsacketti was reading "assertEqual." so less misunderstanding, more visually imparied.17:48
jcsackettsinzui: r=me, and i think i need glasses. :-P17:49
sinzuidobey: I do not know the answer, but I know other teams have done that. I think some have also give them bot access to scripts via oauth. I do not think anyone has documented how to do this17:50
sinzuidobey: I think users are creating a profile (with an unique email address) for the bot. The bot uses LP API for manage resources. The bot owner does all the initial email confirmations and oauth approvals17:52
dobeysinzui: hrmm. so tarmac has this awesome feature that some awesome hacker wrote, where it can check that contributors are members of certain teams, for use with contributor agreement requirements. but as we're using it in u1, it only works half-heartedly right now, because one team we really need it to read, is private; and the bot isn't (nor should it be) a member of said team17:53
dobeysinzui: right. i alreaady have such a user, and have been using it for a while now. but there is a private team it needs to view member list of, without being a member itself17:54
henningeabentley: I have all checks reverting correctly now except for the first one (the productseries). What could be missing?17:54
henningeabentley: the branch is lp:~henninge/launchpad/devel-759606-ajaxify-delete-link if you want to have a look.17:54
sinzuidobey: That is a common problem. You cannot do it at this time. We often describe it as the owner is not a member problem, but your phrasing is closer to the disclosure feature that will start in a few weeks. There the goal is to allow owners to grant access to users without granting membership/control17:57
sinzuidobey:  at this time, only a team member or owner can see all the members. The bot must be a member, or a member pulls information to a secure locate that the bot can access.17:58
dobeysinzui: is there any magical workaround we could use in the meantime?17:59
dobeyhmm17:59
abentleyhenninge: I'll look at it in a minute.18:24
mrevellderyck, hey, bdmurray has an interesting comment on the blog. I think we have a help page clash ... I've been treating https://help.launchpad.net/Bugs/Expiry as the canonical bug expiry help page. I have to run now, but I'll fix this Monday ... if you have any comments though deryck, please do email me. Cheers.18:27
mrevellBye all. I'll be back Monday.18:27
* deryck looks at the blog, though mrevell will never know18:27
deryckbdmurray is correct18:28
bdmurray\o/18:29
=== beuno is now known as beuno-lunch
abentleyhenninge: set_productseries needs an else clause that calls clear_link() like set_branch.18:40
henningeabentley: ah, thanks18:41
henningeabentley: I just pushed a new rev that shows the project link in the overlay.18:42
abentleyhenninge: Until now, it didn't need to handle the case where the link had a value but was being unset.18:42
abentleyhenninge: also, you don't need to explicitly call that.update_check(productseries_check); in set_checks.18:42
henningeabentley: Yeah, all working now! ;-)18:52
abentleyhenninge: great!18:52
henningeWell, I guess I should add some tests, too.18:52
=== beuno-lunch is now known as beuno
LPCIBotProject windmill build #205: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/205/19:02
* magcius sighs20:00
abentleyallenap or jcsackett: could you please review https://code.launchpad.net/~abentley/launchpad/translation-sharing-details-permissions/+merge/58746 ?21:17
jcsackettabentley: sure.21:17
abentleyjcsackett: thanks.21:18
jcsackettabentley: r=me.21:59
abentleyjcsackett: thanks.21:59
gary_postermagcius did you ever get a reply?22:18
gary_posterlifeless, ping?22:18
gary_posterlifeless, in  lp.registry.browser.tests.test_milestone.TestProjectMilestoneIndexQueryCount.test_more_private_bugs_query_count_is_constant there's a comment that we should not increase the query count.22:22
gary_posterI'd already adjusted my change (in code that this page, and others, call) to only increase the query count by 1, but I don't see a way to reduce the number further.22:22
gary_posterI was hoping you had some ideas on decreasing that query count quickly, so I can land my very small and very loosely related branch (https://code.launchpad.net/~gary/launchpad/owner_administrator/+merge/58683).22:22
gary_posterI don't see any, with a quick zoom through the code; all of the low hanging and some of the middle-hanging fruit that I can see have been picked.22:22
lifelessgary_poster: hi, its easter here :)22:24
lifelessgary_poster: I'll have a quick look though22:24
gary_postermagcius, if you see this, I suggest that you contact Jonathan Lange <jml@canonical.com> (who is out this week) and possibly also Huw Wilkins <huw.wilkins@canonical.com> (I don't know is availability)22:25
gary_posterthank you lifeless, and sorry to bother you22:25
lifelessgary_poster: can you pastebin the queries you see (should be an attachment to the failure)22:25
gary_posterlifeless sure 1 sec22:26
gary_posterlifeless http://pastebin.ubuntu.com/597156/22:27
gary_posterlifeless line 15 is the new query fwiw22:28
lifelessso, one thing I see there is 5 separate person lookups after the initial user lookup22:28
lifelessgary_poster: an alternate reason suggests that the meat starts at line 2022:31
gary_posterthe meat of what?22:31
magciusgary_poster, thanks.22:31
magciusI'm working on making it into tangible HTML right now.22:32
lifelessgary_poster: the page22:33
gary_postermagcius awesome.  Cool, I think Jonathan and Huw will be the ones who will have the perspective/authority to figure out how to run with your ideas.22:33
lifelessgary_poster: after the session update traversal is complete22:33
gary_posterlifeless, ah ok.  So, I think I actually see what I can do.  I think I can make the function I was working on issue less SQL.  I'm not sure it will be a big win, but it would keep us under the numbers.  Would you be alright with me landing the current branch, which I don't think will kill kittens, and then make a new bug and branch to start tomorrow to try and reduce the numbers for that one function?22:35
lifelessgary_poster: so you need to raise it by 1 ?22:35
gary_posterlifeless, yeah22:35
gary_posterstatic 122:35
lifelessgary_poster: sure, that ssounds fine22:35
gary_posterok thanks lifeless.  have a great holiday and thanks for help22:35
lifelessquery count is just a proxy for efficiency22:35
lifelessso a reasoned change is always fine22:36
gary_postercool22:36
LPCIBotProject windmill build #206: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/206/23:02
=== jcsackett changed the topic of #launchpad-dev to: We have a 9s timeout!!! (2 months early!) | https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews
=== jcsackett changed the topic of #launchpad-dev to: We have a 9s timeout!!! (2 months early!) | https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
cody-somervilleubuntuone-client 1.6.1-0ubuntu3 finished building on amd64 7 hours ago but hasn't published. Is this because natty is in pre-release freeze?23:24
maxbIt looks published at https://launchpad.net/ubuntu/+source/ubuntuone-client/1.6.1-0ubuntu3/+buildjob/249092423:39
maxbAh, I reckon this close to release the publisher cronjobs are probably in manual mode23:41
maxbThat's certainly borne out by the timestamps at http://gb.archive.ubuntu.com/ubuntu/project/trace/23:41
maxbcody-somerville: ^23:42

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