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

* poolie thinks, again, there ought to be an incipient mp for every branch 00:32
pooliewhether it's been actually proposed or not00:32
pooliespiv, the thing is writing the extension is easy, deploying it is the hard part00:33
maxbpoolie: but how would you know what the destination branch is?00:34
lifelessmaxb: all of them :P00:34
lifelesspoolie: why is deploying the extension hard?00:34
thumperwallyworld: not really00:34
thumperwallyworld: file one00:34
pooliei'm just once-bitten by attempting to change the oauth deployment00:36
thumperhow does one document a flag?00:36
pooliethumper, read dev.launchpad.net/FeatureFlags and if that's not enough, ask me00:36
thumperok00:36
poolieif it's not enough i'd really like to make it better00:36
thumperpoolie: https://launchpad.net/+feature-info lists undocumented features00:38
thumperpoolie: how do they become "documented"?  The docs don't cover that00:39
pooliehm00:40
poolieah, see "adding a new flag"00:40
pooliei'll expand that a bit00:40
poolieor are you just documenting an existing one?00:41
thumperI'm wanting to add a new flag, but I should also document the missing ones00:41
wgrantThe missing ones are documented in a branch of mine.00:41
thumperpoolie: yeah, that section is very easy to miss00:42
thumperwgrant: thanks00:42
thumperpoolie: who is able to edit the feature flags on prod?00:42
poolielosas00:42
poolieonly00:42
pooliewell, ~admin00:42
pooliei think that's correct00:43
poolieis that better now?00:43
pooliethumper, please try to match the naming guide in that page too00:46
poolieor object to it and we can change it00:46
wgrantBut if you invent another non-standard scheme I will cry :)00:47
poolieexactly, so please don't00:47
pooliethe naked juggling is distracting enough without people criying too00:47
thumperStevenK: when do you want to chat?00:52
pooliethumper, all good?00:52
thumperpoolie: the only thing making me cry right now is how we are currently hiding recipes00:53
wallyworldthumper: can you remember where that code is where you check for None in the formatter?00:57
thumperwallyworld: yes00:57
wallyworldthumper: and please tell me where it is mr smarty00:58
thumperwallyworld: lib/lp/code/browser/sourcepackagerecipe.py00:58
wallyworldthanks00:58
thumperarchive_picker00:59
* wallyworld sad - there's actually no existing tests for NoneFormatter00:59
lifelessStevenK: btw01:26
lifelessStevenK: there is a jenkins openid plugin now01:26
lifelesswhoa02:01
lifelesswhere did the loggerhead exceptions go02:01
wallyworldStevenK: how's the recipe popup build request review going?02:03
StevenKwallyworld: You mean, the one I wasn't actually doing? :-)02:04
wallyworldStevenK: you asked me questions about it so i assumed you had claimed it :-)02:04
StevenKwallyworld: Nope :-)02:05
wallyworldStevenK: np. i'll find another sucker^H^H^H^H^H esteemed developer to do it02:06
lifelesswallyworld: I'm a little confused02:06
lifelesswallyworld: I thought you were working on manually requested builds02:06
wallyworldlifeless: i always confused02:06
lifelesswallyworld: but I saw you file a but about manually requested daily builds that aren't stale02:07
wallyworldlifeless: yes, but the request build popup work was done before that02:07
lifelesswhich is a /totally/ different use case02:07
wallyworldso i have 2 recipe related branches up for review02:07
wallyworldthe 2nd depends on the first02:07
wallyworlddue to shared javascript02:07
wallyworldlifeless: make sense now?02:07
wallyworldwgrant: want a small review? https://code.launchpad.net/~wallyworld/launchpad/add-link-to-noneformatter/+merge/5008802:08
* wallyworld has 3 active reviews to try and get off his list02:09
LPCIBotYippie, build fixed!02:20
LPCIBotProject devel build (448): FIXED in 5 hr 59 min: https://hudson.wedontsleep.org/job/devel/448/02:20
LPCIBot* Launchpad Patch Queue Manager: [r=leonardr][bug=649252] add an unsubscribe link to non-verbose bug02:20
LPCIBotnotifications02:20
LPCIBot* Launchpad Patch Queue Manager: [r=leonardr][no-qa] isolate bin/lint.sh's use of grep from the02:20
LPCIBotenvironment02:20
LPCIBot* Launchpad Patch Queue Manager: [r=danilo][ui=none][no-qa] Fix rST and Sphinx errors in our top-level02:20
LPCIBotdocs, and make the main page more interesting.02:20
lifelesswhats the glue to say 'does this class implement ISomething or other' - when querying, not declaring02:22
sinzuihi huwshimi02:36
huwshimisinzui: Hey therwe02:36
huwshimi*there02:36
sinzuihuwshimi: I recall writing about the loss of colour from the involvement portlet. but I cannot find it in my email :(02:37
sinzuihuwshimi: So pretending I have dot written about this. do you want to mumble to discuss the issues that users have raised?02:38
huwshimisinzui: Sure, that'd be great02:38
thumperlifeless: what do you think about converting feature flag values of "off" and "false" to False ?02:40
lifelessthumper: i'm pretty unkeen02:47
lifelessthumper: what issue are you trying to solve?02:47
thumperlifeless: I'm adding a feature flag "code.recipe.beta" to control the message and the beta icon02:47
thumperlifeless: so we'll add a rule that says code.recipe.beta -> "on"02:48
thumperlifeless: but if we set a rule to say code.recipe.beta -> 'off'02:48
lifelessthumper: theres a rule for this already isn't there ?02:48
thumperlifeless: I want it to work02:48
thumperno02:48
thumperwe have code.recipe_enabled02:48
thumperwhich is different02:48
thumperI'd like to rename that to "code.recipe.enabled"02:48
thumperenabled controls whether we barf on recipe actions02:49
lifelessthumper: so this is to let you go to non-beta without tying it to a deploy ?02:49
thumperbeta is just to show the messages02:49
thumperyes02:49
thumperexactly02:49
lifelessand then you'll delete both rules entirely.02:49
thumperaye02:49
wallyworldthumper: can you tell me where our existing web service api tests are? i've had a boy look but can't see them02:49
lifelessI would just do the current thing - 'if <thing>: ... '02:49
thumperyeah, I know I _can)02:50
lifelessthumper: the default is None/'', and you can add rules of ''02:50
thumperI just think it would make it more clear02:50
lifelessI have think it makes it more awkward02:50
thumpergetFeatureFlag('some.feature') should be False if some.feature == "off" or "false"02:51
lifelessNot at that layer02:51
lifelessand I really don't see the argument for a higher layer at the moment02:51
lifelessit seems like cruft02:51
thumperfind02:51
thumperfine02:51
thumperwe can agree to disagree and I'll not change it02:51
lifelessI agree that there is some confusion02:51
wallyworldlifeless: what do you have against implementing expected semantics for 'off'/'false' meaning Bool(False) ?02:52
lifelessone of the reasons I have the opinion I have is that 'no rule implies no value' is kind of predictable. 'no rule implies a specific value' needs some sort of schema02:52
lifelesswallyworld: the current /layer/ is simple strings. Its schemaless and typeless.02:53
lifelesswallyworld: this makes it extremely robust in some ways, and frustrating in others.02:53
wallyworldok.02:53
lifelesswallyworld: given that we version the interpreter for this data (the appserver processes) multiple times a day, a failure in this area would be extremely messy.02:54
wallyworldyep :-)02:54
lifelessI've no strong objection to a higher layer being built : but I see no benefit to building it either for simple booleans because the current implementation meets our functional needs02:54
wallyworldbut that's what tests are for :-)02:55
lifelesswallyworld: tests cannot catch this02:55
lifelesswe had one failure from features already, took the site down02:55
lifeless-the whole site-02:56
wallyworldi'll take your word for it. not familiar enough with it to have an opinion either way. but on the surfaces, everything should be testable in an ideal world02:56
lifelesswallyworld: the rules are in the production DB02:56
wallyworldwhy not also in stable or staging?02:56
lifelessstable is a branch, not a DB, and the rules can have commercial-in-confidence values in them.02:57
lifelessas for staging, it /may/ have the same rules, or it may have different ones02:57
wallyworldlifeless: sorry ETERMINOLOGY. i just meant the test databases02:57
lifelessI'd rather see small helpers when folk solve tricky problems here built up than the core of the layer become typed.02:58
wallyworldi'd say there's an argument that our test environment should replicate the prod one, in this case having the same core database values. but i take the point about the privacy issue02:58
lifelessand booleans have a comprehensive solution now: there's nothing you can add to make our handling of booleans more pithy, correct or powerful02:59
lifelesswallyworld: folk need to be able to change rules on [qa]staging to be able to check their patches work etc03:00
lifelesswallyworld: it would be disruptive to forcibly sync those on a high frequency basis03:00
wallyworldagreed. but people also should do some testing with data reflective of what's in production if possible (akin to progression vs regression testing in a way)03:01
wallyworldlifeless: so since i have your attention, do you know where out web service api tests are?03:02
lifelesswhat sort of such tests03:04
lifelesslike03:04
lifelesstests for a given api03:04
lifelessor tests that the api is wired up03:04
lifelessor ... ?03:04
wallyworldi want to use a web api client to invoke something annotated with export_write_operation() for example to see that it works03:05
wallyworldso i guess tests that the api is wired up03:05
wallyworldgiven that the underlying functionality is unit tested separately03:05
lifelessthats generally done by a smoke test of that api03:06
lifelessAIUI03:06
wallyworldbut testing that what comes over the wire is as expected03:06
lifelesstest.*webservice, spread throughout the tree03:06
wallyworldoh. thanks, i'll take a look. i just wanted a starting point to current practices before diving down the wrong rabbit hole :-)03:07
wallyworldlifeless: ah i see my problem now. there's web services already on the domain model i'm working with but no tests written, so i couldn't find any examples to start from03:08
wallyworldfor the new web services i'm adding03:09
StevenKArgh. Where is the representation of an archive as a link hiding?03:09
wallyworldStevenK:  PPAFormatterAPI ?03:09
lifelessare03:09
lifelesscanonical.librarian.ftests.test_web.LibrarianWebTestCase.test_40403:09
lifeless canonical.librarian.ftests.test_web.LibrarianWebTestCase.test_oldurl03:09
lifelessstill known as intermittent failures?03:09
StevenKlifeless: Yes, they failed yesterday03:09
wallyworldStevenK: or something like that?03:09
sinzuihuwshimi: http://pxtoem.com/03:14
StevenKwallyworld: Thanks, but that isn't in the trace back03:19
wallyworldStevenK: pastebin?03:19
StevenKAH!03:19
StevenKThe information is spat out before the traceback03:20
StevenKwallyworld: You could give me a clue tracing back from the page template to the code, though.03:21
wallyworldStevenK: ok. wanna throw the tb in pb?03:22
StevenKwallyworld:             <tal:recipe-builds repeat="build view/builds">03:22
StevenKwallyworld: I think that's the line. If not, it's sourcepackagerecipe-index.pt, unchanged from devel03:22
wallyworldStevenK: should we mumble?03:23
StevenKwallyworld: Sure03:23
thumpersimple review lifeless? https://code.launchpad.net/~thumper/launchpad/recipe-feature-flag/+merge/5009203:29
thumperjust pushing some lint cleanup03:30
wallyworldthumper: get in line :-P03:31
wallyworldtake a number03:31
thumperwallyworld: ok, you do it :)03:31
wallyworldthumper: i'll do yours if you do mine :-)03:31
thumperok03:31
thumperwhich one?03:31
StevenKthumper: Check your indenting line 43 of the diff03:32
wallyworldthanks. i've got 3 and our wip limit is exceeded on the board03:32
thumperStevenK: that was in the lint cleanup03:32
thumperStevenK: the diff is updating as we speak03:32
wallyworldthumper: which one? there's the simple link formatter which could be done first03:34
thumperwallyworld: hit me03:34
wallyworldthumper: https://code.launchpad.net/~wallyworld/launchpad/add-link-to-noneformatter/+merge/5008803:34
wallyworldthe recipe ones will take a lot more effort03:34
wallyworldbut still need to be done03:34
thumperwallyworld: TestXHTMLRepresentations?03:37
thumperwallyworld: shouldn't that be TestNoneFormatter or something?03:37
wallyworld?03:37
* wallyworld looks03:37
thumperwallyworld: have you looked at test_tales?03:37
thumperwallyworld: 'cause I don't understand you test_shorten_traversal03:40
wallyworldthumper: didn't see test_tales. since tales.py was in lib/app/browser i looked for existing tests in lib/app/browser/tests03:40
* thumper nods03:40
thumperfrom lp.testing import test_tales03:40
thumperor more accurately03:40
thumperfrom lazr.restful.testing.tales import test_tales03:41
wallyworldthumper: the test_shorten_traversal was my attempt to unit test that method based on my reading of it's intended behaviour03:41
thumperwallyworld: since there is no docstring, I can't tell what it should do03:41
thumper:)03:41
wallyworldthumper: yeah, but there's no docstring on the traverse() method that is being tested either, so it's catch 2203:42
wallyworldthumper: i'll look at the existing test_tales stuff and fix the tests accordingly03:43
lifeless\o/ tests pass03:45
thumperwallyworld: ok03:51
wallyworldthumper: the TestXHTMLRepresentations was a cut'n'paste gone wrong :-(03:52
thumperwallyworld: good :)03:52
thumperwallyworld: I was wondering if I was understanding it :)03:52
wallyworldthumper: mp diff updating as i type this04:02
* wallyworld dislikes how long it takes for the diff to be updated04:06
StevenKwallyworld: Patches welcome?04:07
wallyworldStevenK: isn't it controlled by a cron script?04:07
StevenKTwo, in fact04:07
beunohey, remember when Launchpad devs didn't use merge proposals at all?  those where the days04:08
thumperhi beuno04:08
wallyworldah, when i was a wee lad, i had to walk to school through 10 feet of snow with no shoes04:08
thumperbeuno: notice we just went over the 50k mark?04:08
beunoand speaking of merge proposals!04:08
beunothumper, I did, and I \o/ed04:08
thumper:)04:09
beunoit kinda blew my mind, I didn't realize the numbers where growing so quick;y04:09
thumperbeuno: still mostly canonical people using them04:10
StevenKI guess the biggest consumer of MPs is LP?04:10
beunoI bet U1 can give LP a run for its money04:11
wallyworldthumper: just to double check - you don't know of any existing web service tests for recipes that i can't find?04:11
wgrantLP only has like 7000 branches.04:11
StevenKbeuno: I wonder how to test that theory04:11
wgrantSo it can't be many of the MPs.04:11
thumperhttps://lpstats.canonical.com/graphs/BranchMergeProposalsNewPerDay/20100218/20110218/04:12
StevenKI'm pondering crafting some SQL to get the answer04:12
lifelessNotFound: Object: <zope.browserpage.metaconfigure.IcingFolder object at 0x883cdd0>, name: u'lp.js'04:12
lifeless ?04:12
* beuno tries to manually add up all the branches for u104:12
wgrantthumper: That's a really encouraging graph.04:12
thumperhttps://lpstats.canonical.com/graphs/BMPNewRegistrants/20100218/20110218/04:13
beunowgrant, how do I find out how many branches a project has?04:13
pooliehi all04:13
beunoit only seems to tell me about active branches04:14
thumperhttps://lpstats.canonical.com/graphs/BranchMergeProposalsProjectsNewMergeProposals/20100218/20110218/04:14
pooliehi beuno04:14
beunoheya poolie!04:14
thumperbeuno: select show all branches04:14
beunoI did, "Any status"04:15
beunoUbuntu One Servers has 345 active branches owned by 31 people and 3 teams. There were 716 commits by 19 people in the last month.04:15
beunobut that's not useful04:15
lifelessflacoste: hhhaa - XXX flacoste 2008/04/24 This should be moved to a04:15
lifelessflacoste: I've half-implemented said setTarget04:15
StevenKIn SQL: "PackageBuild.archive = Archive.id AND False" ... D'OH04:15
wgrant   10294 | launchpad                               | f        |  510304:15
wgrant    9514 | ubuntuone-servers                       | f        |  346204:15
wgrant    1186 | bzr                                     | f        |  147304:15
wgrant    8920 | drizzle                                 | f        |  127904:15
wgrant   23444 | examiner                                | f        |  110904:15
wgrant   13681 | openlp                                  | f        |   93904:15
wgrant   12784 | ubuntuone-client                        | f        |   75404:16
wgrantFrom October.04:16
wgrantRight column is the count04:16
wgrantSo U1 probably wins by now.04:16
wgrant:(04:16
StevenKwallyworld: U1 client already does?04:16
StevenKBAH04:16
StevenKwgrant: ^04:16
beunoright, we have desktopcouch, bindwood, android clients, iphone04:16
wgrantbeuno: Are they in a project group?04:17
beunowgrant, yes, all under ubuuntuone I think04:17
wgrant             name             | count04:19
wgrant------------------------------+-------04:19
wgrant launchpad-project            |  538504:19
wgrant ubuntuone                    |  504204:19
wgrant bazaar                       |  233904:19
wgrantBut that is outdated :(04:19
beunowell, still surprising to see more activity in LP04:19
beunoOctober is not that far away04:19
StevenKwgrant: Tempted to get that run on prod :-)04:20
StevenKwgrant: With "LIMIT 3" or so04:20
thumperwgrant: go on, ask spm04:20
wgrantthumper: staging's only a week out of date; you can do it :P04:21
thumperwgrant: ok04:21
wgrantFrom the start of 2010:04:21
wgrant launchpad-project            |  237504:21
wgrant ubuntuone                    |  227104:21
wgrant bazaar                       |  107904:21
wgrant ayatana                      |   95904:21
wgrantSo we still win!?04:21
wgrantthumper: SELECT project.name, COUNT(*) FROM branchmergeproposal JOIN branch ON branch.id=branchmergeproposal.target_branch JOIN product ON product.id = branch.product JOIN project ON project.id = product.project GROUP BY project.name ORDER BY COUNT(*) DESC;04:22
wgrantthumper: watch out with your recipe FF-only branch.04:22
wgrantthumper: request-daily-builds uses the config option.04:22
wgrantAnd we can't make an FF apply only to a script, AFAIK.04:23
thumper launchpad-project |  891204:23
thumper ubuntuone         |  669504:23
thumper bazaar            |  429404:23
thumperI wrote it from scratch04:23
spm[15:20:50] <thumper> wgrant: go on, ask spm <== have I finally got you lot scared of me. *FINALLY*!?!?04:23
StevenKspm: Ask wgrant?04:23
* StevenK cackles04:23
spmheh04:23
* StevenK notes that Storm doesn't like 'is'04:24
StevenKBut it returns a BOOLEAN!04:24
lifelessits interesting - bazaar has 1/5th the devs, and 1/2 the mps04:26
wgrantlifeless: But Bazaar also doesn't suck.04:26
beunoI guess bazaar probably has the most community as well04:28
wgrantTrue.04:29
wgrantspm: r12395 to nodowntime, pls.04:29
beunoand, launchpad was the first of all those to start using mps, if we look at totals04:30
beunobazaar slowly moves away from bundlebuggy after a while04:30
wgrantTrue.04:30
wgrantThat's why I took the numbers from 2010 onwards.04:30
wgrantWhen everyone should have been using MPs.04:30
* beuno nods04:31
lifeless\o/04:31
lifelessone query for the milestone targeted bugs portlet.04:32
wgrantlifeless: But how slow?04:33
lifelesswgrant: https://bugs.launchpad.net/launchpad/+bug/717394/comments/204:34
lifelesswgrant: I expect to be close to that, am assessing the generated sql now04:34
lifelessargh, search builder fail04:35
lifelessconstraining on distro series using any -> noop, no constraino.04:35
thumperbeuno: ...04:35
thumper launchpad-project |  387904:36
thumper ubuntuone         |  352504:36
thumper bazaar            |  154804:36
thumper(04:36
lifelessSELECT BugTask.distroseries, COUNT(BugTask.bug) FROM BugTask, Bug WHERE Bug.id = BugTask.bug AND ((BugTask.status = 10) OR (BugTask.status = 15) OR (BugTask.status = 20) OR (BugTask.status = 21) OR (BugTask.status = 22) OR (BugTask.status = 25)) AND Bug.duplicateof is NULL GROUP BY BugTask.distroseries04:36
thumperfor branches created after the start of 201004:36
beunoah, laz U1 devs!04:36
beuno*lazy04:36
* thumper is getting the munchies04:37
lifelessstill, i need to go; I'll finish it off later04:37
StevenKMmmmmm, smells like rain here04:38
lifelesswgrant: pushing to lp:~lifeless/launchpad/bug-717394 if you are interested. Its a little ugly, but EMENOCARE04:39
lifelesspushed04:40
lifelesswgrant: I thought you requested a deploy?04:41
StevenKlifeless: It's on LPS04:41
wgrantlifeless: henninge added one to the deployed section of LPS, but didn't poke anyone about it. I extended it to the latest rev and moved it to the right place.04:42
wgrantJust now.04:42
lifelesswgrant: cool; probably want to poke someone04:42
wgrantI did.04:42
StevenKlifeless: He did?04:42
wgrantspm: Are you sufficiently poked?04:43
StevenKHaha04:43
StevenK"Are you not entertained!?"04:44
pooliethumper, so lifeless's point was to just keep using non-empty strings as boolean true?05:04
thumperpoolie: yes... although I agree with you05:05
* thumper EODs05:05
pooliegood night05:05
thumperpoolie: we can talk about this more tomorrow if you like05:05
StevenKCan haz review from someone?05:07
StevenKlifeless: You know, I think identi.ca doesn't know your new suburb05:09
pooliewow05:22
pooliewgrant, the lag seemed to be suddenly going up to several seconds05:23
wgrantYeah.05:23
wgrantI guess Mumble isn't so good when you're on the same side of the world.05:23
poolieadequate consultation is good05:23
poolierouting via london's not optimal05:23
wgrantNot quite.05:23
pooliei guess we possibly could have an australasian server05:24
pooliei wonder how hard it is05:24
wgrantHuh.05:24
wgrantWhat happened to the loggerhead OOPSes/05:25
wgrant?05:25
wgrantThere were <1000 yesterday.05:25
wgrant  lib/lp/contrib/05:26
wgrantOxymoron!05:26
StevenKwgrant: Naming is hard05:26
wgrantStevenK: We already have lib/contrib :(05:27
StevenKYes, and it needs to die too05:27
wgrantNow I have two directories to destroy :(05:27
StevenKAwesome, lib/contrib/oauth.py has no license05:28
StevenKwgrant: Seems like spm is not sufficently poked.05:29
wgrantInsufficiently present, would be my guess.05:30
wgrantpoolie: Is there something wrong with the oauth 1.0.1 egg?05:30
wgrantOr did you just try to use a package because it is less evil?05:30
pooliewallyworld, hi05:30
wallyworldpoolie: yellow05:30
pooliethe thing with tim's patch is when he says 'on/off' he doesn't actually mean the strings 'on' or 'off'05:31
pooliehow silly of you :)05:31
pooliewe can either fix it so you can actually use those values05:31
pooliewhich is the bug i mentioned05:31
wallyworldi thought that's what gerFeatureFlag() returns?05:31
poolieor we can update his docs05:31
poolieyou're right05:31
poolieit just returns the string at the moment05:31
poolieso unless it's handled at a lower level he needs to check == 'on'05:32
wallyworldso his condiitonal will fail05:32
wallyworldas written05:32
pooliewell, it won't work in the way you'd expect05:32
pooliehow do you say that in TAL?05:32
pooliei think it's a bit longwinded05:32
pooliewgrant, i believe the egg still has the bug in it05:32
poolieubuntu's package is 1.0+a bit05:32
wgrantpoolie: We have the 1.0 egg.05:33
wallyworldpoolie: so, won't "if not getFeatureFlag(RECIPE_ENABLED_FLAG)" give a crap result if the ff is set to "off" ????05:33
wgrantThere is a 1.0.1 egg aka 1.0a, which is probably what Ubuntu has.05:33
StevenKwgrant: Can you see the point of lib/canonical/lazr/security.py at all?05:34
wgrantStevenK: Probably to support callsites that were added before stuff was moved to lazr.restful.05:36
wgrantI can only see one left, though, in a test.05:36
StevenKRight05:36
StevenKI'm tempted to just fix it05:36
wgrantDelete delete delete.05:36
wgrantYou have my full support.05:36
StevenKFor once. :-P05:36
wgrantYou have my full support to delete anything in lib/canonical, as long as it doesn't break tests :P05:36
StevenKI'll delete lib/canonical/database, then.05:37
StevenKThat won't break tests, that will break EVERYTHING.05:37
wgrantIndeed.05:37
* wallyworld goes to take kid to soccer05:38
StevenKwgrant: So, fix the test to import from lazr.restful or just bin it completly?05:40
wgrantStevenK: LP doesn't use protect_schema directly.05:42
wgrantCheck that it's tested in lazr.restful and bin it.05:42
StevenKwgrant: Looks to be used extensively in doc/webservice.txt05:44
pooliewallyworld, yes it will give a crap result05:44
poolieback in a sec05:44
wgrantStevenK: But is it tested directly?05:46
pooliewallyworld, anyhow, that's my point05:47
pooliethere are various approaches05:47
StevenKwgrant: I can't see a unit test directly05:47
wgrant[XXX leonardr 2009-04-02 bug=354441 This test should be moved into the same lazr module as the code it tests, security.py (in lazr.restful as of this writing.)]05:48
wgrantI'd follow that advice.05:48
pooliewgrant, my first attempt at removing the code from contrib fell in a heap because the same bug is in the code in the egg05:48
pooliehooray for tests05:48
wgrantpoolie: Yeah, but I think our egg is outdated.05:49
wgrantThere is a newer one.05:49
poolieok, in that case upgrading the egg and re-landing my first branch should fix it05:50
wgrantWhere is that branch?05:50
wgrantI will throw it at ec2 now.05:51
pooliebug 715000?05:51
wgrantNot that one.05:51
wgrantBecause we gained a new contrib module this morning, I must remove this one swiftly.05:51
wgrantAh, the branch is gone.05:54
poolie>  Because we gained a new contrib module this morning, I must remove this one swiftly.05:55
pooliewhy?05:55
poolieah i might have pulled into that branch05:55
* poolie look05:55
wgrantYeah, you repurposed the branch to use the package instead.05:56
pooliecherrypicking r12325 of lp:launchpad should do it05:57
poolieit was merged and then it failed in buildbot05:57
wgrantOh, true.05:57
wgrantI forgot that bit.05:57
wgrantOr just s/contrib.oauth/oauth.oauth/, I guess.05:57
pooliewgrant, basically just that plus deleting the contrib thing06:07
poolieyep06:07
pooliefor going to use the packaged version there was just a bit mor estuff06:07
poolieare you just trying to remove cruft, or was there some other motivation too?06:08
wgrantpoolie: Removing cruft.06:08
pooliethanks06:09
stubSo the new SSH server is falling over under load, or because it is leaking?06:09
wgrantstub: It uses more handles per connection than before, but as far as jam and I can see it does not leak until it has already exhausted its handles.06:11
wgrantAnd jam has a fix for those post-exhaustion leaks, which should allow recovery.06:11
wgrantWe do not know why production reached exhaustion.06:11
poolieit seems like previously it would stall or block connections when load spiked06:11
stubwgrant: Can we put it behind HAProxy to keep the load under control?06:11
poolieand with jam's change it would get bogged down06:11
pooliethere's separate work underway towards that06:11
wgrantstub: I suppose we could.06:12
wgrantWe want haproxy soon anyway for other reasons.06:12
spivThe numbers of observed connections in production don't match the analysis of how many connections it would take to reach exhaustion, so we're still missing something.06:12
spiv(Fixing the known robustness bugs is still a good idea, of course)06:13
wgrantThere were 117 forking services at the probable time of exhaustion.06:13
wgrantWhich is only 600 FDs.06:13
wgrantUnless it was being slow and hadn't noticed that lots of children were dead.06:13
wgrantSo it still held their handles.06:13
stubBut howmany 'recently' that might not have been cleaned up?06:13
stubMmm...06:13
wgrantIt's hard to say, because the logs are gone.06:13
wgrantI think we should fix the leak, bump the limit (which means moving to a new reactor), and then deploy while watching very carefully and lsofing regularly.06:15
wgrantLast time we knew something was up 40 minutes before service really degraded.06:15
wgrantSo it is not *too* dangerous.06:15
stubRight. Since there will always be a hard limits though, so we will want limiting from HAProxy anyway (just might be much higher once the leak is fixed). And it will help diagnose if it is a leak or slow gc.06:16
spivI don't know any reason not to add --reactor=epoll to the twistd invocation (in the init script, I guess?)06:16
wgrantSure.06:16
wgrantspiv: Let me try that locally and throw 600 connections at it.06:17
spiv(And we may as well do that for all twistd invocations everywhere)06:17
pooliespiv, what _is_ the state of the haproxy stuff in production06:18
poolieper robert's comments in bug 71734506:18
poolieit's not yet live but ready to go live?06:18
pooliespm^^ ?06:18
spivpoolie: see bug 702024 (or RT 40480); I'm stuck waiting for more information from spm about how it was tested on staging, because that failed but AFACIS it's working perfectly in a dev vm.06:21
spivpoolie: the support code in the production code base, and the web status port is deployed06:22
wgrant2000 FDs,s till going fine...06:22
spivwgrant: you had to raise the per-process fd limit, I assume?06:23
wgrantspiv: Yes.06:23
wgrantHah.06:24
wgranthammer_ssh.py hit the FD limit at a little over 500 connections.06:24
wgrantBut the server is fine.06:24
spiv:)06:25
wgrantRunning with an FD limit of 10000 and --reactor=epoll06:25
wgrantAlthough it does like its RAM...06:25
pooliei'd like to see some Launchpad Enchantment Proposals06:39
pooliewhat is the rule for who can triage while filing?07:21
pooliei'm in ~kanban and yet i cannot do it for kanban/+filebug07:21
wgrantThe bug supervisor.07:25
wgrantIf the bug supervisor is not set, then nobody can.07:26
wgrantIt does not revert to the owner.07:26
pooliei see; thanks07:26
wgrant(probably a bug, but so are lots of things!)07:26
poolie> Awesome feature.  I'm happy to volunteer gcalctool to use this.07:27
poolieexcellent07:27
pooliewhat a good start07:27
wgrantpoolie: Is that a BFBIP volunteer?07:29
poolieyes, robert ancell07:29
pooliek, got to go07:29
wgrantAh, yes, found it.07:29
pooliehave a good night07:29
wgrantYou too.07:29
lifelessStevenK: I've told it to not show location, but it didnae listen07:38
lifelesspoolie: hi07:40
lifelesspoolie: am back if you wantt to talk07:40
cody-somervilleIs the PPA publishing cycle still at 5 minute interval?07:45
wgrantcody-somerville: Yes.07:45
cody-somervilleDeletions get processed during that cycle, right?07:46
cody-somervilleand is there a graph showing delay? (ie. # of minutes late starting new cycle vs. time or something)07:47
wgrantFiles are removed from the indices as part of each publisher run.07:48
wgrantBut they are removed from disk less frequently.07:48
wgrant*/30, IIRC.07:48
wgrantYes, */2007:48
wgrantEr/07:48
wgrant*/30, I cannot type.07:48
lifelessstub: ping07:51
wgrantcody-somerville: https://lpstats.canonical.com/graphs/PPALatencies/20110217/20110218/07:52
stublifeless: pong07:54
lifelessnow a good time for the weekly call ?07:55
stublifeless: time is fine. my sleep patterns the problem.07:55
stublifeless: sure07:55
lifelessno worries; went and saw a movie ;)07:55
lifelessstub: https://lpstats.canonical.com/graphs/WildcherryDiskUsage/08:16
LPCIBotProject devel build (449): FAILURE in 6 hr 3 min: https://hudson.wedontsleep.org/job/devel/449/08:23
LPCIBot* Launchpad Patch Queue Manager: [r=stub][bug=607935] Reduce overhead when showing only some bug08:23
LPCIBotcomments.08:23
LPCIBot* Launchpad Patch Queue Manager: [r=leonardr][no-qa] Add YUI3 gallery-accordion widget to tree.08:23
lifelessexplain select count(distinct branchrevision.branch) from branchrevision, branch where branch.id=branchrevision.branch and branch.last_scanned is NULL;08:32
stubhttps://pastebin.canonical.com/43510/08:34
stubBug 71107108:43
_mup_Bug #711071: Distribution:+bugtarget-portlet-bugfilters-stats timeouts <dba> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/711071 >08:43
lifelessstub: https://bugs.launchpad.net/launchpad/+bug/71739408:43
_mup_Bug #717394: Distribution:+bugs timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/717394 >08:43
=== jtv-afk is now known as jtv
jtvmorning folks08:47
adeuringgood morning08:58
jtvhi adeuring09:05
adeuringhi jtv!09:05
StevenKallenap: Hello, Mr OCR! Would you have time to review my branch today?09:09
=== almaisan-away is now known as al-maisan
jtvStevenK: if not, I could take it.09:10
lifeless\o/ 1.4 seconds off of bug search in ubuntu coming right up09:13
lifelessand, I'm off to sleep09:13
mrevellMorning09:17
allenapStevenK: Sure. I'm only doing a half day today, but you're first in line :)09:22
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews
* allenap assumed abentley is no longer reviewing.09:22
jtvallenap: I already claimed it :)09:23
allenapjtv: Woah, swifty.09:23
jtva timezone ahead :)09:23
=== al-maisan is now known as almaisan-away
jtvStevenK: "an" private archive..?09:26
jtvlib/lp/code/model/tests/test_sourcepackagerecipe.py09:26
StevenKjtv: I can't see that in my diff, but looking09:27
jtvNear the bottom.09:27
jtvVery close to it.09:28
StevenKOh, it's "an" disabled, not private09:28
jtvSorry!09:28
jtvForce of habit I suppose09:28
StevenKjtv: Fixed and pushed09:29
jtvStevenK: also in that same method by the way: it may be clearer to change the name slightly to say what should happen, not just what scenario you test.  For instance, test_getBuilds_ignores_disabled_archive instead of test_getBuilds_disabled_archive09:30
=== almaisan-away is now known as al-maisan
StevenKjtv: Agreed, fixed locally.09:31
StevenKjtv: Anything else you can see, or shall I commit and push?09:45
jtvStevenK: I've got more, hang on09:45
jtvStevenK: two questions about test_view_with_disabled_archive.09:48
StevenKjtv: Shoot09:48
jtvFirst, are all cases covered?  Owner can see builds for private archive, other users can't?09:49
StevenKjtv: In this case, even the owner won't, which I think is fine. They disabled the archive, anyway.09:49
jtvThen I think I misunderstood something in the MP09:50
StevenKThey will of course be able to change the daily build archive if they wish.09:50
jtvSo the owner sees private _archives_, not _builds for_ private archives.09:50
StevenK*disabled*09:50
StevenKStop doing that :-)09:50
jtvArgh09:50
jtvYes, sorry.09:51
jtvSo: the owner sees their disabled archives, but not builds for their disabled archives?09:51
StevenKjtv: We are only talking about the page for the recipe here -- if the daily build archive is disabled, anyone will see the name of the archive, but no one will see builds into it. And of course will be able to change it, as I said.09:52
StevenKAnd of course, the owner will be able to change it, I mean.09:53
jtvOK.09:53
jtvThen what I hope is my final stupid question: it looks like you're adding Archive to your join.  How will that affect performance?09:53
jtvDamn, penultimate.  My other one was "why does test_view_with_disabled_archive create a browser with a specific person, rather than either the default or self.factory.makePerson()"09:54
StevenKjtv: I suppose I could make another person rather than using no-priv. Would you prefer that?09:55
jtvStevenK: I think so, yes.  makePerson() really says "some arbitrary regular person."09:55
StevenKjtv: Archive isn't terrible large, so I can't see it adds much to the query.09:55
jtvBut if there's a default you can use, that's even better.09:55
StevenKWell, I can use no-priv, but sampledata makes me sob.09:56
StevenKjtv: Also fixed locally.09:57
jtvWhat I mean is, doesn't getUserBrowser give you some arbitrary, unprivileged person by default?09:57
StevenKOh. Not that I noticed when I read it.09:57
* StevenK re-checks09:57
StevenKjtv: You're right, fixing.10:01
jtvStevenK: also, please keep an eye on its performance!  Archive isn't _that_ small, and I think I caught it slowing down a join quite a lot recently.10:02
StevenKjtv: I will compare before and after on qastaging for page loads when I QA. If it's a large jump, I will file a bug.10:05
jtvStevenK: great, thanks.10:05
jtvFinal note: in lp/code/model/sourcepackagerecipe.py, the And() you add has its arguments list formatted weirdly.  Could you add a line break right after the opening parenthesis?10:06
StevenKjtv: It matches other uses in the file ...10:07
jtvStevenK: no time like the present…10:07
StevenKjtv:10:08
StevenKhttp://pastebin.ubuntu.com/568101/10:08
StevenKRah10:08
StevenKjtv: I prefer it before, TBH.10:08
jtvHmm okay, let's be pragmatic then. :)10:09
jtvApproved.10:09
StevenKjtv: With the And() change, or you don't mind now?10:09
jtvStevenK: I don't mind now10:10
jtvAnyway, I already voted.10:11
jtvhenninge: I think this was you, but I'm not used to hearing such foul language from you!10:12
jtv        self.assertEqual('my-domain', make_name('my - do@ #*$&main'))10:12
henningejtv: That's what reading comic books does to one's language!10:13
jtvtsk tsk10:13
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
=== matsubara-afk is now known as matsubara
jmlI've added a dependency, and that dependency makes deprecation warnings when it loads11:12
=== al-maisan is now known as almaisan-away
jmlwe shouldn't do anything about the deprecation warnings11:12
jmlhow can I silence them?11:12
wgrantjml: lib/lp_sitecustomise.py11:13
wgrants/mise/mize/11:13
wgrantWe filter Crypto DeprecationWarnings there already.11:13
jmlwgrant: thanks.11:13
jmlnext question, what's the correct way of running a script from an egg dependency within a test?11:15
wgrantIs it importable?11:17
jmlnot really. it's the sphinx-build script from Sphinx. I could sort of re-implement sphinx-build by importing sphinx and calling main() directly, if pressed.11:19
jmlbut am not in a rush to do so.11:19
wgrantI'd be doing that, unless the script itself is non-trivial...11:20
jmlhmm.11:21
jmlmore robust against path snafus, less against changes to the sphinx-build interface. you're probably right.11:22
wgrantPlus it feels less like evil.11:22
jmlI'm not sure11:23
jmlmy evilometer can't really distinguish the two.11:23
wgrantCalling Python from Python via a subprocess is somewhat evil.11:23
jmlwell, the evil is that sphinx doesn't provide a decent API11:24
wgrantAh :(11:24
wgrantMy programmatic invocations of it are limited to Makefiles.11:24
jmlI had thought about calling the Make target.11:26
LPCIBotProject db-devel build (374): FAILURE in 5 hr 56 min: https://hudson.wedontsleep.org/job/db-devel/374/11:26
LPCIBot* Launchpad Patch Queue Manager: [rs=buildbot-poller] automatic merge from stable. Revisions: 12396,11:26
LPCIBot12397 included.11:26
LPCIBot* Launchpad Patch Queue Manager: [r=stub][no-qa] Make the BugMessage.index non-null now that its fully11:26
LPCIBotpopulated and maintained by code.11:26
LPCIBot* Launchpad Patch Queue Manager: [rs=buildbot-poller] automatic merge from stable. Revisions: 12394,11:26
LPCIBot12395 included.11:26
jmlsphinx-build also doesn't return a non-zero return code when it fails11:26
wgrantYeah, I noticed that.11:26
wgrantFortunately docs aren't terribly critical, I guess.11:26
wgrantStill, Sphinx is really likable in lots of ways.11:27
wgrantI can forgive it a bit.11:27
jmlNo, but that's not an excuse for not building a good command line tool11:27
wgrantAlthough I cannot forgive docutils for being what it is.11:27
jmlgrar caching11:27
jmlwait, huh. Why does TestCase.makeTemporaryDirectory not delete the directory in tearDown?11:29
bigjoolsyou mean - our code has bugs?!  <shock>11:29
jmlnever mind. I'm a muppet.11:30
bigjoolswaldorf?11:31
wgrantHmm, that's pretty nice.11:34
wgrantnightly.sh takes 5 hours now.11:34
wgrantNot >2411:34
jmlwgrant: that's good. 5 is much less than 24.11:34
wgrantAlthough update-bugtask-targetnamecaches takes 50% longer on prod than mawson :(11:35
jml*sigh*. running directly from Python means mangling stdout & stderr. I guess I'll try it and see if it's faster.11:35
wgrantSounds like it may be similar to docutils in its general levels of sensibility. Which I guess isn't surprising.11:36
bigjoolswgrant: mawson is for soyuz testing....11:36
deryckMorning, all.12:02
jmlboring branch: https://code.launchpad.net/~jml/launchpad/prevent-new-sphinx-errors/+merge/5013612:38
jmlwhere is zeca used these days?12:50
jmlspecifically, is zeca.tac invoked anywhere?12:50
maxbtests that need to talk to a keyserver?12:52
wgrantIt is still used by tests.12:52
wgranteg soyuz-upload.txt12:53
jmlany ideas about prod though?12:54
wgrantjml: It was never used in prod.12:55
wgrantIt would possibly be even less reliable than SKS.12:55
wgrantIt was never intended for anything more than tests.12:55
jmlok. I'll move the tac/ out of the root daemons/ directory then.12:56
wgrantRenaming it wouldn't go astray either...12:57
jmlwgrant: yeah. I'm moving canonical.zeca to lp.services.keyserver.12:58
wgrantjml: Could you put it in lp.testing.keyserver, maybe?12:59
jmlwgrant: yeah, I think so.12:59
wgrantlp.services.keyserver sounds like GPGHandler.12:59
jmlhmm.13:13
jmldoes zeca even *need* config?13:13
* jml doesn't think so13:13
wgrantIt needs a root.13:14
wgrantIndeed, that is its only key.13:14
wgrantIf you think you can make it static, you are sadly mistaken -- we need to override all those for parallel testing :(13:15
jmlis config the easiest way to do that?13:16
jmldoes start-soyuz-dev.sh get used much?13:16
wgrantThe existing facilities to do that are based on the config infrastructure.13:17
wgrantI use it often, but more often for buildd-manager than zeca.13:18
gmballenap: Are you OCRing today?13:18
allenapgmb: Not really, I'm only doing a half-day and I've got a lot on my plate. If it's short I might take a look though :)13:19
gmballenap: 57 lines of JS refactoring? Pweeese?13:20
allenapgmb: Okay.13:20
jmlwgrant: ok. I'll fix it rather than delete it then.13:20
allenapAs it's you :)13:20
gmballenap: I shall send you a Woodfordes voucher by way of thanks. https://code.launchpad.net/~gmb/launchpad/speed-up-subscription-overlay-bug-719249/+merge/5014813:20
wgrantjml: It will probably be used more often when we have another 20 people trying to work out what Soyuz does.13:20
wgrantRather than just using mawson.13:20
* gmb notes that he needs to find out whether Woodfordes does vouchers.13:20
jmlyeah.13:21
jmlI just wish we had some consistency with the means by which we fire up dev services13:21
wgrantYou mean like a Makefile?13:21
jmland indeed some rationale for scripts/, bin/ *and* utilities/13:21
jmlwgrant: if such were used universally13:25
wgrantjml: They pretty much are, except for Soyuz because I was lazy.13:26
jmlI love that 'zeca' is also a package and a password.13:27
wgrantI do not know its etymology.13:29
jmlA Brazillian singer.13:34
wgrantAh.13:35
jmlI have to say I don't like the newer standard_test_template14:09
henningeAnybody in for a 103 line review?14:37
henningehttps://code.edge.launchpad.net/~henninge/launchpad/bug-720673-import-origin/+merge/5015714:37
henningederyck, abentley, adeuring: ^ ?14:40
abentleyhenninge, sure.14:41
henningeabentley: thank you!14:41
abentleyhenninge, you're still using edge? :-P14:53
henningeabentley: ups, that's my browser history playing tricks on me ;)14:54
abentleyhenninge, r=me14:54
henningeabentley: thanks!14:54
=== matsubara is now known as matsubara-lunch
abentleyhenninge, also, could we mumble about bug #702477?14:54
_mup_Bug #702477: Translation credits on new POFiles show the dummy string for the other side <upstream-translations-sharing> <Launchpad itself:Triaged by abentley> < https://launchpad.net/bugs/702477 >14:54
henningeabentley: sure, give me 5 minutes14:57
abentleyhenninge, cool.14:57
henningeabentley: now15:04
henninge;)15:04
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
bigjoolshenninge: do you know what's going on here? https://answers.edge.launchpad.net/launchpad/+question/12521815:07
* jml pushes up a branch that renames 'zeca'15:12
jmlhttps://code.launchpad.net/~jml/launchpad/zeca-is-keyserver/+merge/5016615:12
bigjoolswant that reviewed? :)15:13
jmlbigjools: yes please.15:13
jcsackettsinzui: could you follow up on my review of https://code.launchpad.net/~jml/launchpad/prevent-new-sphinx-errors/+merge/50136, pls?15:15
sinzuiI will15:15
jcsackettthanks.15:19
jtvRevenge for the Fake Librarian!15:20
jtvI just got a test case down from 29s to 3s.15:21
jtvbigjools: ^^^15:21
bigjoolsnice!15:21
jtvThe main trick is that you don't have to commit as much.15:21
bigjoolsvery nice15:21
jtvAlso of course, when run individually, you can save on setup by using a lighter layer.15:21
jtvThat's another 8s or so.15:24
bigjoolsjtv: know what's going on here? https://answers.edge.launchpad.net/launchpad/+question/12521815:32
jtvGar, the incorrect use of technical terms is dizzying15:33
jtvbigjools: working on it.15:42
=== deryck is now known as deryck[lunch]
bigjoolsjtv: also: https://answers.edge.launchpad.net/launchpad/+question/140873 and  https://answers.edge.launchpad.net/launchpad/+question/14087315:45
jtvbigjools: aren't those the same?15:45
bigjoolsgrar paste fail15:45
jtvThey very much look the same.15:45
bigjoolshttps://answers.edge.launchpad.net/launchpad/+question/13788215:46
jtvbigjools: OK, that's me busy for the rest of the day :)15:46
bigjoolssinzui: did you hear back from the guy here? : https://answers.edge.launchpad.net/launchpad/+question/14518715:46
bigjoolsjtv: I aim to please15:46
jtvyour aim is <tshock!>OW!15:46
sinzuibigjools: thanks for asking. No. he has not. I think we should suspend15:48
leonardrlarge but interesting branch needs review: https://code.launchpad.net/~leonardr/lazr.restful/include-html-field-representations/+merge/5017415:48
=== salgado is now known as salgado-lunch
bigjoolssinzui: ok, I'll get on it15:48
=== matsubara-lunch is now known as matsubara
sinzuibigjools: Chex I have a question from a user I cannot answer. It concerns a user investigating spam that claims to be from him: https://pastebin.canonical.com/43532/16:04
LPCIBotYippie, build fixed!16:04
LPCIBotProject devel build (450): FIXED in 5 hr 49 min: https://hudson.wedontsleep.org/job/devel/450/16:05
=== beuno is now known as beuno-lunch
jmlwhat benefit do we get from chunkydiff?16:18
jmla better question, are the errors from pagetests more readable than the errors from standard doctests?16:21
* jml experiments16:21
abentleyjml, I dunno, but I would *love* to have bzr's assertEqualDiff.16:23
bigjoolsjml: I've never noticed any difference between doc and page test error output16:24
=== deryck[lunch] is now known as deryck
jmlyeah, identical.16:34
henningeabentley: I am stuck on a stupid timeout on qastaging for approving a template to be uploaded to cheese ...16:38
abentleyhenninge, ah.16:39
henningebefore that it was waiting for an admin to make me maintainer of the project16:39
henninge...16:39
henningeabentley: I am about EOD now. I cannot continue on this today, I am sorry.16:42
abentleyhenninge, understood.16:43
=== salgado-lunch is now known as salgado
=== beuno-lunch is now known as beuno
jtvHow anti-climactic.  Some preparation, a whole day of revising and adding tests, and then everything just passes with just a tiny tweak of two functions.17:11
jtvTDD will never sell until they learn to threaten us with eternal damnation.17:12
jmlhuh17:12
jmlTDD isn't spending a day writing tests before you change code17:12
jtvThere were a lot of tests to be revised.17:13
jtvSmall change, large consequences.17:13
jmlguh, DNS down17:16
jmlanyway, https://code.launchpad.net/~jml/launchpad/flush-out-canonical/+merge/50192 up for review17:17
jtvjml: it's massive!17:20
jmljtv: not really.17:20
jmljtv: I mean, it's bigger than usual, but it's not like it's 1500 lines of actual programming.17:20
jtvjml: anyway, fell for it—I spoke up so I volunteered.  Looking now.17:21
jmljtv: thanks.17:21
jtvAnd may I say thank you for doing this.17:22
jmljtv: my pleasure.17:22
jtvjml: doesn't pydoc have a dedicated tag for things that are deprecated?17:26
jmlback.17:31
jmljtv: don't know. will look it up.17:31
jmlalso, we use rst-based epytext17:31
jtvah17:32
jtvthat gives me something I can search for, thanks17:32
jtv(I'd been wondering)17:32
jmlanswer is "yes", http://epydoc.sourceforge.net/manual-fields.html17:33
jtvCool!17:33
bigjoolsmmm "make compile" is taking forever....17:34
jtvbigjools: -j∞17:35
bigjoolsthat'd be nice17:36
bigjools-j2 for now though.  still takes ages17:36
bigjools5 minutes so far!17:36
bigjools2 spare cores = sad Phenom17:37
leonardrjcsackett, can you look at https://code.launchpad.net/~leonardr/lazr.restful/include-html-field-representations/+merge/50174? it's a big branch but it should be fun17:38
bigjoolsjml: I am trying to bolt ftp into poppy-sftp17:38
lifelessmoin17:39
jmlbigjools: oh yes.17:39
bigjoolsthe maze of twisted objects is making my head hurt17:39
jmllifeless: hello17:39
lifelessjml: hello17:39
bigjoolsmorning lifeless17:39
jmlbigjools: am happy to help navigate.17:39
bigjoolsjml: I will take you up on that tomorrow, thank you17:39
lifelessjml: you might want to deop yourself; joey fixed us to have permissions, but its nominally bad form to have ops all the time17:39
bigjoolsjust trying to get something basic working first17:39
jmllifeless: thanks. I didn't notice.17:39
lifelessflacoste: you too17:40
jtvjml: I'm surprised we're not using some off-the-shelf base64.17:40
jmljtv: me too.17:40
jtvI'll admit I'm not sure it's all url-safe.  And I believe there are different choices for the 64th digit.17:41
jmljtv: I'm also not sure why we sometimes use md5 and sometimes use sha117:42
lifelessflacoste: ping17:42
jtvjml: if we keep the algorithm secret, it's harder to crack.17:42
jtv(yes, I AM joking)17:43
jmljtv: at least now the intent of the calling code is more clear.17:43
jtvjml: yes, it's a pleasure to read.17:43
jmljtv: stub is the original author, it seems (r1268!)17:44
jtvlong live stub17:45
jtvA factory of metaclasses, oh dear—my meta stack just overflowed.17:46
bigjoolstwistd has finally beaten me for the day, I quit17:50
benjijml: half-overhearing your conversation makes me wonder if base64.urlsafe_b64encode in the stdlib is of interest to you17:50
jcsackettleonardr: looking now.17:52
jtvjml: ISTM base does go horribly wrong on 2's-complement minimal numbers.17:52
jmlbenji: If I'm reading the code correctly, I think it's too late.17:52
jmlbenji: since we've already stored stuff keyed with the old algorithm.17:53
benjiOh, there are otherwise encoded URLs in the wild?  That would be too late.  (Unless we were highly motivated to change for some reason.)17:53
jmlright.17:53
jmlnot 100% sure though.17:54
jmlI'm just moving the bit that does the encoding from one place to another :)17:54
jml(yay abstraction!)17:54
benjihaving a wierd way and a standard way is worse than just a wierd way :)17:54
jcsackettleonardr: this will probably take me a bit. :-P17:54
jmlexactly.17:54
jmljtv: I don't know. I'm not sure it really matters, tbh.17:55
lifelessmatsubara: hi17:55
lifelessmatsubara: I think this is another bug in wallyworlds bind variables patch17:55
matsubaralifeless, hi17:55
lifelessmatsubara: note the values has (u"...."17:55
jtvjml: yeah… though given the recent hullabaloo with basically all java and php breaking…17:55
lifelessthats python syntax, not sql17:55
matsubaralifeless, i don't know what patch is that17:55
jmljtv: I can add a check to reject negative numbers. It's not used for positive ones right now.17:56
jmls/not/only/17:56
lifelessmatsubara: he changed the oops sql layer to record the values of things getting17:56
jtvjml: sure, that'd do it for me!17:56
lifeless%s substituted etc17:56
jtvjml: also, simpler.17:56
bigjoolsgood night17:56
lifelessbigjools: night17:56
jtvgood night bigjools17:56
lifelessmatsubara: so that we get better diagnostics17:56
lifelesshowever, its backfired spectacularly;)17:57
leonardrjcsackett, feel free to ask questions17:57
matsubaralifeless, hmm17:58
jtvjml: in lib/lp_sitecustomize.py, s/eminate/emanate/17:58
jtvjml: Also, any idea whether that comment pertains to all deprecation warnings (which emanate from zope), or to all deprecation warnings that emanate from zope?17:59
matsubaralifeless, it doesn't seem to happen often though. I could identify only one oops triggering the regex problem17:59
jmljtv: no idea. I just moved it.17:59
jtvjml: fair enough, I'm ready to vote18:00
lifelessmatsubara: indeed - much of our code just embeds literal sql today; this will change18:00
lifelessmatsubara: I've just commented via mail with a suggested addition regex, and a proposed bugfix for the existing one so it doesn't timeout18:03
jtvjml: done.18:05
leonardrjcsackett, fyi, one thing that i shouldn't have put into the branch (and that i remove in the follow-up):18:11
leonardrif not invalid_field.endswith('_html'):18:11
leonardrthat's the wrong way to do that18:11
jcsackettleonardr: dig.18:13
jmljtv: thanks!18:15
jtvnp18:16
lifeless\o/18:18
lifelessbug 1 rendering reliably on staging.18:18
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:I18:18
lifelesswho would have thought it.18:18
jmllifeless: nice18:22
sinzuijcsackett: I see you have a fix for diff and it was the viewport18:24
jcsackettsinzui: alignment to the viewport, yes.18:24
jcsackettonce it was isolated it was trivial.18:25
sinzuijcsackett: r=me for code and ui18:25
leonardrjcsackett, when you're done: https://code.launchpad.net/~leonardr/lazr.restful/more-tests-for-combined-representations/+merge/5020218:25
jcsackettleonardr: that's the followup?18:25
leonardryeah18:25
jcsackettsinzui: thanks18:27
lifelessI wonder if someone would like to qa https://bugs.launchpad.net/launchpad/+bug/71880918:27
_mup_Bug #718809: New users should default to not receiving email for their own actions <qa-needstesting> <story-better-bug-notification> <Launchpad itself:Fix Committed by danilo> < https://launchpad.net/bugs/718809 >18:27
lifelessif they do, we can deploy 4 more revs18:27
flacostehi lifeless18:33
jtvjcsackett, are you very busy?18:41
jtvIf not, → https://code.launchpad.net/~jtv/launchpad/bug-719247/+merge/5020418:41
lifelesshi flacoste18:45
flacostelifeless, you pinged me earlier?18:46
flacostealso , where do you see that I have ops?18:46
lifelessflacoste: you had ops here and in #launchpad18:46
flacostenow removed?18:46
lifelessjml deoped you here, but that will happen on every join until you tell chanserv not to do it by default18:46
lifelessflacoste: you can get it back with /msg chanserv op #launchpad-dev18:47
jmllifeless: ahhh, that's what's going on.18:47
lifelessjml: same story for jtv, bigjools etc having voice18:47
jmllifeless: do you know what the setting is?18:48
jmllifeless: because afaict, you have the same flags as I do.18:48
lifelesswe had someone being hostile/silly on #launchpad the other day and I pinged joey cause the ops list was -staaaale-18:48
lifelessI do18:48
jmlfigured it out18:52
lifelessit should have been18:52
lifelessflags #launchpad-dev lifeless -O18:53
lifelessbut chanserv whinged, so I've asked joey to action it18:53
jmlyeah, that's what I've got.18:53
jcsackettjtv: i can get to it, it's just got two in the queue before it.18:55
jtvjcsackett: then I will have to leave before you get to it… the documentation's fairly extensive though.18:55
jcsackettjtv: no worries.18:55
jtvthanks18:55
lifelessflacoste: I did, about the chat with #is; how did it go?18:56
mhall119using launchpadlib, is there a way to get the url for a person's mugshot?18:56
flacostelifeless: went well, our tickets are blocked waiting on resources, but are next in line18:57
lifelessthanks18:57
mhall119lp.people['mhall119'].mugshot gives me a lazr.restfulclient.resource.HostedFile18:57
mhall119lp.people['mhall119'].mugshot.open() gives me a lazr.restfulclient.resource.HostedFileBuffer18:57
mhall119for displaying in LD, I just need a URL that the browser can use to load the image18:58
mhall119we currently use "https://edge.launchpad.net/api/beta/~%s/mugshot" % (identity)18:58
lifelessthe mugshot_link, but note the caveats:18:58
mhall119if lp.people[request.user.username].mugshot.open() doesn't throw an exception18:58
lifeless - privacy means that we may hand out a link to our appservers which will cause a request to use, a 302 and then a request to the librarian18:59
lifelessmhall119: didn't we go over this in excruciating detail a couple of weeks ago? IIRC you want the external url added to the object where possible, or something?19:00
leonardrlifeless: i don't think there is a web_link for a hosted file19:00
mhall119lifeless: yes, but it was Ronnie asking then, I'm playing catchup19:01
lifelessleonardr: indeed - they've been using the api link directly19:01
lifelessleonardr: which doesn't do what they need quite, AIUI19:01
lifelessmhall119: the channel is logged I think; you might like to read that discussion first19:01
mhall119lifeless: mugshot_link seems to be exactly what I want, not sure why we didn't use it in the first place19:02
mhall119if no mugshot is given, will mugshot_link be None, or raise an exception?19:03
lifelessmhall119: whats the value you see at the moment ?19:03
leonardrmhall119: mugshot_link will always have a value, but sending a GET to that url may give you a 40419:04
leonardr>>> l.people['david'].mugshot_link19:04
leonardru'https://api.launchpad.net/1.0/~david/mugshot'19:04
mhall119ok..19:04
lifelessyeah, its *exactly* the same thing you are using at the moment19:04
mhall119leonardr: that's the problem I'm trying to fix too19:04
mhall119getting text instead of an image19:04
mhall119any ideas on that front?19:05
jml347 packages in canonical and lp, 788 directories19:05
leonardrmhall119: what kind of program are you writing?19:06
lifelessjcsackett: https://code.launchpad.net/~lifeless/launchpad/bug-717394/+merge/5011019:06
mhall119leonardr: http://loco.ubuntu.com19:06
jcsackettlifeless: on the queue. :-P19:06
leonardrmhall119: is it javascript or server-side html generation?19:08
mhall119leonardr: server-side19:08
mhall119we store the URL in our database so we don't have to call LP every time19:08
leonardrmhall119: i suggest issuing a request for the mugshot link. you'll either get a 404 or a redirect to the librarian, and you can store the redirected url19:09
leonardrjust be sure to re-check every once in a while in case they change their mugshot19:09
leonardrwill that work?19:09
mhall119leonardr: yours doesn't give either a 404 or 30219:10
leonardrmhall119: it's a 30319:11
mhall119ah, ok19:14
mhall119leonardr: so given that 303, is there a way to get the correct url?19:15
leonardrmhall119: it should be in the Location header19:15
mhall119 oh, nevermind, https://api.launchpad.net/1.0/~david/mugshot gives a 40419:16
jcsackettleonardr: r=me on the first one.19:17
* jcsackett prays for no more ~800 line diffs.19:17
* jcsackett glances at lifeless's with sneaking suspicion...19:17
leonardrjcsackett: sorry, i should have done the Accept header parser as a separate branch19:17
jcsackettleonardr: all good. :-)19:17
jcsacketti just enjoy kvetching.19:18
leonardrin that case you should pray for more 800 line diff19:18
leonardrs19:18
lifelessjcsackett: +360 - 14519:19
lifelessjcsackett: is small19:19
lifelessof course, because it hits lots of contexts, thats 730 lines flattened19:20
jcsackettlifeless: yeah, it's not actually that bad.19:20
jcsacketti'm on a bit of cold meds, so my sense of humor is distorted.19:21
lifelessjcsackett: btw I thought about making setUpTarget2 a template function, but the trade off was pretty average, and the code harder to follow so I left it as first crafted19:21
lifelessjcsackett: nasal hijinks?19:21
jcsackettlifeless: thus far. there's been a round of flu/bronchitis among some friends. i'm hoping mine is just a cold.19:21
lifelessgrah19:21
lifelessbe well19:21
lifelessthe any/all helpers are a bit awkward to work with19:23
lifelessflacoste: so, optional reviews19:30
lifelessflacoste: I raised the thread as we discussed19:30
flacostelifeless: yep, looks like we are good to make this the standard process19:31
flacostelifeless: simply update the wiki pages19:31
lifelessflacoste: I'd like to roll it into the main process docs. What do you think?19:32
flacostelifeless: sure19:32
lifelessjcsackett: so my branch has only 4 code changes: expose open_bugtasks_search, add BugTaskSearchParams.setTarget, add BugTaskSet.countBugs, use it from BugTargetView19:33
lifelessmatsubara: hi19:38
lifelessmatsubara: did my suggesetion in the bug make sense?19:38
matsubaralifeless, I'm adding some tests cases so we can see if the regex change will work for us19:39
matsubaralifeless, from what I tested manually the first regex worked, the second one didn't work so well19:39
lifelessmatsubara: I think we need test cases yes :)19:41
lifelessmatsubara: but broadly you need two changes:19:41
lifeless 1) make the single quote string regex not take so long19:41
lifeless 2) add a regex for u"" strings19:41
jcsackettlifeless: dig. having made coffee i'm properly looking at yours now.19:41
matsubaralifeless, cool. thanks for the feedback. once I have the mp ready, I'll ask you to take a look19:45
matsubara:-)19:45
lifelesssweet19:45
* thumper afk to take car in to get serviced, back asap20:06
benjithat reminds me, I need to take cdr in for service too; I wonder if the local Lisp shop is still open20:16
leonardrjcsackett, can i get you to take a look at one more small revision to https://code.launchpad.net/~leonardr/lazr.restful/more-tests-for-combined-representations/+merge/50202 ?20:17
leonardrspecifically, revision 18520:18
jcsackettleonardr: still r=me.20:22
leonardrgreat20:22
lifelessjcsackett: hi20:31
jcsackettlifeless: hello.20:31
lifelesswould a voice call to go through the patch help? I'm only asking because I wasn't expecting it to chew up hours of your time .20:32
matsubaralifeless, https://code.launchpad.net/~matsubara/oops-tools/720358-regex-fix/+merge/5022520:32
lifelessjcsackett: (and I feel guilty about taking up that much time)20:33
jcsackettlifeless: it hasn't chewed up hours. you pinged while i was in the midst of other reviews.20:33
jcsackettand i've had some distractions. i'm finishing making notes now.20:34
lifelessjcsackett: oh, phew :)20:35
jcsackettlifeless: yeah, no worries. :-)20:35
jcsackettnow, OCR? that has chewed up hours. :-P20:35
LPCIBotYippie, build fixed!20:41
LPCIBotProject db-devel build (375): FIXED in 5 hr 57 min: https://hudson.wedontsleep.org/job/db-devel/375/20:41
jcsackettlifeless: r=me.20:44
jcsackettsinzui, there's a stack of reviews i've thrown in that i need follow up on. not sure if you've seen them or not already.20:44
* jcsackett moves on to last branch he was pinged for.20:45
thumperleonardr: want to approve https://code.launchpad.net/~thumper/launchpad/recipe-inline-edit-recipe-text/+merge/49585 ?20:49
lifelessoh, rightm you're being mentored20:50
lifelesssinzui: -yo-20:50
jcsackettlifeless: yes, i'm the diet coke of reviewers right now. :-)20:51
lifelessthat reminds me of cola/coke/pepsi20:52
lifelesshttp://piumarta.com/software/cola/20:52
lifelessjcsackett: ^20:53
matsubaralifeless, thanks!20:53
=== matsubara is now known as matsubara-afk
lifelessde nada20:53
jcsackettlifeless: that sounds rather ambitious.20:54
lifelessit is20:54
lifelesssome interesting shit20:55
dobeyheh, that is not what i think of when i hear pepsi/jolt in reference to a piece of code20:56
lifelesshttp://piumarta.com/software/peg/ is also interesting to compiler geeks20:56
jcsackettpeg i have heard of.20:57
jcsackettnever looked at, but heard of.20:57
sinzuilifeless: jcsackett: I am back. I can review again20:59
lifelesssinzui: \o/21:00
* StevenK grumbles at buildbot21:00
lifelesssinzui: I want to have a ui discussion about bugtask:+index with someone21:00
lifelesssinzui: would you be suitable, and if so, when would be good for you?21:00
thumperIn mumble, if I use "push to talk" what do I push?21:00
lifelessthere is a config option to choose a key21:01
sinzuilifeless: in a few minutes. I need to get a drink and hope that me second computer prefers an older kernel21:02
lifelesssinzui: kk21:03
thumperStevenK: can you hear me?21:03
StevenKthumper: Didn't have headphones on, try again?21:04
thumperleonardr: you around?21:05
leonardryup21:05
thumpermumble?21:05
=== salgado is now known as salgado-afk
StevenKthumper: Configure -> Settings -> Shortcuts21:06
lifelesssinzui: shout when you are ready21:15
thumpersinzui: can you look at jcsackett's reviews of leonardr's branches?21:16
thumpersinzui: I want them landed asap :-)21:16
StevenKleonardr: lib/canonical/lazr/security.py and lib/canonical/lazr/doc/checker-utilities.txt is the test21:18
thumpersinzui: if you can't, I'll be happy to mentor the reviews21:21
sinzuithumper: I am reading it now21:21
thumpersinzui: awesome, thanks21:21
thumperI'm so freaking excited about this lazr.restful change21:27
thumpersinzui: got a minute?21:28
thumpersinzui: for mumble?21:28
lifelessthumper: I'm queued already for sinzui :)21:28
thumperlifeless: :(21:28
lifelessthumper: ^^21:28
thumperlifeless: my minute with sinzui is talking through the background of the changes that he is currently reviewing21:29
thumperlifeless: so it is more timely :)21:29
pooliehi thumper21:29
thumperhi poolie21:30
pooliehi lifeless, your statement about pithiness was to pithy to be understandable :)21:30
thumperpoolie: we should have a chat sometime21:30
pooliehow about 60m from now?21:30
LPCIBotProject devel build (451): FAILURE in 5 hr 26 min: https://hudson.wedontsleep.org/job/devel/451/21:31
LPCIBotLaunchpad Patch Queue Manager: [r=jtv][bug=715325] Don't return builds for disabled archives using21:31
LPCIBotget{Pending, }Builds() on recipes.21:31
thumperpoolie: yeah, that should work21:32
lifelesspoolie: :)21:32
leonardrthumper, i don't think test_recipe_text tests anything? to test that you can edit the recipe text, you would have to call lp_save()21:33
thumperdo we have to call lp_save for mutators?21:33
leonardrthumper: you don't have to call lp_save() when you invoke a named operation21:34
leonardrbut the purpose of a mutator is to hide a named operation so that it looks like normal field access21:34
thumperleonardr: but you do for mutators?21:34
leonardrand in that case you do need to call lp_save()21:34
thumperleonardr: if you have several mutators that are being saved, which order are they called?21:35
leonardrie. on the client, side, there is no 'mutator'21:35
* thumper adds a lp_save()21:35
leonardrit's just that recipe_text is editable21:35
leonardrr=me apart from that21:35
thumperok21:35
leonardrthumper: if you have several mutators, i believe they're called in the order in which the fields were defined in the annotated interface21:36
thumperok21:36
thumperas in the order the fields that are being mutated were defined?21:36
leonardryeah21:36
thumperok21:37
thumperthat makes sense21:37
leonardrthat gives you the most control21:37
* thumper nods21:37
StevenKleonardr: As a stupid question, how do I run the lazr.restful tests? There's no makefile that I can see.21:37
leonardrStevenK: python bootstrap.py; bin/buildout; bin/test21:38
thumperStevenK: it can take a while the first time21:38
thumperStevenK: it is worthwhile setting a cache for buildout21:38
leonardryeah, put this in ~/.buildout/default.cfg21:39
leonardr[buildout]21:39
leonardreggs-directory=/home/[username]/.buildout/eggs21:39
leonardrdownload-cache=/home/[username]/.buildout/download-cache21:39
leonardrand create those directories21:39
leonardrfirst buildout will take a few minutes, subsequent will be instantaneous21:40
thumperleonardr: I've just privmsg'ed that to StevenK too :)21:40
leonardrk21:40
StevenKI didn't even have setuptools installed, so I'm still on the first step :-)21:41
* leonardr leaving but will be back to do a lazr.restful release21:44
jamjcsackett: could I get you to look at https://code.launchpad.net/~jameinel/launchpad/lp-forking-serve-cleaner-childre/+merge/5003121:45
jamhmm... looks like I put the comment in the wrong spot, just a sec21:45
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
jampushed an update21:47
lifelesssinzui: ping21:48
sinzuihi lifeless21:48
lifelesssinzui: is now good ?21:48
sinzuiMay I have 10 more minutes to finish a review?21:48
lifelessof course21:49
jcsackettjam: everything where it should be on that MP? I can look at it now.22:00
lifelessmatsubara-afk: lp-oops is timing out for me now22:04
lifelessmatsubara-afk: on OOPS-1716ED44622:04
sinzuilifeless: I am available now. irc, mumble, or skype22:05
lifelessskype works best I think22:05
StevenKleonardr: https://code.launchpad.net/~stevenk/lazr.restful/move-test/+merge/50239 If you're still around22:06
jmlturns out my branch to rename zeca fails with an obscure error in an at-first-glance unrelated test22:07
jmlwho'd have thunk it!22:07
* jml fixes22:07
thumperjml: I'd a thunk it22:08
lifelesssinzui: https://bugs.launchpad.net/ubuntu/+bug/122:11
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:I22:11
jamjcsackett: everything should be ready22:13
jcsackettjam: i will look at it soon.22:13
StevenKwgrant: Did you want to close all of the bugs referenced by the rollout?22:13
jcsackettsinzui: fire alarm just went off in my apartment building. hopefully we'll be back in before standup.22:14
jamjcsackett: this is another one which should be ready for review https://code.launchpad.net/~jameinel/launchpad/twisted-close-on-failure/+merge/5006722:14
wgrantStevenK: Done.22:19
jmlgetPublisher meaningfully changes state. How interesting.22:21
thumperStevenK, wgrant: does a distro "always" have a current distroseries?22:23
wgrantNo.22:23
thumperor, I guess, does "ubuntu" always have one?22:23
wgrantWait.22:23
wgrantWith status CURRENT?22:24
wgrantOr do you mean a development focus?22:24
thumperwgrant: whatever I need for "maverick" now22:24
thumperwgrant: I'm wanting to provide a reasonable default for daily builds22:24
thumperso the default initially will be the current distroseries22:24
thumperdevelopment focus right now is natty22:24
wgrantThere will almost always be one, but it will be missing occasionally.22:25
wgrantAnd for new distros.22:25
wgrantWhich are coming soon.22:25
thumperwgrant: if a distro has at least one distro series, is the distro guaranteed to have a development focus?22:26
thumperalso... why don't we force distros to have at least one series like projects?22:26
wgrantBecause distroseries are special and do magical Soyuz things.22:27
wgrantAlthough it's less bad now.22:27
jmldid anyone debug that error with ec2 things not having any output in 600s?22:27
wgrantYou should use Distribution.currentseries.22:27
jcsackettsinzui: i'm back. false alarm, evidently.22:27
wgrantthumper: .currentseries implements the development focus logic, and will always return something if there are any series.22:27
* thumper looks at the distro model code22:28
thumperwgrant: that would give recipes a default of making for natty now not maverick22:29
thumper...22:29
wgrantI know.22:29
StevenKlifeless: See new comment on RT#4335222:29
_mup_Bug #43352: ipp jobs not purged; purging causes 100% cpu usage <cupsys (Ubuntu):Fix Released> <gnome-cups-manager (Ubuntu):Invalid> < https://launchpad.net/bugs/43352 >22:29
thumperI wonder if that is good enough22:29
lifelessStevenK: otp22:29
wallyworldthumper: ping me when you are free? do you want to discuss the "Build now" ui review points?22:29
thumperwallyworld: I was just going to have a quick chat with poolie22:30
thumperwallyworld: after that?22:30
wallyworldthumper: no hurry. that's why i mentioned when you are free :-)22:30
jcsackettjam: what confidence do we have that this try/finally all works, given there's no test coverage?22:30
thumperpoolie: skype or mumble?22:30
thumperwgrant: when is a distroseries FROZEN ?22:31
StevenKthumper: Just before release.22:31
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
wgrantAround release time, or when it has just been created and is not yet initialised.22:31
* thumper nods22:31
thumperok22:31
wgrantEmbedding all this in a single status is a little insane, but that's how it is :(22:32
jmlwgrant: is https://bugs.launchpad.net/launchpad/+bug/661931 still an issue?22:34
_mup_Bug #661931: make check sometimes fails on EC2 without test failures <lp-foundations> <Launchpad itself:Triaged> < https://launchpad.net/bugs/661931 >22:34
wgrantjml: I don't think so.22:34
wgrantAll that remains is the Windmill hang, AIUI.22:34
jmlFor which I just filed bug 72099822:35
_mup_Bug #720998: ec2 test times out <build-infrastructure> <Launchpad itself:Triaged> < https://launchpad.net/bugs/720998 >22:35
thumperwallyworld: join mumble and lets talk about your reviews22:36
thumperwallyworld: poolie has now been bumped to after lunch22:36
wgrantjml: Does getPublisher do much beyond creating directories?22:39
jmlwgrant: well, presumably it gets a publisher22:39
wgrants/do much/do much evil/22:39
jmlwgrant: oh right, nothing obvious.22:39
jmlwgrant: I deleted a line in a test that was "unused_variable = getPublisher(...)"22:40
wgrantHah.22:40
wgrantThat all sort of sucks. I rewrote the underlying config stuff last year, but didn't end up making it all the way to the top.22:40
jmlbecause I guess functions that start with 'get' are effectively read-only22:40
jmlwgrant: it's all about incremental improvement22:41
wallyworldthumper: was otp, ok to go now22:41
jmlI got this error while running sphinx.main() in the Launchpad test suite on EC2:22:42
jmlactual = "Making output directory...\nException IndexError: IndexError('list index out of range',) in <bound method _LockWarner.__del__ of <bzrlib.lockable_files._LockWarner object at 0x10f65d50>> ignored\n"22:42
jmluhh, the error is the exception22:42
jmlhmm...22:42
jmlthat gives me a though22:42
jml.t22:42
lifelesswgrant: hi22:52
lifelesswgrant: I was considering another deploy, but danilos patch asn't qa'd; wondering if thats something you might like to do?22:53
lifelessStevenK: I see, cool.22:57
sinzuilifeless: ie6=0.5%, ie7=1%23:00
lifelessnice23:02
lifelessso we should ask our stakeholders / commercial customers only23:02
wgrantlifeless: Sure.23:05
wgrantlifeless: Looks good. I shall request the deploy.23:10
lifelesswgrant: -woot-23:10
wgrantThis means we have deployed every day this week, I think.23:11
sinzui16% of our visitors are using mobile devices23:11
wgrantAh, no, missed Tuesday.23:11
wgrantBut I think timezones meant they were close anyway.23:11
sinzuiI bet they hate bug 123:11
_mup_Bug #1: Microsoft has a majority market share <iso-testing> <ubuntu> <Clubdistro:Confirmed> <Computer Science Ubuntu:Invalid by compscibuntu-bugs> <EasyPeasy Overview:Invalid by ramvi> <GNOME Screensaver:Won't Fix> <Ichthux:Invalid by raphink> <JAK LINUX:Invalid> <The Linux OS Project:In Progress> <metacity:In Progress> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:I23:11
wgrantlifeless: Can we remove the security deployment section from LPS?23:13
wgrantproduction-stable seems to be pretty dead.23:13
lifelesswgrant: raise it for discussion with losas23:13
lifelessI wanted to initially but there was lots of concern about when it would be needed, so it stayed as a compromise23:14
wgrantk23:14
wgrantI am at least tempted to move it below the stable section.23:14
lifelessif it goes, a bunch of processes can be cleaned up too23:14
huwshimisinzui: Wow, the number of mobile users is way higher than I expected it23:20
jamjcsackett: sorry about the delay, was picking up my son. I have run the specific code quite thoroughly, and there are some tests that already cover it.23:22
jamIt is a little bit hard to inject specific failures into that exact point. If you feel it is critical, we can try to figure something out23:22
jambut I did do a lot of manual testing.23:22
jcsackettjam: ah, in your MP you said there were no tests; i took that to mean no testing. :-)23:22
jamno new tests covering what changed23:22
jcsackettdig.23:23
jcsackettjam: r=me, but i'm mentored, so sinzui will have to follow up, and it is EOD in our tz. he may still follow up today, or tomorrow morning.23:29
jamk, thanks jcsackett23:30
jcsackettjam: np. :-)23:30
wgrantlifeless: So, are you OK with https://code.launchpad.net/~wgrant/launchpad/bug-708999-ff-docs/+merge/49758?23:32
wgrantIt seems rather controversial.23:32
wgrantBut it looks like improvements on it are even more controversial.23:32
lifelessotp23:51
wgrantSome people's interpretation of HTTP is pretty creative.23:58

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