/srv/irclogs.ubuntu.com/2011/12/14/#launchpad-dev.txt

jtvReally looking forward to parallel builds.  One thing I really hate in the morning is finding that the branch I landed last night hasn't been through Buildbot yet.02:26
StevenKjtv: Oh yeah02:41
StevenKjtv: "I've been ignoring IRC and stuff for over 12 hours, and buildbot hasn't passed once!"02:41
jtvI'm surprised to find myself saying it, but that fact would have been more comforting if at least a build had failed in the meantime.02:42
jtvWell, db-devel did of course, but that aside.02:42
StevenKbuildbot is up to ~ 6 hours a run, too02:43
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: StevenK | Critical bugtasks: 3*10^2
StevenKMight as well put myself in the topic, given it's my last OCR for the year02:44
jtvStevenK: I'll just join you, for the same reason.02:53
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: StevenK, jtv | Critical bugtasks: 3*10^2
jtvThere's been no visible progress in Q/A either02:53
jtvwallyworld_: I see sinzui landed a branch for you… it's just one of many Q/A blockers right now, but any chance you could get it out of the way?02:55
wgrantjtv: The one that's bad and rolled back?02:55
wallyworld_jtv: i'll have a look. i didn't realise it was out of buildbot02:55
jtvwgrant: no, the first blocker on the list.02:55
wgrantRevision 14489 is bad: possible blocker.02:55
wgrantbad, not needstesting02:55
jtvwallyworld_: we were just discussing how it does take far too long for a branch to come out of buildbot02:56
jtvArgh, yes, must be the lack of coffee.02:56
jtvwallyworld_: never mind — it seems to be broken.02:56
jtvIn which case: do you know whether a fix is in the works?02:56
wallyworld_jtv: yes, bb is too slow. what we are waiting for now is the fix to get through bb02:56
wallyworld_the rollback in fact02:56
jtvAh.02:56
wallyworld_there's a new mp which is approved which should sort it all out02:57
StevenKThe MP has been merged onto DF02:58
StevenKJulian's wrath be damned02:58
wallyworld_StevenK: have you tried anything yet?02:58
StevenKNot much, to be honest.02:59
StevenKwallyworld_: Have at it02:59
wallyworld_np. will do02:59
wgrantShould all be easily reproducible locally.02:59
pooliewgrant, iwnbni there was a "content is private" ff03:04
poolieff scope03:04
wgrantPerhaps if we had a way to determine privacy...03:04
huwshimiDoes anyone here have permission to edit http://blog.launchpad.net/ ?03:06
wgrantYes.03:06
pooliein the context of thanks buttons you can do a context.is-private03:06
poolie*is_private03:06
pooliehuwshimi, me03:06
wgrantpoolie: For some things.03:06
huwshimiCould one of you take a look and see if there's a bunch of blank lines at the end of the latest post?03:07
wgrantThat is a lot of nbsps;03:07
wgrantFixed.03:08
poolieopenid requires you attempt to click this button03:08
huwshimiwgrant: Thankyou!03:08
wgrantnp03:10
pooliehuwshimi, how about if i just make you an editor?03:10
huwshimipoolie: That would be great03:10
poolieplease thank you mum for giving you an easily greppable name03:10
huwshimiI thought I was03:10
huwshimipoolie: hah03:10
poolie*your03:10
poolietry now?03:10
huwshimipoolie: Ah great, thanks heaps03:13
sinzuiStevenK, wallyworld_, archive access looks correct on dogfood. Have you tried it?03:27
wallyworld_sinzui: no. i'm just writing up a mp and will try it as soon as i hit "enter"03:28
wallyworld_i can try now though03:28
StevenKsinzui: I had a bit of a look. I can have a closer look if you wish.03:28
wallyworld_sinzui: as me, i went to the link as suggested in the mp and it renders ok03:31
sinzuiStevenK, I have tried a few ppas. I think this is good. I can see the build, which could be argued as a no-no, but that is already visible to subscribers03:32
StevenKwallyworld_: s/qastaging/dogfood/ ?03:32
wallyworld_StevenK: dogfood03:32
wallyworld_sorry, ambiguous03:32
StevenKI can see the private team and the archive03:33
sinzuiStevenK, you can see the index page?03:33
StevenKOf the team, yes03:33
sinzuiI cannot see the team page.03:33
sinzuiStevenK, are you playing admin again?03:34
StevenKOh, bloody hell, I think I have a duck03:34
wallyworld_StevenK: in qas, i get an unauthorised error03:34
wallyworld_for that link03:34
* StevenK looks for his duck03:34
sinzuiStevenK, I removed myself from commercial admins to be sure I could not see private teams I was not a member of03:34
wallyworld_which makes sense since the rollback hasn't landed03:34
StevenKRight, I have unducked myself03:35
StevenKOkay, I can see the archive03:35
StevenKI can not see +packages03:35
StevenKBut that is expected03:36
StevenKAnd I can't see the team03:36
StevenKLand it!03:36
sinzuiI think I will03:36
StevenKsinzui: I'm very tempted to delete PersonGPGView for being a crime against humanity.03:37
sinzuiIt does have its probelms03:37
* wallyworld_ crosses his fingers for 3rd time lucky with this branch03:38
StevenKsinzui: Do you have a suggestion for what I can spend the rest of the day on?03:38
sinzuiStevenK, I have been pondering a desktop tool that lets me manage keys and signings without visiting Lp pages. gpg, coc, ssh all suck03:38
StevenKOh, the gpg edit page lies too03:39
StevenKIf you deactivate your key it warns it will deactivate your CoC signature too. But it doesn't.03:40
sinzuiStevenK, I wonder if your permission changes for nominations makes this bug any easier to solve https://bugs.launchpad.net/launchpad/+bug/29752803:46
_mup_Bug #297528: Permissions not checked properly when deciding whether to present "Target" or "Nominate" link <lp-bugs> <trivial> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/297528 >03:46
StevenKHmmm03:46
sinzuiThis annoys me too, but I think this is not really related to our recent permission changes: https://bugs.launchpad.net/launchpad/+bug/89202503:47
_mup_Bug #892025: Forbidden following link to configure code hosting <403> <trivial> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/892025 >03:47
sinzuiStevenK, There is actually a featurette I would like to have fixed. I want a page or portlet that lists all the teams I own. i usually cheat and query staging03:49
StevenKsinzui: In terms of the last one, we should not show the link if the user can't see trunk?03:49
sinzuiStevenK, I do not think privacy is the issue. I think the user is not an owner or driver so has no permission to set the series branch03:50
StevenKRight. We can actually cheat for that03:51
StevenKBugTask.userHasDriverPrivs(project, user)03:51
StevenKIf that's false, no link03:51
sinzuiStevenK, Given the misadventures with private teams. I really do not think any of us should work on the social private teams until the branch is qa-ok03:54
StevenKAgreed.03:55
* StevenK tries to work out which template adds that link03:56
sinzuiStevenK, than said I would like to know more about this https://bugs.launchpad.net/launchpad/+bug/61161703:56
_mup_Bug #611617: private teams cannot be package maintainers <disclosure> <lp-soyuz> <privacy> <teams> <Launchpad itself:Triaged> < https://launchpad.net/bugs/611617 >03:56
wgrantI really have no clue how to solve that one.03:57
sinzuiStevenK, If everything is private there should be no issue, but I think the issue here is that I could copy the package to a public archive03:57
StevenKThat is a tough one03:58
StevenKSPR's inherient their privacy from the archive03:58
StevenKI think we should allow it for private archives04:00
StevenKBut that then makes copying the SPR out even worse04:00
StevenKPerhaps we should just reject it with a better message04:00
=== jtv is now known as jtv-afk
wgrantStevenK: With the minor issue that then you can detect private teams.04:02
wgrantThis is why our model is so hilariously broken.04:02
StevenKRight04:03
StevenKsinzui: Shall I revert your branch off DF?04:03
sinzuiOh, yes please. Has it clear buildbot?04:04
StevenKPQM, or buildbot?04:05
wgrant(the current approach to social private teams is even more of a trainwreck than legacy disclosure -- it's going to be just about impossible to tell who can see what, which is exactly the problem we're trying to solve)04:05
StevenKI think we should just disclose all private teams.04:05
StevenKThe feature is called 'disclosure' after all.04:06
wallyworld_lol04:06
StevenKsinzui: Right, that configure codehosting thing is easy.04:08
sinzuiStevenK, wgrant: I added a comment about how we enforce the spr.maintainer restriction and muse about the options: https://bugs.launchpad.net/launchpad/+bug/61161704:16
_mup_Bug #611617: private teams cannot be package maintainers <disclosure> <lp-soyuz> <privacy> <teams> <Launchpad itself:Triaged> < https://launchpad.net/bugs/611617 >04:16
StevenKsinzui: If the team is private, they will be disclosed if the SPR is copied to a public archive04:17
wgrantPerhaps private teams can't have email addresses.04:18
StevenKAnd then they can't be maintainers04:18
wgrantExactly.04:18
sinzuiwgrant, I have considered such a restriction, I am not sure we can stop it04:18
wgrantsinzui: Oh?04:19
sinzuiwgrant, I think users would rebel04:19
wgrantUsers can be told that they are wrong :)04:19
wgrantWe need to consider the usecases.04:20
wgrantAnd then counter all of them :)04:20
sinzuiI should know how many private teams set the contact address, and how many of those are not an lp list04:20
StevenKI think we should just forbid it04:20
wgrantThere are difficulties.04:20
wgranteg. package maintained by $RANDOM_OEM_TEAM_ADDRESS -- what do we show in LP?04:20
wgrantHowever, we already have tonnes of unclaimed teams anyway...04:20
StevenKYes, farming for private team names being prime among them04:21
wgrantA few more won't kill us.04:21
lifelessyo hohoho04:27
StevenKlifeless: How was your flight(s)?04:28
StevenKSigh. Timeouts on DF04:28
lifelessinebriated04:28
StevenKOh, you've started drinking already? :-P04:30
wallyworld_StevenK: why does the configure_codehosting method return False? I would have expected to see None05:53
adeuringgood morning08:55
rvbaHello adeuring.08:55
adeuringhi rvba!08:55
danhgMorning09:04
=== mpt_ is now known as mpt
jtvwgrant: I couldn't manage to trigger a build on dogfood last time; maybe I just dput it wrong.  On phone now; will see if I can get help09:42
wgrantjtv: You don't have to upload something new.09:42
wgrantYou can copy or retry.09:42
* jtv retries09:43
jtvwgrant: I wonder if I could reproduce the problem by retrying builds somehow.09:49
wgrantjtv: That would be the easiest way, yes.09:51
jtvQuestion is: what do I retry?09:51
wgrantAny old failed build that is superseded.09:51
jtvSuperseded by a successful build?09:52
wgrantDoesn't matter.09:52
wgrantAs long as the source is superseded.09:52
jtvHow do I tell?09:52
wgrantJust find an old version of something in Ubuntu that has a failed build.09:52
jtvThere's a whole bunch of old test uploads for "hello" on dogfood: https://dogfood.launchpad.net/builders/concordia/+history09:53
jtvCan I just retry a bunch of those?09:53
cjwatsonjtv: All the sysadmin bits are done now; do you think you could send https://code.launchpad.net/~cjwatson/launchpad/refactor-cron-germinate/+merge/84624 to EC2 for me?09:53
cjwatsonhttp://paste.ubuntu.com/769864/ is my ~/.dput.cf for dogfood, BTW09:54
cjwatsonpretty sure I uploaded at least one of those 'hello' versions09:54
jtvcjwatson: I'm afraid I can't.09:54
jtvLong story, but basically won't work.09:55
jtvwgrant: maybe you could land colin's branch?09:55
jtvwgrant: Also, can I just retry one of those "hello" test uploads?09:55
wgrantIf the corresponding source is superseded, sure.09:56
wgrantWhich it may not be because of the lack of regular DF publisher runs.09:56
wgrantI can only run ec2 from my lucid container, which I swore not to start up for at least a few days after EOY.09:56
jtvwgrant: I can just run the publisher I guess.  Question is: will that definitely supersede the hello uploads?09:58
wgrantIf they're in the same domination context.09:58
jtvThey're all identical except in version number.09:59
wgrantOr you could just find a failed build from dapper or something.09:59
wgrantThe packages don't matter.09:59
wgrantThe location does.09:59
jtvThese are the only builds I see for this builder.  The other builders are disabled10:00
wgrantIs that relevant?10:00
wgrantThings will build on any builder that's configured correctly.10:00
wgrantAnd for our purposes we can configure concordia and clementine any way we want.10:01
jtvOK10:02
jtvlinux and gnome-shell may be a bit much to build here.10:02
jtvAh!  base-files.10:03
jtvwgrant: base-files on ferraz had some older, failed builds.  Will that work?10:04
wgrantI'm not sure how that would affect anything.10:05
jtvDiscuss.10:06
wgrantThe builder isn't relevant.10:07
wgrantWe don't even really care to any significant degree if the build succeeds or not.10:07
wgrantWe care that builds still dispatch, and that builds are correctly marked superseded when they are superseded.10:08
jtvRight.  My concern right now is to try and get builds marked superseded, to see if that works.10:08
jtvWhat I'm trying to get out of you is which build I could retry at this point to trigger that code path.10:10
wgrantRetry any build for a superseded source.10:13
wgrantIf it doesn't immediately start building, check the builder configuration.10:13
wgrantAnd reassign one of the builders to match the build's config.10:14
wgrantEven if it's for like powerpc or something.10:14
wgrantBecause we don't care if it fails.10:14
jtvCan I enable some builders?10:14
cjwatsonbigjools: would you be available to send https://code.launchpad.net/~cjwatson/launchpad/refactor-cron-germinate/+merge/84624 to EC2 for me?  Neither jtv nor wgrant can, at the moment10:15
bigjoolscjwatson: sure10:15
wgrantjtv: Only if "some builders" ⊂ {ferraz,rubidium,concordia,clementine}10:15
jtvAren't those the only ones we have on dogfood atm?10:16
wgrantNothing else is accessible.10:16
jtvAlso, why a _proper_ subset?10:16
wgrantSure, but the others can be revived on DF if someone is sufficiently misguided or creative :)10:16
wgrantBecause I am lazy at tracking down Unicode characters :)10:16
wgrant⊆ if you must10:17
cjwatsonbigjools: hooray10:17
jtvThank you.10:17
cjwatson(Hmm.  Do we think there'll be an opportunity for a cocoplum rollout after this at some point before the end of the year, what with lots of people being away?)10:18
jtvI certainly hope so.10:20
jtvWe've got some fixes lined up for it.10:20
wgrantIf we can deploy the poppy fix in the next day or two, future cocoplum rollouts should be relatively harmless and require minimal supervision.10:20
wgrantWhereas all Soyuz rollouts at the moment require close observation.10:20
jtvYou call it observation, I call it disaster tourism.  Looks like some builds on dogfood are now stuck in the uploading phase.10:21
wgrantjtv: There's a cron job for that.™10:21
bigjoolsjtv: you need to run a script10:21
wgrantProbably disabled, though.10:21
bigjoolsit is10:21
wgrantDon't enable that, or bigjools will SMACK YOU ON THE HEAD10:21
bigjoolsDF doesn't have enough coal10:21
jtvbigjools: thank you, I'll just run a script then shall I?10:21
bigjoolsjtv: perfect :)10:21
wgrantbigjools: Well, more than puppet steals all of the little coal that DF has...10:21
bigjoolstell me about it10:22
jtvBut... but... what about its _carbon footprint_?  :)10:22
jtvbigjools: any script in particular..?10:22
bigjoolsjtv: it needs to be bigger10:22
wgrantbigjools: That's also behind most of the recent PPA builder unreliability, it turns out.10:22
jtvbigjools: run a bigger script?10:22
wgrantbigjools: puppet is causing the hosts of several builders to OOM10:22
bigjoolsjtv: "crontab -l" and find the process-upload that deals with builds10:22
jtv“It's Puppet!  Help!”10:22
bigjoolswgrant: \o/10:23
bigjoolsnobody pays attention to memory usage when coding these days10:23
wgrantand also ruby.10:24
bigjoolsthat's the tradeoff with GCed languages10:24
wgrantWell.10:24
wgrantPython is particularly bad.10:24
wgrantAnd Ruby is far worse than Python.10:24
wgrantIt's not really the GCedness.10:24
bigjoolslet me guess... puppet is Python?10:24
wgrantPuppet is Ruby.10:24
sorenRuby10:24
jtvPython is mostly bad in how much memory it uses in the first place.10:24
wgrantjtv: Right.10:24
bigjoolswell when you start doing your own new/malloc, you are very aware of memory :)10:24
wgrantThe GC is not a problem.10:24
jtvprocess-upload --builds has finished10:25
bigjoolsdepends on the problem10:25
jtvAll serious programmers should go through stages of manual memory allocation.  And preferably machine code, to teach them how useful structured programming is.10:25
bigjoolshow many GCs are there for Java? :)10:25
bigjoolsjtv: +110:25
jtvbigjools: java is different.  It produces more garbage.10:26
bigjoolsI was horrifed a school teaching kids how to use MS products in an "IT" lesson10:26
bigjoolsfix grammar as appropriate --^10:26
jtvIObjectCreationFactory object_creation_factory = new ObjectCreationFactory(); IMyObject my_object = object_creation_factory.makeObject();10:26
wgrantbigjools: That's pretty universally nowadays.10:26
wgrantComputing courses are MS + Java.10:26
bigjoolswgrant: an Aussie school :/10:26
* jtv prefers informatics over information technology, really10:27
wgrantbigjools: Oh, you mean like a primary or secondary school?10:27
bigjoolsI handed them my business card and talked about Ubuntu10:27
bigjoolsprimary10:27
wgrantIT classes involve teaching Microsoft Office10:27
bigjoolsexactly10:27
wgrantAnd old versions of Dreamweaver.10:27
wgrantOr FrontPage 2000.10:27
wgrantAlthough my old high school recently started teaching VB6 in year 8.10:27
wgrantLet's just ignore that VB6 was superseded 9 years ago.10:27
wgrantAt least it's something.10:28
jtvwgrant: "year 8" as in "2003 years ago"?10:28
wgrant2003 was year 7, tyvm.10:28
jtvWell they were 1-based then.10:28
jtvAs can still be observed in VB6.10:28
wgrantHeh10:29
jtvApparently Dijkstra once proposed the compromise of having arrays start at 0.5.10:29
wgrantAlthough my uni teaches Python, then goes into C, then Java, then Haskell and Prolog.10:29
wgrantNo C++, which is odd.10:29
jtvIt's not a great teaching language today.10:30
cjwatsonMine started with ML on the grounds that more or less nobody knew it already so it created a level playing field.10:31
wgrantHuh, interesting choice.10:31
jtvIt's supposed to be pretty good, no?10:32
rvbaIIRC I started with OCaml based on the same assumption I guess.10:32
cjwatsonIt's not a bad language.10:32
cjwatsonNot that I've retained very much of it.10:32
wgrantOh, sure, it's not bad. Just a rather unconventional choice for a first, I would have thought.10:32
wgrantjtv: How goes the dogfood wrangling?10:32
cjwatsonRight, it was because the course population was part self-taught-programmers and part people starting from scratch.10:32
wgrantcjwatson: Ah.10:33
jtvwgrant: still building an old hello.  But I'm not sure it's properly superseded.10:33
wgrantcjwatson: These days they tend to just ignore the self-taught people and let them rot.10:33
cjwatsonSpeaking as a self-taught programmer, I liked our approach. ;-)10:33
wgrantAnd then they go and do stuff like spend implausible amounts of time on Ubuntu and LP instead.10:33
* bigjools was taught algol68...10:33
cjwatsonMy MUM was taught Algol 6810:34
bigjoolsthankfully I had already taught myself C10:34
cjwatsonOn punched cards10:34
bigjoolsis this turning into a your mum joke? :)10:34
cjwatsonNo, I'm actually serious :-)10:34
bigjoolsI know :/10:34
cjwatsonOh, maybe it was 6010:34
bigjoolsmy uni was so up to date10:34
wgrantbigjools: .au schools are unlikely to do anything except Microsoft, because all the state education departments have hugely expensive contracts with Microsoft which give unlimited licenses of just about every product to primary and secondary schools.10:34
bigjoolswgrant: I'll see about that when I get there10:35
jtvGetting a $100 discount on a $150 license must be better than a $0 discount on a free license.10:35
bigjoolsI already converted my local school here :)10:35
wgrantjtv: The schools have to pay nothing.10:35
bigjoolsit's insidious MS practice10:35
wgrantjtv: The state government pays it all.10:35
wgrantAnd it's not cheap.10:35
jtvbigjools: So THAT's it.  You're done here, time to move to the next one10:35
wgrantExactly.10:36
wgrantIt's a very effective abusive Microsoft tactic.10:36
wgrantSo all the schools see is that all this Microsoft software is completely free!10:36
wgrantNo licensing concerns whatsoever.10:36
wgrantjtv: That source doesn't look very superseded.10:39
wgrantHowever, the build succeeded, so that's one case tested...10:40
wgrantIs the publisher still going, or has the dominator broken?10:41
wgrantThere's like 40 versions of hello published in precise-release, which is somewhat unconventional.10:41
gmbstub, I've updated https://code.launchpad.net/~gmb/launchpad/openid-data-integrity-bug-894390/+merge/84750; could you take a look when you get a second?10:41
jtvwgrant: yay!  The other build I was waiting for says "Build for superseded Source."10:43
wgrantjtv: That sounds qa-ok if there's no traceback around.10:44
jtvWhere would I find the traceback?10:44
jtvThe builder went back to idle, by the way, as it should.10:44
wgrant/srv/launchpad.net/dogfood-logs/buildd-manager.log or something like that.10:44
wgrantThat's a good sign.10:44
wgrantjtv: Looks like this is close to deployable.10:46
wgrant(the bad rev has an untagged rollback in r14500)10:46
jtvwgrant: a few things that _might_ be bad in the logs, though I'm hoping they're not:10:51
jtvBuilder 'clementine' rescued from 'bb672c8535728724706a9b7885dba0c11f084c5b': 'No job assigned to builder'10:51
jtvBuilder 'clementine' being cleaned up from ABORTED10:51
bigjoolsthat's ok10:52
jtvThis is after some no-route-to-host errors for clementine.10:52
wgrantThat's fine.10:52
wgrantJust clementine being clementine.10:52
jtvconcordia logs some frightening but, on closer inspection, probably okay stuff: ***** RESULT ***** etc.10:53
wgrantThat's normal.10:53
wgrantSoyuz likes stars.10:53
jtvNo tracebacks.10:53
jtvI have to leave very soon.  bigjools, is this enough for you to carry on with?10:53
bigjoolsjtv: did you retry a failed, superseded build?10:54
bigjoolsthat's all you need10:55
jtvYes.10:55
bigjoolsthen it's ok10:55
jtvI marked it qa-ok.10:55
wgrantTwo tiny bits of abentley QA, then you can deploy.10:55
wgrantOh, and jelmer.10:55
jtvWhen does db-devel get updated?10:56
jelmeroh, hullo10:57
wgrantjtv: At the next */10 after buildbot completes.10:57
wgrantjtv: Why?10:57
jtvGot a db-devel branch waiting to land, once a particular devel revision has been merged in.10:58
wgrantAh.10:58
jtvWon't pass tests without that revision.10:58
wgrantReally?10:59
wgrantOh.10:59
wgrantRight.10:59
jtvIt's the test, mind you, not the "real" code10:59
wgrantBecause the populator tests will create them unset.10:59
wgrantNever mind me.10:59
jtvExactly.10:59
=== matsubara-afk is now known as matsubara
jtvbigjools: I left instructions on bug 849683.  Would be most grateful if you could pursue.11:08
_mup_Bug #849683: {B,S}PPH Populator are temporary <disclosure> <qa-untestable> <Launchpad itself:In Progress by jtv> < https://launchpad.net/bugs/849683 >11:08
jtvPlease let me know now if I left anything out!11:08
bigjoolsjtv: ok!11:09
jtvIt looks as if, if I wanted to play things fast & loose, I could pqm-submit the second branch right now.  But…11:09
* jtv is off. HNY!11:16
* cjwatson tries to bisect that test problem jtv mentioned yesterday (swapped e-mail addresses in a few soyuz tests)11:31
wgrantcjwatson: I have a suspicion it's arch differences.11:32
wgrantI've only seen it on i386 so far.11:32
wgrantbuildbot/ec2 are amd6411:32
cjwatsonIt started somewhere between r14434 and r1445011:32
cjwatson(Because I didn't see it while working on refactor-cron-germinate, which I branched from r14434)11:32
wgrantAh, hm.11:33
wgrantInteresting.11:33
cjwatsonAlthough I'll verify that in a bit ...11:33
cjwatsonwgrant: Sorry, I'm wrong.  I must just not have run those tests.11:39
cjwatsonAh11:47
cjwatson    recipients = [11:47
cjwatson        format_address_for_person(person)11:47
cjwatson        for person in filter(None, set(candidate_recipients))11:47
cjwatson            if person.preferredemail is not None]11:47
cjwatsonSo that's non-deterministic because it depends on what order set(candidate_recipients) happens to iterate in11:47
StevenKIs that in notify() ?11:47
cjwatsonlib/lp/soyuz/adapters/notification.py:get_upload_notification_recipients11:48
StevenKBecause it looks horrifingly familar11:48
StevenKIt is11:48
cjwatsonMaybe TestMailer.send should sort?11:48
StevenKThat's notify(), effectively11:48
cjwatsonRather than imposing sorting on production11:48
bigjoolsIIRC something sorts somewhere11:48
cjwatsonDoesn't seem to here11:48
cjwatsonreject_changes_file calls get_upload_notification_recipients and passes the answer to send_email11:49
StevenKcjwatson: Most of that code is my fault.11:49
cjwatsoner, send_mail11:49
StevenKcjwatson: However, you should have seen it before I hacked it to pieces.11:50
cjwatsonHow about I file a bug and ignore to-address ordering failures in the branch I'm working on?11:51
StevenKcjwatson: So, to-address ordering is actually causing you issues?11:53
cjwatsonYes11:54
cjwatsonLet me file this bug and point you to it rather than repeating it all :-)11:54
cjwatsonStevenK: bug 90422011:57
_mup_Bug #904220: Soyuz tests with lists of e-mail addresses are non-deterministic <Launchpad itself:New> < https://launchpad.net/bugs/904220 >11:57
StevenKHmmm, I see.11:58
StevenKInteresting how set() behaves differently on i386 vs amd64.11:59
wgrantHardly.11:59
wgrantThe ordering is undefined.11:59
StevenKWell, *I* find it interesting. You may not.11:59
bigjoolsin a testicle scratching kind of way12:01
StevenKbigjools: While I remember, it looks like the instant diff works fine!12:01
bigjoolsyay!12:01
StevenKbigjools: However, it doesn't AJAX-ify the other information that creating a diff shows12:01
bigjoolsthere's a bug about that12:01
StevenKbigjools: Such as "Diff against target". Is there a bug?12:02
StevenKAh12:02
bigjoolslook for tag "longpoll"12:02
bigjoolsthis is why only ~launchpad can see it for now12:02
StevenKbigjools: How are you breaking Kindle screens so easily?!12:08
bigjoolsStevenK: I have no idea12:08
bigjoolsbut they are happy to keep sending replacements12:08
StevenKI read a blog post about this recently. How Kindles started as expensive electronics device and was treated with kid gloves and so on, and has declined to, "Oh, whatever, it's like $80."12:10
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jtv | Critical bugtasks: 3*10^2
=== bigjools changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugtasks: 3*10^2
cjwatsonbigjools: I'd like to fix bug 619088; it's been annoying me for a while.  Is there likely to be any problem with just changing FTPArchiveHandler to remove a slew of "are there any udebs to publish" conditionals?13:15
_mup_Bug #619088: d-i indices in -proposed appear and disappear <lp-soyuz> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/619088 >13:15
cjwatson(Also bug 118227 and probably bug 240965.)13:16
_mup_Bug #118227: main/debian-installer missing from Release files <feature> <lp-soyuz> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/118227 >13:16
_mup_Bug #240965: publisher doesn't deal with pockets becoming empty <lp-soyuz> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/240965 >13:16
bigjoolscjwatson: hard to say without looking in more detail but it can't be that hard13:17
cjwatsonI don't know why it was made conditional in the first place; I'm assuming it was a misplaced sense of tidiness13:21
sinzuigmb, do you have time to review my branch fixes https://code.launchpad.net/~sinzui/launchpad/builds-without-component-0/+merge/8540014:05
=== matsubara is now known as matsubara-lunch
gary_posterhi mrevell. bac sent out an email yesterday to launchpad-dev titled "Milestone tags".  It is in response to an escalated request from Danilo.  This affects you because our current proposed solution will (minimally) add a relatively small feature to milestones (you can tag them) and project groups (you can see a report of blueprints and bugs filtered by the milestones that have a given tag).  sinzui has given his blessing for this idea, and indeed14:20
gary_posterit began with his brainwave.  We'd like to proceed with this on the sprint right now.  May we?  Would you like a call to discuss?14:20
sinzuiI think danilo also blessed the proposal14:21
gary_poster(mrevell, Danilo has given his blessing on the general approach, and we are working on mockups now14:21
gary_poster)14:21
cr3hi folks, I would appreciate some assistance with the concept of bug subscriptions in Launchpad. yesterday, I unsubscribed to the dell-team bugs as can be seen from the following screenshot but I'm still being emails with the X-Launchpad-Message-Rationale set to "Subscriber @dell-team": http://people.canonical.com/~cr3/bug_subscriptions.png14:21
gary_posterright sinzui, thank you14:21
cr3might there be something I'm not understanding about this feature?14:21
mrevellgary_poster, otp. I saw the email, have been in solid calls today so far. Will ping when I'm free.14:22
gary_posterthanks mrevell.14:22
sinzuicr3 a feature is new behaviour that requires guidance and acceptance by stakeholders14:22
cr3sinzui: this is new behavior, as far as I can tell, and it's not getting my acceptance so far :(14:23
sinzui:)14:23
cr3sinzui: but it does require guidance though, so I'm all yours :)14:23
gary_postercr3, it is still possible to to get emails.  If you look at that page and expand all reasons why you get emails, it should give you a reason.  If not, AFAIK this is a recent regression14:24
cr3sinzui: I had been looking forward to this feature for a while to reduce the volume of bug mail I receive and simplify my procmail rules, without having to unsubscribe from teams to preserve access to their online bugs, branches, etc.14:25
cr3gary_poster: I toggled the "other subscriptions" link, my screenshot is the only item in the list14:25
sinzuicr3 we know something is a bug because there are already rules from stakeholders/someone that we can see are contradicted. When a bug is escalated, we should not need to treat the fix as a feature. In some cases, a bug is escalated because the stakeholder believes it will achieve their goal, but it does not, Understanding the motive for the escalation cane reveal a feature-like issue14:26
gary_postercr3, then correct, you should not be getting anything from this list.  We have tests for the behavior and it has been in the wild for some time now without complaints I know of, so this may be an odd regression14:26
cr3gary_poster: here's the full page screenshot: http://people.canonical.com/~cr3/bug_subscriptions_full.png14:26
gary_poster(sinzui, you know cr3 is talking about bug subscriptions and not milestone tags, right?)14:27
cr3gary_poster: this applies to a bunch of lists, not only dell-team. I receive a *lot* of email14:27
sinzuigary_poster, I do not :)14:27
cr3gary_poster: do your tests cover private teams/bugs?14:27
gary_postersinzui :-)14:27
gary_postercr3, yes, I think so.  the page you showed me shows that there is a reason you still receive email.14:28
gary_postercr3, the first box under "Other subscriptions" is the explanation14:28
cr3gary_poster: but it says: You do not receive emails from this subscription.14:28
gary_postercr3, and the way to address it is to follow the advice on the right14:28
gary_postercr3, that is a separate subscription14:28
gary_postercr3, that is *your* subscription in the second box14:29
gary_postercr3, the first box is a subscription for a team of which you are a part14:29
gary_postercr3, that gets into mailman sending stuff14:29
gary_postercr3, we can't control at that level14:29
gary_postercr3, so you need to ask the Dell team to unsubscribe generally (or disable your emails from that list I guess)14:30
cr3gary_poster: ok, so I absolutely need to contact the administrator of the team so that I don't receive bug mail anymore, right?14:30
gary_postercr3, yes.14:31
gary_postercr3, and the request will be this:14:31
gary_postercr3, could we no longer be subscribed as a team, so I can control what emails I receive?14:31
cr3gary_poster: can I find instructions to do this, I'm not finding such an option in the +edit page of a team of a team I can obviously edit :)14:33
gary_postercr3, sorry was on call.  You are not an administrator of the team, or else the action links on your subscription page would show you what you could do about this.  As it is, the action (right-hand) link for that box gives you the only option you have: contact the administrators.  I suggest that you do this.  The link there takes you straight to the contact page and you can send them an email.  Give them a link to the page you are on now.  For admi14:43
gary_posternistrators, when they look at the full list of "Other subscriptions" they will be able to see and disable these subscriptions from this page.14:43
gary_postercr3, actually...14:44
gary_postercr3, it looks like they are *directly subscribed* to this bug.  This is different that the blanket structural subscription.  Again, this page should explain to the administrator why this has happened, and what they can do about it,14:45
gary_poster.14:45
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Critical bugtasks: 3*10^2
abentleyadeuring: lay it on me.14:47
adeuringabentley: https://code.launchpad.net/~adeuring/launchpad/bug-903852/+merge/8565114:47
cr3gary_poster: so I need to edit how a team is subscribed to all bugs while looking at the +subscriptions page of a specific bug as an administrator, right? if so, sounds like this option should be provided from the team overview or the team bugs landing page...14:50
cr3gary_poster: so, I'm looking at a +subscriptions page as an administrator and I see what you mean: Edit this subscription. however, this seems to give me the option of changing the volume of bug mails sent, not whether the members of the team can unsubscribe themselves. might I be misunderstanding something?14:51
abentleyadeuring: Our style guide recommends "!Y.Lang.isUndefined()" (or isValue) rather than "!== undefined"14:54
adeuringabentley: ah, ok, I'll change it14:54
abentleyadeuring: For the loop that's causing a lint error, you could use Y.each.  It's a pretty nice interface.14:55
adeuringabentley: ok14:55
flacostesinzui: i have another potential gotcha for you around the LimitedView permission14:56
sinzuioh dear14:56
flacostesinzui: it's not a big deal really, more of a polish thing14:56
flacostewell, maybe, it's more than polish14:57
flacostebut it's fairly easy to solve14:57
flacostethe LP API uses the launchpad.View permission to check if should give the link to an object14:57
sinzuiah14:57
flacosteotherwise, the link will be the tag:redacted-....14:57
flacosteone14:57
sinzuiIan and I discussed that...well we guessed that14:58
* sinzui reports bugs14:58
abentleyadeuring: did you consider making SORT_KEYS a mapping?  Seem that would make the lookup simpler.14:59
adeuringabentley: the data must be sorted: the order in the object defines the order of the sort buttons on the listing pages15:00
flacostesinzui: simply changing the configued permission to check would to the trick15:01
flacostesinzui: as this is only an optimizaiton to see if the user will be able to get anything out of the object15:01
flacostesinzui: actually marshalling catches exception Unauthorized exceptiond substitutes the redacted tag15:02
abentleyadeuring: JavaScript associative arrays actually are ordered, but I'm quite happy not to depend on that fact.15:02
adeuringabentley: yes, but now the original dat is defined in Python...15:02
gary_postercr3, sorry was on call again.  Could you give me another screenshot of the +subscriptions page with you as an administrator?15:03
cr3gary_poster: http://people.canonical.com/~cr3/bug_subscriptions_admin.png15:04
abentleyadeuring: This looks like a nice improvement r=me.15:09
adeuringabentley: thanks!15:09
gary_postercr3, that's a different bug15:09
gary_postercr3, the options show depending on how you are subscribed15:09
cr3gary_poster: indeed, one for which I'm an administrator :)15:09
gary_postercr3, and who you are15:09
gary_postercr3, right, but it's a completely different situation15:10
gary_posterwell, a different situation15:10
gary_postercr3, on http://people.canonical.com/~cr3/bug_subscriptions_full.png it says that you are subscribed because the dell team is directly subscribed to the bug.15:10
cjwatsonbigjools: damnit.  working on that failing test in refactor-cron-germinate now ...15:11
gary_postercr3, so the things you want to do there are (less importantly) unsubscribe the team from that bug and (more importantly) figure out why the dell team was subscribed to that bug, and if it was automatic, change things so that it is not automatic15:11
gary_posteronly admins can do that kind of thing, and will get info about it15:12
cr3gary_poster: I'm pretending that I'm the person that I will be contacting with the message you suggested: could we no longer be subscribed as a team, so I can control what emails I receive?15:12
=== matsubara-lunch is now known as matsubara
cr3gary_poster: hm, I don't think that will happen, I think logs of bugs are still going to be assigned to the dell-team and many other teams I happen to be a member of because that's how they work15:14
gary_postercr3, I'm on a sprint.  I want to help you.  Maybe we could go faster on a call so I can get back to the sprint?  Skype would be easiest for me.  I have voip set up but I haven't tried it15:14
sinzuiabentley, can you review https://code.launchpad.net/~sinzui/launchpad/builds-without-component-0/+merge/8540015:16
abentleysinzui: sure thing.15:17
cr3gary_poster: thanks for the offer, very nice of you. I now understand the feature better and it seems to require changes on the side of the teams about their policy for bugs15:17
gary_postercr3, right15:17
gary_postercr3 (which the page can help them with, fwiw, but policy changes can require discussion)15:17
gary_postercr3 (fwiw, Launchpad has disabled most of these team subscriptions so that people can get the emails they want.  some team emails can be controlled by LP, but if a mailing list is involved, or if a direct subscription is involved, there's only so much we can do))15:19
sinzuiI see test_view_with_component has a rubbish comment. Sorry15:20
cr3gary_poster: yeah, I now have a much better understanding of what's going on. I wish there was a way to communicate this more clearly somehow in the web interface so that you don't have to deal with people like me trying to wrap their brains around the problem :)15:21
gary_postercr3, me too :-) there probably is, but this was the best the mockup/user testing process came up with for this time around.  It's a complex situation15:22
cjwatsonbigjools: Test fixed.  Sorry about that!  Would you mind resubmitting?15:22
bigjoolscjwatson: yes, can you remind me of the MP URL please?15:23
cjwatsonbigjools: https://code.launchpad.net/~cjwatson/launchpad/refactor-cron-germinate/+merge/84624 - it's still thinking about the updated diff, but the fix was http://bazaar.launchpad.net/~cjwatson/launchpad/refactor-cron-germinate/revision/1447115:29
abentleyderyck: could you review the refactoring? https://code.launchpad.net/~abentley/launchpad/cleanup/+merge/8568916:04
deryckabentley, look at you asking me before the diff is up…. ;)16:06
abentleyderyck: diff is up now.16:07
deryckabentley, ah, only 1500!  That's baby diff in js! :)16:08
deryckabentley, sure, I'll do it.16:08
abentleyderyck: Thanks.16:08
rick_h__abentley: have a sec for that assistance?16:08
abentleyrick_h__: sure.16:09
rick_h__abentley: diff: https://code.launchpad.net/~rharding/launchpad/link_tags_894726/+merge/85673 and I seemed to have killed the test here: https://pastebin.canonical.com/57117/16:09
rick_h__abentley: but in looking at the test that fails I don't see it hitting this BugTaskListing stuff at all16:09
abentleyrick_h__: looking...16:10
=== matsubara_ is now known as matsubara
abentleyrick_h__: nothing looks obviously wrong in that regard.16:13
rick_h__abentley: ok, updating devel and going to run the test there to see if it's not me16:14
rick_h__abentley: any other suggetsions on how to generate the urls I should rethink?16:14
rick_h__abentley: it feels a litlte bit dirty in the model like that, but works16:14
abentleyrick_h__: So you're assuming that the URL doesn't have a query, but I don't know why that would be true.16:14
rick_h__abentley: the thought was this was a partial solution /easy hack. It doesn't remember things, just resets you to that tag view16:15
rick_h__abentley: so it's not cascading the options through the tag link click16:16
abentleyrick_h__: But isn't it going to generate URLs like http://bugs.launchpad.net/bzr?order_by=importance?field.tag=bar ?16:16
abentleyrick_h__: Anyhow, to generate these urls, you do canonical_url(bugtask)16:17
abentleyrick_h__: No, wait.16:18
rick_h__abentley: no, the getURL() doens't seem to have the query params16:18
rick_h__abentley: and the tag link isn't in relation to the current bugTask item16:18
abentleyrick_h__: So, canonical_url(target, rootsite=bugs) should generate the url for a listing page.16:19
rick_h__abentley: target_context?16:20
abentleyrick_h__: maybe.16:21
abentleyrick_h__: What does the existing code do?16:21
rick_h__the current code builds a string of the tags and sets it to the tags property of the model build16:22
rick_h__abentley: ^16:22
abentleywhat16:23
abentleyrick_h__: is the model build?16:23
rick_h__abentley: sorry, meant the tag attr of the model property that's built16:24
abentleyrick_h__: No, what does the existing code that generates URLs for tags do?16:25
rick_h__abentley: oh, so I just needed to build a url like the ones built in the .pt files: tal:attributes="href string:${context/target/fmt:url}/+bugs?field.tag=${tag}">tag</a>16:26
rick_h__abentley: so in order to get at the url of the current request, I found self.request.getURL() which seems to return a nice base url for the current request16:26
rick_h__abentley: and I manually build the ?field.tag=$tag onto the end of the url and return it as part of the model16:27
rick_h__abentley: so in order to do that I had to make the request argument to the BugTaskListingItem required vs an option kwarg16:28
abentleyrick_h__: So the literal translation of that is something like canonical_url(bugtask.context.target, view_name="+bugs") + "field.tag=" + tagname16:29
rick_h__abentley: ok, I'll try that out and then back out the request argument changes16:30
rick_h__abentley: thanks16:30
abentleynp16:31
abentleyrick_h__: I'm somewhat surprised to see that canonical_url doesn't support specifying query params.16:32
abentleyrick_h__: It looks like there's potential for XSS here.16:34
rick_h__abentley: right, since it doesn't go through the tal filter?16:34
rick_h__abentley: looks like context is a protected attribute as well so looking at how to put this together16:34
abentleyrick_h__: I think the issue is that <>& are not going to be escaped if you just do "+tagname"16:35
rick_h__abentley: right, checking mustache's escaping options16:36
abentleyrick_h__: But they're escaped by mustache, so that should be fine.16:36
rick_h__abentley: are they? ok cool16:36
abentley{{}} escapes, {{{}}} doesn't.16:36
rick_h__abentley: gotcha, works for me16:36
bacflacoste: i've created bug 904335 and moved the 'escalated' tag to it16:58
_mup_Bug #904335: Project groups need  a way to aggregate project milestones <escalated> <linaro> <Launchpad itself:Triaged> < https://launchpad.net/bugs/904335 >16:58
flacostebac: did you remove the escalated tag from the other one as well?16:59
bacflacoste: i did16:59
flacostebac: thanks! and for testing the -proposed candidates16:59
bacflacoste: np17:00
deryckabentley, r=me with some minor formatting things I'll mention in my comment.17:24
sinzuijcsackett, are you really about with net, or 3g?17:40
jcsackettsinzui: i still have net atm.17:44
sinzuijcsackett, do you have few minutes to discuss limitedview pages on mumble17:44
jcsackettsinzui: certainly, just a moment whilst i fire up mumble.17:45
abentleyderyck: thanks.17:53
deryckabentley, np!17:54
drunk_ramblerneeded leads on how i can start of contributing to ubuntu17:56
rick_h__abentley: have time to review? https://code.launchpad.net/~rharding/launchpad/link_tags_894726/+merge/8567318:21
abentleyrick_h__: sure.18:21
rick_h__abentley: ty18:21
abentleyrick_h__: since bugtask.target is not going to vary, it seems strange to call canonical_url(self.bugtask.target, view_name="+bugs") more than once.18:23
rick_h__abentley: true18:23
abentleyrick_h__: Here again we have the unfortunate pystache scoping bug.  It would be nice to do { "mustache_model": {tag_url_base: canonica_url(target)}, bugtasks[…]}, but tag_url_base wouldn't be visible in a loop.18:27
rick_h__abentley: right, I'm pushing a change to generate a tag_base_url and then the completion just takes that + tag string to generate the url18:28
rick_h__abentley: but yea, the wasted iterations :(18:28
abentleyrick_h__: Do we still need tags, or can tag_urls replace it?18:45
abentleyrick_h__: what's the &nbsp for?18:46
rick_h__abentley: we don't use tags, I guess I thought it made sense to keep as part of the model18:47
rick_h__abentley: but if I moved tag_urls onto tags perhaps that would be best and you could get at the tag strings easily18:47
abentleyrick_h__: No, if we don't use it in the mustache template, we shouldn't have it in the mustache model.18:48
rick_h__abentley: the &nbsp; was just because of lint I had to newline the {{tags}}{{/tags}} and I wanted to be sure we always get the space seperation18:48
rick_h__abentley: ok, I'll move the tags_urls to just tags then18:48
abentleyrick_h__: The newline after </a> should ensure that we get space separation, without imposing extra spacing.18:49
rick_h__abentley: yes, the &nbsp; was just the most clear way to indicate a space MUST be here18:50
rick_h__abentley: updates pushed18:52
abentleyrick_h__: I think the changes to lib/lp/bugs/browser/cvereport.py are unnecessary.18:54
abentleyrick_h__: other than that, this looks fine.18:55
rick_h__abentley: ok, thanks18:55
abentleyrick_h__: I note that the review is marked "work in progress".  Is that done now?18:56
rick_h__abentley: yes, I just marked the bug in progress. I had forgotten to do that earilier18:57
rick_h__abentley: guess it flipped the status18:57
rick_h__abentley: ah nvm, wrong 'in progress'18:57
lifelessbenji: / gary_poster: did jtv nab you guys to talk translation stats jobs ?19:14
gary_posterlifeless, I've asked benji to investigate and connect with jtv.  AIUI, he is hoping to talk to gmb, because benji believes that some of those scripts are still being run19:15
gary_posterlifeless, that's benji's top priority ATM19:16
lifelesscool.19:16
gmbbenji, gary_poster, et. al.: I'm finally back online and available to talk should I be needed.19:16
lifelessIts my understanding that the new job is a good step but missed a couple of key bits from the analysis done on /one/ of the earlier bugs19:16
lifelessI wanted to say that its great to see things being made more incremental, and even if more work is needed to get it fully covering the issues etc - its great to see it being tackled.19:17
gary_posterlifeless, that's what I got from jtv's bug too.  the other key bits *may* be handled elsewhere.  gmb, thanks.  benji knows the questions he needs to ask you better than I.19:18
gary_posterlifeless, on an unrelated note, I have gotten my lxc stuff in a very broken state.  When I try to use lxc-create it doesn't succeed because the container does not have network access.  This is despite having the local.conf per your instructions, and ifconfig reporting a virbr0 around.  Do you know any resources I have to get some help with this?  I doubt this is something I can contact normal Ubuntu support with19:20
gary_posternote that this was working fine earlier on the same machine. :-/19:21
lifelessgary_poster: hallyn or spamaps in #ubuntu-server will be good contacts.19:21
gary_posterok thanks19:21
lifelessthat said, can you paste the exact config you are using, and the output of19:22
lifelesssudo brctl show19:22
lifelessip route19:22
abentleyderyck: A further tweak: https://code.launchpad.net/~abentley/launchpad/cleanup-2/+merge/8573119:28
lifelessgary_poster: I will reply to the tag thing after I've had a few more hours to cogitate and recover from last nights party19:29
deryckabentley, ok, about to go to lunch for my dentist appointment.  I'll look when I get back.19:33
abentleyderyck: sure.19:33
=== deryck is now known as deryck[lunch]
=== matsubara is now known as matsubara-afk
lifelessgary_poster: would you mind moving your draft onto the original LXC page? Its confusing to me to have two pages to worry about updating20:20
gary_posterlifeless, sure, yeah.  You don't mind losing the natty info?20:20
lifelessgary_poster: We don't need natty instructions at all now20:20
gary_posterok cool20:21
lifelessgary_poster: only needed it until O was released.20:21
gary_posterI'll do it in just a sec.  call20:21
lifelessstaff need to be running lucid/O/P anyhow; and community contributors can always look in the page history if they want old docs.20:21
gary_posterack20:26
=== mwhudson_ is now known as mwhudson
jtvcjwatson: I'm unexpectedly temporarily back... I see you're in dogfood.  Mind if I upgrade it?  Involves a restart of its launchpad instance, buildmaster etc.20:55
gary_posterjtv, hi!  benji, look, I see jtv!20:56
lifelesslol20:56
jtvNo you don't.20:56
gary_posteroh, it was a mirage...20:56
jtvYes.20:56
lifeless'I see absent people'20:56
gary_posterHave uyou seen any droids?20:56
jtvGo back to work.  You'll forget this ever didn't happen.20:56
cjwatsonjtv: just a screen session doing nothing of importance; feel free.  Will that be up to r14516?20:56
jtvThis isn't the jtv you're looking for.20:56
lifelesswe have to update our 500 page20:56
gary_poster:-)20:56
lifelesshttp://www.flickr.com/photos/girliemac/6509400855/in/set-72157628409467125 courtesy mwhudson20:57
jtvcjwatson: it'll be the latest, uh, devel I think.20:57
benjijtv: hi, have a second to talk about bug 903532?20:57
jtvbenji: I would say "yes" but your second is already up.  :)20:57
* jtv throws an impatient look at the resident bugbot20:57
jtvAh, that one.20:58
jtvYes, I'll give you a whole minute if you want.20:58
gary_posterlifeless, hee hee :-)20:58
cjwatsonjtv: Excellent, that'll include the thing I'll need to QA RSN, then.20:58
mwhudsonhttp://www.flickr.com/photos/girliemac/sets/72157628409467125/ has been posted to twitter 546 times in the last day20:59
mwhudson(according to isitold.com)20:59
gary_posterheh20:59
cjwatsonjtv: (Incidentally: is upgrading dogfood just a matter of running 'upgrade-dogfood-launchpad'?)20:59
jtvYes, it should be.20:59
jtvI'm doing that right now, in fact.20:59
benjijtv: first, I can't find evidence (other than the statistics not being right) that verify-pofile-stats-daily and verify-pofile-stats have been disabled; of course, verify-pofile-stats had collapsed under its own weight some time ago, as I understand it21:00
jtvIt used to be a bit more depends-on and now-run-the-other but I don't like that stuff.  Looks too much like work.21:00
jtvbenji: I didn't find them in the cron tabs.21:00
benjijtv: where are the cron tabs?21:00
jtvlp:lp-production-crontabs I think.21:01
jtvbzr+ssh://bazaar.launchpad.net/%2Bbranch/lp-production-crontabs/21:01
jtvjelmer, frankban: do you think you'll be able to finish your pending Q/A soon?21:02
benjijtv: that's exactly what I was looking for, thanks!  we need to get those reinstated -- well verify-pofile-stats-daily, my understanding is that verify-pofile-stats is essentially useless now21:04
jtvCorrect on both counts.21:04
jtvUnfortunately we still _need_ verify-pofile-stats!21:04
sinzuiabentley, can you see this branch https://code.qastaging.launchpad.net/~private-registry-test-team/+junk/newtest221:04
abentleysinzui: yes.21:05
sinzuifab. thanks abentley21:05
gary_posterjtv, we need it but reinstating will accomplish nothing without more work, right jtv?21:06
jtvgary_poster: that follows logically, yes.21:06
benjijtv: can you unpack that a bit, the ghost of Danilo thinks otherwise, see comment #9 on bug 78127421:07
_mup_Bug #781274: rosetta-pofile-stats script takes more than a week to complete <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/781274 >21:07
frankbanjtv: yes I will finish my QA work within an hour21:07
jtvfrankban: great, thanks21:08
jtvbenji: that would only apply if the bug it refers to had been fully fixed.21:09
jtvInstead, we now have a partial implementation.21:09
jtvWhat the bug specified (with a bit of excessive detail that I would argue with, which I'll skip over for now) is “do the statistics updates in a separate job, and have each job update not just a single POFile but its entire sharing set.”21:10
jtvThe latter part is not implemented AFAICS.21:10
jtvWhich leaves us without the biggest thing the statistics script did for us: patch up statistics for POFiles that were affected by changes in shared translations.21:11
benjijtv: gotcha, that leads me to the second half; I can't say that I completely understand the details of how the shared translations need to be updated when an individual POFile is changed; will you outline that for me?21:11
jtvIt's not so much that shared translations need to be updated, but that they _are_ updated and the statistics need to reflect that.21:12
jtvA template can share translations with a bunch of other templates.21:12
jtvTherefore, a POFile can share translations with other POFiles: those whose templates share with its template, translated to the same language.21:13
jtvSay POFile A shares with POFile B.21:13
jtvThey are both completely untranslated.21:13
jtvGoing through the UI for POFile  A, I translate POTMsgSet x.21:14
jtvBut x is also shared with B's template.21:14
jtvWe always updated statistics for A at this point,21:14
jtvbut B obviously also needs its statistics updated because it is no longer completely untranslated.21:14
jtvThere was no code to do that immediately; too complex and too costly.21:15
jtvInstead, we relied on the statistics updater that was already in place.21:15
jtvAnd so, in the current design, the pofilestatsjob needs to look up a full set of sharing POFiles and update all their statistics.21:16
jtvIn my opinion the current design is not that great for template imports, where we'd basically have to look up the sharing set twice (and once in the critical path).  But that's another topic.21:16
jtvbenji: still with me?21:18
benjijtv: I have a glimmer of understanding of the words you are saying.  Do you know of a place in the code which we already "full set of sharing POFiles"?21:18
jtvYou're hitting a sore spot there.21:18
jtvNo, we don't have that.21:18
jtvWhat we have is code to look up a full set of sharing templates.21:18
jtvSo you'd have to go over the full set of sharing templates (POTemplateSharingSubset IIRC), and for each, look up their POFile for the language you're interested in.21:19
jtvAlso, the template import code needs to do this for all languages that any of the sharing templates are translated to.  Which is why I would have preferred for POFileStatsJob to refer to a POTemplate and an optional language, rather than a POFile.21:20
jtvA POFile is basically a tuple of a POTemplate and a language.  But who's to say there's always a POFile?21:20
* benji considers buying a very large whiteboard.21:23
benjijtv: so... it looks like I need to make the job use POTemplateSharingSubset.getSharingPOTemplates(POFile_this_job_is_about.template) to get a set of templates and then call updateStatistics on each of those templates21:27
* benji crosses his fingers.21:27
jtvbenji: you'll be happy to hear that that is almost entirely correct.  The only small missing detail is in what you call updateStatistics on:21:28
=== deryck[lunch] is now known as deryck
* deryck hates going to the dentist21:28
jtvfor each of those sharing templates you need to find the POFile (if any) that translates it to POFile_this_job_is_about.language.  And if there is one, call updateStatistics on that POFile.21:28
benjioh! yeah; I need to go from the templates to... /some/ set of POFiles, right?21:28
jtvderyck: speak up!  Can't hear what you're saying with that novocaine jaw.21:29
jtvbenji: yes, and tragically there's no direct support for that.  Not that it'll be _very_ hard, but still.21:29
benjijtv: thanks much21:32
jtvHTH21:32
gary_posterthank you jtv and benji.  jtv, sorry to drag you into this...early in the morning?  late at night?...but much appreciated.21:34
jtvgary_poster: pretty much exactly inbetween.  Just got off an 8-hour bus ride, hence the weird times.21:35
gary_posteroof, jtv.  ok, well...rest well? :-)21:35
jtvThanks21:35
jtvDon't feel guilty; I was awake anyway and chose to log in.21:36
gary_poster:-) thanks21:36
deryckabentley, r=me on that mechanical name change.21:41
abentleyderyck: thanks.21:42
=== jcsackett|afk is now known as jcsackett
sinzuijcsackett, http://curtis.hovey.name/2011/09/12/misadventures-with-gnome-javascript/22:07
jtvhi sinzui — is there any prospect of getting deployment unblocked?  I see there's no rollback for that bad revision yet.22:10
cjwatsonjtv: There is, it just didn't have the rollback tag22:11
jtvOdd actually: the deployment report says 14490 is both deployable and bad.22:11
cjwatsonjtv: r1450022:11
jtvThanks.22:11
jtvThat's right after mine, actually.22:11
cjwatsonBut I guess we need r14491 QAed first ...22:12
jtvYes.  Been up there for a while.22:12
jtvjelmerrrrr!22:12
cjwatsonjtv: Oh, do we still have a tree from a little before r14516 on mawson somewhere?  My QA procedure for refactor-cron-germinate involves doing a timed publisher run with the old code22:14
jtvcjwatson: if only we had a technology to manage multiple revisions of source code somehow  :)22:15
cjwatsonHm, which might involve switching /srv/launchpad.net/codelines/current back for a while22:15
cjwatsonI'm less than convinced that trying to run the publisher from any other path will work22:15
jtvThe publisher is just a script — I would've thought you could run that from any tree.22:16
cjwatsone.g. LAUNCHPADROOT=${TEST_LAUNCHPADROOT:-/srv/launchpad.net/codelines/current}22:16
cjwatsonin cron.germinate22:16
cjwatsonso yes I can override it there ...22:16
cjwatsonOh, actually, that looks like the only place.22:16
jtvOnce you get into publish-ftpmaster there shouldn't be any hard-coding of paths.  You may want to check the configs though.22:17
cjwatsonWhere should I look?22:17
jtvMainly for the runparts directories I guess.22:17
* jtv digs22:17
=== almaisan-away is now known as al-maisan
jtvcjwatson: my best guess so far is /srv/launchpad.net/codelines/lp-production-configs22:18
=== al-maisan is now known as almaisan-away
cjwatson./dogfood-publish/launchpad-lazr.conf:run_parts_location: cronscripts/publishing/distro-parts22:19
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
cjwatsonso I think that part is OK22:22
jtvcjwatson: my system suddenly shut down.  Last I see in my log is where you found the config for the run-parts stuff.  In practice though I don't think dogfood-publish is maintained; I always just run the publisher under the dogfood config.22:28
cjwatsonjtv: Unfortunately dogfood doesn't have a run_parts_location, which is rather important here.22:33
jtvIf none is set up, I think the script uses the one from the source tree it's running from.22:34
jtvBut don't take my current word for it; I documented whatever it does.  :)22:34
cjwatson# Location where the run-parts directories for publish-ftpmaster22:35
cjwatson# customization are to be found.  Absolute path, or path relative to the22:35
cjwatson# Launchpad source tree, or "none" to skip execution of run-parts.22:35
cjwatsondogfood ultimately inherits "none"22:35
cjwatsondogfood-publish does seem to mostly inherit from dogfood, though22:36
jtvI think it's broken, but may be worth trying.22:37
cjwatsonI should be able to run the publisher from r14515 without putting that tree's database in place, I guess22:37
cjwatson(I have a built tree in /srv/launchpad.net/codelines/r14515)22:37
cjwatsonI think I might wait for garbo-hourly to finish before trying to time anything, though.22:38
cjwatsonHmm, that might take a while ...22:38
lifelessprobably want to kill it, it will take the whole hour I expect22:38
lifelessit runs out of time on a 4-way box22:39
lifelessor is it 6. Much cpuness anyhow22:39
cjwatsonIs that going to interfere with anyone's plans for dogfood?22:39
cjwatsonI guess not.  Killing22:43
cjwatson2011-12-14 22:44:26 DEBUG   Querying which suites are pending publication...22:49
cjwatsonpublisher on mawson has been sitting at that for five minutes - I know mawson is slow but is it that slow?22:50
cjwatsonMaybe I should just run cron.germinate in isolation, at this rate22:50
cjwatson(That would be just as good for QA.)22:50
cjwatsonI'll do that rather than growing old.22:53
=== salgado is now known as salgado-afk
jtvcjwatson: it's not supposed to be that slow, no.23:05
cjwatsoncron.germinate itself doesn't need lp-query-distro.py pending_suites, only other lp-q-d operations that complete quickly, so I can avoid whatever the problem is.23:06
cjwatsonHmm.  This is a bit awkward.  I can't QA this on dogfood because it has suites that don't have seeds ...23:09
jtvCan't you limit it to specific suites?23:09
cjwatsonNo, that doesn't make sense.23:09
cjwatsonWhat's going on ...23:09
cjwatson* Downloading http://people.canonical.com/~ubuntu-archive/seeds/ubuntu.rusty/STRUCTURE23:10
jtvBear in mind though that the dogfood archive isn't complete.23:10
jtvAnyway, the horizon is turning grey.  Time to get those few more hours.  Good luck!23:11
=== jtv is now known as jtv-zzz
cjwatsonfind_operable_series is apparently producing different results from lp-query-distro.py development23:11
cjwatsonWhich is sad.  This might be qa-bad, but I'll look some more23:11
cjwatsonIs there any problem with me using anoint-dogfood-admin on myself so that I can investigate this?  I think it might actually not be a production problem, but I need to change the status of a couple of dogfood Ubuntu series to make sure of that23:21
cjwatson(dogfood has multiple Ubuntu series in status DEVELOPMENT or FROZEN; production will only ever have one)23:22
StevenKcjwatson: It is not a problem, you can make yourself an admin.23:32
cjwatsonThanks23:33
pooliehi all23:53

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