leonardrlifeless: here's the entire run: http://pastebin.ubuntu.com/498063/00:40
lifelessleonardr: uhm, its normally a .gz file for good reason ;)00:43
lifelessleonardr: consider email in future?00:43
* leonardr hates email, but ok00:43
lifeless42000 line pastebins make me sad00:44
lifelessleonardr: ah, is that why you're never on the lp-dev list ? )00:44
lifelessleonardr: line 26213 of that pastebin00:45
lifelessjml's testfix issue00:45
lifelessAttributeError: 'NoneType' object has no attribute 'specific_job'00:45
lifelessleonardr: you can find this easily by 'gunzip -c log | subunit-filter | subunit2pyunit'00:45
leonardrlifeless: i see, it's an "error" not a "failure"00:45
lifelessleonardr: (or testr load)00:46
leonardrlifeless: for the record, you're right about email for such a long doc, the pastebin is a pain00:46
leonardri hadn't actually used it00:46
lifelessI'm frankly impressed and a little terrified that it accepted it.00:47
leonardrlifeless: jml's testfix issue == the one he's trying to address with buildd-deferred-fo-sho?00:49
lifelessI guess00:49
lifelessanyhow, not your branch, not my patch :)00:49
leonardrlifeless: does that actually give me the option to land my branch, or is the line stopped?00:50
lifelessleonardr: was that the only error in the output?00:51
lifelessleonardr: if so, I'd land your branch, because we know that that error was from a different very unrelated patch00:51
leonardrlifeless: i've got two identical-looking windmill errors as well00:52
leonardrerror: lp.registry.windmill.tests.test_add_bugtracker.TestAddBugTracker.test_adding_bugtracker_for_project [ multipart00:52
leonardrContent-Type: text/plain;charset=utf800:52
leonardr[<Thread(Thread-275, started daemon 47553913698064)>]000:52
leonardrwell, i guess pastebin would have been good for *that*00:53
lifelessleonardr: I don't know enough to comment about them00:53
leonardrlifeless: ok, i'll wait until tomorrow00:53
lifelessleonardr: 5 lines isn't worth pastebin. personally I pastebin above ~10 lines and below thousands.00:53
marsleonardr, should be ignored00:54
marsby the test framework00:54
leonardrmars: hey, you're still around00:54
marsleonardr, for maybe 5 minutes00:54
leonardrmars: ok, i'm going to land the branch without lifeless's branch merged, since his branch hasn't been reviewed00:54
lifelessleonardr: it will fail00:55
marsleonardr, sure.  I was just commenting about the windmill errors.  I actually fixed that specific bug a while ago (or thought I had)00:55
lifelessleonardr: do not land it, you'll break bb00:55
leonardrlifeless: ok, then i'll wait until your branch has been reviewed and landed, and then i'll land this branch00:55
lifelessit was reviewed00:55
leonardrlifeless: i see, the status wasn't changed00:56
lifelessleonardr: besides which, if you needed it reviewed, its a) tiny and b) you're allowed to do reviews too.00:56
leonardrlifeless: ok, i am in a position to land both your branch and my branch. will *that* break bb (because of the bug jml is trying to fix)?00:56
lifelessleonardr: no, because your branch + my branch + devel only failed on what jml is fixing.00:57
lifelesss/no/very low probability/00:57
leonardrok, i'm going to do that00:57
wgrantspm: Are you sure there's only one LP person? There may be another one with an email address matching one of the SSO accounts.01:57
spmwgrant: 4 emails. 3 in the old; 1 in the new.01:57
wgrantThere's a known bug there.01:57
wgrantspm: And the primary addresses for both SSO accounts are associated to the one Person?01:58
spmthe two openid's both are in the same LP account; so if there's a new account; not sure how to find it.01:58
spmare associated to the one Person <== to the one LP account, yes.01:58
wgrantThe OpenID identifiers sadly don't matter -- they will follow whichever Person the email addreess is associated with.01:58
* poolie is back02:09
poolielifeless: do you want a hand with the flags stuff at all?02:09
lifelesspoolie: that would be lovely02:10
lifelesspoolie: if you do 'make run' and visit bugs.launchpad.dev/bugs/102:10
_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> <OpenOffice:In Progress by lh-maviya> <Tabuntu:Invalid by tinarussell> <Tivion:Invalid by shakaran> <Tv-Player:New> <Ubuntu:In Progress by sabdfl> <02:10
poolieok, let me answer this roadmap mail then i'll see what i can make of it02:10
lifelesspoolie: then look at the source, you should see the memcache flag evaluated02:11
lifelessif you do ++oops++ on that and look at the oops, you can see memcache calls are made.02:11
lifelesspoolie: setting the rule in the db as I put in the bug, the scope is found, the flag still evaluates to None, and memcache calls are still made.02:11
lifelesspoolie: its likely shallow, but I've been elbow deep in this bugtask perf patch.02:11
rockstarec2 keeps failing my branch on tests that aren't failing locally and look to have absolutely nothing to do with my changes.02:35
rockstarI'm half tempted to just send it to PQM and see if it breaks there.02:36
lifelessrockstar: details?02:44
rockstarlifeless, what details do you want?  The actual tests that failed?02:44
lifelesswgrant: https://code.edge.launchpad.net/~rockstar/launchpad/build-farm-job-constraint/+merge/3621902:45
lifelesswgrant: how does that fit in the with the build farm refactoring stuff02:45
rockstarlifeless, that part better not get refactored.  It just got refactored.02:46
rockstarlifeless, here's one: lp.soyuz.tests.test_buildpackagejob.TestBuildPackageJobScore.test_score_unusual_component02:47
lifelessrockstar: heh, yes. but wgrant has stared closely at this stuff a lot ;)02:47
lifelessrockstar: was it a missing/None attribute error?02:47
lifelessrockstar: if so, jml is meant to have fixed it02:47
rockstarlifeless, uh, how was he meant to have fixed it?02:47
lifelesshe had a branch02:48
rockstarlifeless, basically, abentley noticed when doing the refactoring the PackageBuild that the interface and the branch didn't agree.02:48
lifelesshim and bigjools landed some brokenstuff02:48
lifelessrockstar: ECONTEXT: The test failure02:48
rockstarlifeless, oh, maybe, except for that it failed the same tests yesterday.02:48
lifelessrockstar: paste the error?02:48
rockstarlifeless, http://pastebin.ubuntu.com/498129/02:49
lifelessyes, thats jml/bigjools and jml was landing a patch02:51
lifelessrockstar: rev 11589 looks like it should fix it02:52
lifelessrockstar: so if you ec2 land it should work now02:52
wgrantrockstar: When did it get refactored?03:07
rockstarwgrant, the PackageBuild stuff?  July.03:08
wgrantrockstar: Oh, that's just the first part of the refactoring.03:08
wgrantThat part is staying, but the table you just fixed is being removed.03:08
wgrantNow that Translations has done their bit.03:08
rockstarwgrant, *groan*03:08
rockstarwgrant, as long as someone BESIDES code takes care of it.03:08
wgrantI believe that is the plan.03:09
rockstarThis moving target thing is really hard when you're trying to finish a feature.03:09
wgrantWell, this wouldn't have been a problem if it had been designed properly in the first place :)03:09
wgrantBut it's nearly there now.03:09
wgrantWe have all the necessary tables.03:09
wgrantSo now we just have to move stuff off the old classes and delete their tables.03:10
wgrantIn summary: BuildFarmJob, PackageBuild etc. are staying.03:11
wgrantBuildQueue, SourcePackageRecipeBuildJob, BuildPackageJob, TranslationTemplatesBuildJob are being destroyed.03:11
jtvwgrant: setting a contact email will break bug mail!?03:19
wgrantjtv: It will send bugmail to the list.03:21
jtvwgrant: you mean the contact address?03:22
wgrantjtv: that.03:22
jtvwhat a wonderful situation we just got dumped in03:23
wgrantWhat forced the change?03:23
wgrantDidn't you previously use a celebrity?03:24
jtvThe change was one we were entirely unaware of, so I'm only now learning the details.03:25
jtvApparently bzr needs a user id for every committer.03:25
jtvAnd apparently those ids used to be made up somehow (I don't know the details).03:25
jtvIt was decided somewhere that this was wrong, and so the Launchpad code had to pass an email address when committing.03:26
wgrantisn't the author still the celebrity, though?03:26
wgrantWhy can't it be the committer for now too?03:26
jtvNo.  These commits default to the branch owner.03:27
jtvThere's a bug in that change such that if the branch owner doesn't have a preferredemail, boom.03:27
wgrantHm, I thought they were "Launchpad Code Hosting" or something like that.03:27
jtvWe've been _wanting_ to make this commits in the name of a celebrity for a long time, just like you say.03:27
wgrantBut it was like that when it was first implemented...03:27
wgrantI even filed a bug.03:27
wgrantBug #40726603:28
_mup_Bug #407266: Translations branch committer needs a better email address <code-integration> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/407266>03:28
jtvwgrant: thanks, that's a missing piece of the puzzle.03:29
jtvWe would have liked to have a proper, recognizable celebrity for this.03:29
jtvAnd this bug report must have been the reason we wanted that.03:29
wgrantThe thing is, it was previously a celebrity. A bad one, but still a celebrity.03:29
wgrantI don't remember a commit when that changed.03:30
jtvBut evidently the Code code moved in a different direction without our knowledge.03:30
wgrantYeah, maybe.03:30
wgrantI bet that was the default whoami.03:30
lifelessit was the default whoami;03:30
jtvWe left it uninitialized.03:30
jtvThen apparently it got changed to default to branch.owner.03:30
lifelessI proposed using the same logic Code uses to do changes files for recipe builds.03:30
wgrantI didn't consider that the gecos would be something like that.03:30
wgrantSo thought it must have been in the code somewhere.03:31
wgrantjtv: can't you refactor it so you can pass in an arbitrary name and email?03:31
wgrantAnd do the celebrity thing.03:31
jtvwgrant: arbitrary?  I don't like arbitrary.03:32
wgrantSince that's more correct.03:32
wgrantAnd it will work.03:32
jtvThere's no need to refactor—we can pass in a user identitiy.03:32
wgrantWithout creating a real DB celebrity?03:32
jtvAFAIK there's no such thing as a "real DB celebrity."  The celebrities exist as a collection of items in the python code.03:33
jtvThe items themselves are regular user identities, teams, language objects, etc. etc. etc.03:34
spivOh nice, codebrowse OOPSes are viewable finally: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1713CB603:34
mwhudsonspiv: hurrah03:35
thumpermwhudson: hey03:36
thumpermwhudson: congrats on the house03:36
thumpermwhudson: my branch-distro change has been reviewed by gmb, but I was wondering if you could cast your eye over it too?03:36
mwhudsonthumper: thanks03:37
wgrantInsurers defeated?03:37
mwhudsonthumper: i think it looked fine, i'll have another quick look03:37
mwhudsonwgrant: yeah03:37
thumpermwhudson: thanks03:37
wgrantWell done.03:37
thumpermwhudson: also, how do we QA this?03:38
thumpermwhudson: should we copy a bucket load of branches to staging?03:38
mwhudsonthumper: hmm, yes, i guess you can run a query to delete 90% of the seriesbranch links for maverick on staging03:40
mwhudsonthumper: the branch looks fine03:40
mwhudsonthumper: then get the ids of the branches that are still official, get a losa to copy the those branches to staging (they have a script for this)03:40
mwhudsonthen run the script on staging03:41
* thumper nods03:41
mwhudsonthink that should work fine03:41
jtvwgrant: one thing is clear—if someone hadn't changed the default from a celebrity to branch.owner, then this other bug wouldn't have bit us.  It's infuriating.  A combination of changes that we were unaware of.03:50
jtvAnd there wasn't even a Code bug for this that I could find.03:51
wgrantjtv: It didn't really change from a celebrity.03:55
wgrantbzr started requiring explicit whoami.03:55
wgrantSo Code started setting it, overriding the default.03:55
wgrantWhich happened to look like a celebrity.03:55
wgrant(I'm afraid that I filed the bug which caused bzr to require whoami)03:56
jtvwgrant: well, a "special user"—which is pretty close to being a formal celebrity03:57
wgrantBug #54931003:58
_mup_Bug #549310: bzr should not try to guess username but require setting it with whoami <easy> <Bazaar:Fix Released by parthm> <https://launchpad.net/bugs/549310>03:58
jtvEasy indeed.03:59
jtvwgrant: thanks for digging this stuff up—we're only at the receiving end of this and don't have much of a grasp of the work that went into making it broken.04:02
jtvSo to speak.04:03
wgrantjtv: This is the problem with having a thoroughly partitioned team, I suppose.04:10
jtvwgrant: that's definitely part of it, but we're not supposed to be this thoroughly partitioned.04:10
jtvIn this case, ironically, the bzr and code teams worked together to fix the problems but communication between launchpad teams broke down.04:11
jtvphone call04:11
spivlifeless: I see in your latest performance mail you used "@" rather than "at".  That's what I call dedication!04:13
lifelessspiv: hah, was a marathon dive. I was a tad tired.04:27
pooliehello jtv04:28
jtvhi poolie04:28
pooliejtv i'm so glad we got to hang out briefly in .nl, i feel like i know you much better04:28
jtvpoolie: likewise04:28
lifelesspoolie: did you have any luck with flags<->memcache?04:29
pooliehaven't got to it yet sorry04:29
poolieshould soon04:29
lifelessno worries04:32
lifelessinterested not panicing04:32
* thumper takes kids swimming04:40
thumperwill be around later04:41
pooliezarro mail! i'll look at memcached now04:55
poolielifeless: was that in devel? or db-devel?04:58
lifelessor db-devel, either will do04:59
lifelessbut I've been landing this stuff on devel04:59
* poolie runs it up05:00
pooliecould someone please sponsor landing of https://code.edge.launchpad.net/~mbp/launchpad/mbp-trivial/+merge/3217305:14
StevenKpoolie: I sure can, let me branch that05:18
lifelesspoolie: sorry blah I've been meaning to do it05:18
lifelessForbiddenAttribute: ('_getOfficialTagClause', <SourcePackage <Distribution 'Debian' (debian)> <DistroSeries u'woody'> <SourcePackageName 'mozilla-firefox'>>)05:20
poolienp, there's also https://code.edge.launchpad.net/~mbp/launchpad/flags-webapp/+merge/3296705:21
pooliewhich is only doc changes and could arguably land without ec205:21
=== almaisan-away is now known as al-maisan
lifelessgarh I hate interfafces05:24
lifelesstoo dan opaque05:24
pooliehm i wish i'd added the ui to see the flag rules :)05:25
poolielifeless: so istm that you're getting back None because there are no flag rules defined on production05:27
lifelesspoolie: we added one to staging to teset05:29
pooliei don't see any there either05:30
_mup_Bug #634342: need a features 'scope' for page ids <flags> <qa-ok> <Launchpad Foundations:Fix Committed by lifeless> <https://launchpad.net/bugs/634342>05:30
poolieunless maybe it's gone now?05:30
lifelessdeleted it afterwards05:30
lifelesssee that comment, it has the sql that tom ran for me05:30
poolieok, i'll test it locally05:30
poolielifeless: ok, the sql was wrong05:44
poolieshould have been 'pageid:BugTask:+index'05:44
pooliehowever, it is a bug that it's possible for you to so easily get it wrong05:45
lifelessand i wrote that code n all05:52
pooliesilent fail is a poor policy05:53
pooliei think we probably want to give warnings in the edit/view gui05:54
poolienot per page request05:54
lifelessyes, if we had one :P05:54
pooliemight go out for fresh air first05:54
pooliealso we need standardization05:54
poolieyou use 'disabled', soyuz uses 'off'05:54
pooliethis will become chaotic05:54
lifelessI think some constants would be nice06:05
lifelessor enums06:05
lifelessI think we can survive with different values as long as its self documenting in some fashion06:06
poolieright, maybe something like a registry06:44
pooliei want something lightweight and that allows the db to be slightly out of sync with the code, without laying too mny traps06:45
lifelessbeing out of sync is normal for this design :)06:45
poolieok back to the gui now06:53
StevenKpoolie: That MP I'm going to land is targeted to db-devel, did you want it tossed at devel?06:54
pooliei don't know!06:54
pooliewhere should it go06:54
lifelessis it safe to deploy now?06:55
StevenKpoolie: There's a simple rule for it. devel unless you touch the database06:55
StevenKlifeless: It only changes the test infrastructure06:56
pooliewhich one are we talking about, flags-webapp, or mbp-trivial?06:56
StevenKThe latter06:56
poolieok, mbp-trivial06:56
pooliein that case both are safe for devel06:56
StevenKI'm just fighting with my own branches as well06:56
pooliei was just thinking about adding a machine readable plain text view of the flags06:57
pooliethis is probably less useful than a human usable editor06:58
poolieit might be an ok baby step towards it?06:58
lifelessits a good start06:58
lifelesssecure it to duck + launchpad devs06:58
lifelessand we're able to start seeing whats up06:58
poolieyeah, that's a good policy question07:01
pooliethe settings should be private?07:01
pooliei'm torn07:01
pooliein a sense, since the code is open, it shouldn't matter07:01
poolieotoh if we're dealing with a crisis, perhaps it is better to have it public07:01
poolies//better not to07:02
lifelessI think users should see the settings that apply to them, in principle.07:03
lifelessThats quite different from seeing all the settings.07:03
lifelessas an example07:03
lifelessif we have a private team07:04
lifelesswhich represents a customer07:04
lifelessand we want to give them a longer timeout07:04
lifelessgoogle shouldn't index the fact they are a customer ;)07:04
pooliegood example07:06
pooliewfm too07:06
persiaProbably best to have most policy private: for the same reasons, probably best to push most of that to admin-adjustable configuration rather than code.07:06
lifelesspersia: thats what we're doing07:06
pooliethat's the whole point:)07:06
persiaIndeed, just adding justification to the choice to make it private :)  Please continue with your excellent work.07:06
poolielifeless: and write access should be only ducks?07:08
pooliethat would be ~admin?07:08
lifelesspoolie: yes07:20
lifelessor something like that07:21
mtaylorthat page crashes chromium for me07:32
StevenKpoolie: Your branch fails to merge against devel with a conflict07:32
StevenKpoolie: Er, your mpb-trivial branch, that is07:33
pooliethanks, i'll update it07:33
poolieStevenK: i'm pushing an updated mbp-trivial now07:44
poolieStevenK: pushed07:47
StevenKpoolie: Thanks, throwing at ec2 now07:49
pooliethanks and just to be sure, you mean ~launchpad-dev?07:51
pooliei guess even non-canonical staff in there will be quite trusted07:51
lifelessthats canonical only07:53
lifelessand is the one i meant07:53
poolieglad i asked07:56
poolieis it tasteful to test access control by checking the test browser raises an exception?08:12
lifelessnot really :)08:26
stubAnyone else get the feeling they have lost responses from ec2 recently?08:29
thumperwallyworld__: around?08:31
wallyworld__thumper: yes08:35
thumperwallyworld__: ETOOMANYUNDERSCORES :)08:35
thumperwallyworld__: skype?08:35
poolielifeless: uh, thanks, so what would be a tasteful way?08:41
lifeless - security is on model objets (permits API exposure)08:46
lifeless - check from a unittest in the databasefunctionallayer that you cannot access the model objects08:46
lifeless   other than as the user types you care about08:47
lifelessyou may want to have two sets of model objects that talk to the same db or something? I'm not 100% sure here.08:47
pooliei'll look around a bit more08:49
adeuringgood morning08:51
lifelesspoolie: rephrasing: I think that getFeatureFlag is safe and narrow and anyone can use it; the deeper APIs shouldn't be exposed over the model etc to anyone but launchpad & admins.08:55
pooliehm, interesting08:56
poolieso i was imagining i would change the permission in the browser config08:56
pooliebut perhaps it should be at a different level?08:56
lifelessall security is meant to be at the model layer08:57
lifeless(because the API uses the model directly)08:57
lifelessthis may be a mistake, but its not something I've thought deeply about yet.08:57
pooliehello jml!09:06
jmlpoolie, hi :)09:06
jmlpoolie, did I see you mention that dkim is working?09:06
lifelessjml: https://bugs.edge.launchpad.net/launchpad-registry/+bug/64497709:06
_mup_Bug #644977: ProjectMilestone is inconsistent, confusing ui, can we just delete it? <Launchpad Registry:New> <https://launchpad.net/bugs/644977>09:06
poolielifeless, this is interesting, because it naively seems to mean that code running as me is allowed to read and summarize data that i'm not allowed to read myself09:07
lifelessjml: the things you find trying to improve performance09:07
poolieperhaps this is not surprising if we define "model" in the right way09:07
pooliejml, it's already working for mail other than creating new bugs09:07
jmlpoolie, ahh, nice.09:07
pooliealso, i'm happy that our devops practice got a bit better, in that i can now see the log output myself rather than nagging a losa09:07
jmlpoolie, +109:08
bigjoolsgood morning all09:08
jmlpoolie, we've got a lot of room for improvement in that area09:08
lifelesspoolie: perhaps. zope security can be very granular and capable09:08
poolieif someone reviews/sponsors https://code.edge.launchpad.net/~mbp/launchpad/dkim/+merge/35985 for me then it will work for mail creating new bugs too09:08
jmlpoolie, lifeless may have mentioned once or twice that he has an interest in increasing transparency :)09:08
pooliei'm mildly amused that adding debug log messages caused on "omg what's happening?" moment :)09:09
spmjml: you've become a master of understatement lately?09:09
poolie'cos of them being mailed by default09:09
jmlspm, heh :)09:10
jmlpoolie, I'll take a look at your branch now09:14
poolielifeless: so i need separate interfaces for "read feature flag rules" and "write them?"09:14
jmlpoolie, should I still also look at jam's lp-serve branch?09:14
pooliejml, i am a babe in the woods so please review thoroughly09:14
lifelesspoolie: no, one interface09:14
pooliejml, jml's branch is pretty big but getting some review would be great09:14
poolieit's a bit smaller than it looks because it's based off db-devel or something09:15
lifelesspoolie: configure.zcml can specify what access (e.g. Launchpad.Edit) is needed for what attributes09:15
lifelesspoolie: and you write a small policy adapter to say how e.g. Launchpad.Edit is determined for a given Model object.09:15
pooliecan you point out a likely good example of doing this?09:16
jmlpoolie, look in lp/code/configure.zcml for IBranch, and in c.l.security for AccessBranch...09:17
poolieah i should have known that one would be elegant :)09:18
lifelessbigjools: hey09:20
lifelesswgrant: around?09:20
bigjoolslifeless: good day09:20
lifelesshey bigjools09:20
lifelessso, your pet performance problem09:20
lifelesshow reliable is the code?09:21
bigjoolsI don't have any pets, just problems09:21
bigjoolswhich one? :)09:21
jmlpoolie, well, it's not exactly elegant, but it'll be a little easier to follow since you are probably very familiar with branch access.09:21
lifelesslike, if I start madly shuffling am I likely to run into zomg moments?09:21
bigjoolslifeless: which performance problem?  I have many.09:21
lifelessArchiveResource:Entry:sync or whatever it was09:22
bigjoolsah the package copier09:23
lifelesslike, if I were to do a spike to it like my soon-to-land BugTask:+index spike09:24
lifelessam I heading into a disaster, or just a moderate risk09:24
bigjoolslifeless: it's an extremely sensitive area and I am not convinced that the test coverage is good.  But it needs love.09:24
bigjoolsif the package copier doesn't do its job it has the potential to break the publisher09:24
lifelessok, no hack n slash spike then/.09:25
bigjoolsbut please don't let me put you off :)09:25
bigjoolsyeah you can't throw test hacks at it09:25
lifelessoh, I wasn't suggesting tests ;)09:25
lifelessjust Refactoring. With a Capital R.09:26
bigjoolslifeless: also I'd like to try and CP jelmer's b-m changes09:26
bigjoolsit may solve a metric asshat load of problems09:27
bigjoolsbut I need a real quick way of backing it out in case of issues09:27
lifelessso, I suggest: put together a CP branch with just *that* in it, for Monday.09:27
lifelessI'll Cp up to 11565 tomorrow09:27
lifelesswhen you deploy, if there is aproblem the losas can rollback to the revision before with a single command.09:28
lifelessthe time-to-restore would be about 30 minutes09:28
bigjoolsit needs a cron job too09:28
lifelesstrivial to turn that on/off.09:28
lifelesshow does that sound spm ?09:28
mthaddonhe's EOD-ed09:29
lifelessmthaddon: how does that sound to you?09:29
mthaddonbut it sounds somewhat cowboy to me - that we're thinking of CP-ing something we're not sure about09:29
lifelessmthaddon: its been QA'd AIUI.09:29
lifelessmthaddon: but its soyuz, we often have problems post major rollout with the builddmaster anyway.09:29
bigjoolsthe problem is that we don't have a test build farm with 60 builders.  We can *never* be sure about the buildd-manager.09:29
bigjoolswe can be confident, but not sure09:30
lifelessmthaddon: it makes sense to me to do a single change, with a single simple rollback rather than bundling it in with the massess in 3 weeks time09:30
lifelessmthaddon: lower risk, shorter recovery.09:30
mthaddonand more losa time :) I'm just whining, don't mind me...09:31
lifelessmthaddon: yeah, I appreciate that.09:31
lifelessmthaddon: and that you're flat chat.09:31
lifelessmthaddon: this particular CP we're discussing is significant because it may make a lot better use ofa ll the builders09:32
lifelessmthaddon: which will reduce 'are were there yet' questions to you.09:32
mthaddonyep, I think I've seen chat about this one09:32
lifelessbigjools: ok, so rc=me for that when you put the cp branch together just ping me09:37
bigjoolsok ta09:38
lifelessbigjools: if you get it fully organised friday09:38
lifelessthen on monday, once stevenk starts, I'll ask spm to do it, so it can be running with data when you start.09:38
bigjoolshang on, OTP09:38
lifelesssure; or it can wait for you, i don't mind :)09:38
lifelessmy main point is that we should not do it before the weekend ;P09:39
StevenKYes, if we do it on Friday, it WILL break on Sunday09:39
stubAnyone know where all those rubbish ZCML load DEBUG log messages are coming from on script startup? They should be DEBUG2 or lower.09:49
lifelesssorry, no idea - I haven't seen them.09:50
lifelessjml: I have fixed up the expected test fallout09:52
jmllifeless, which expected test fallout?09:52
lifelessfrom my bugtask:+index09:52
lifelessmainly little things09:52
lifelesshttp://bazaar.launchpad.net/~lifeless/launchpad/bugtask+index/revision/11587 if you want to eyeball it09:52
StevenKwgrant: Did you end up playing with LP on 9.0?09:53
bigjoolsok lifeless I am off TP.   I will prepare a CP ready for Monday.  I'd like to be around when it's rolled out though.  We also need extra logs synced etc, so it will be a little complicated.09:56
jmllifeless, looking now09:56
lifelessbigjools: ok; document it all on LPS as normal :)09:56
jmllifeless, "        # The view caches, to see see different scenarios, a refresh is needed." Two "sees"...09:59
jmllifeless, also, why the change to @property syntax in model/milestone.py?09:59
lifelessjml: see the change in lib/lp/registry/model/projectgroup.py10:00
jmllifeless, oh right. ugh.10:01
jmllifeless, presumably the vocabularies is the same10:01
lifelessjml: yes, I can add an XXX there, but one is really enough I think10:02
lifelessanyone wondering will find it pretty quickly.10:02
jmllifeless, I was just thinking... "you know you're abusing your fancy component architecture when..."10:02
lifelessjml: when you're using it ? :)10:04
jmllifeless, har har.10:04
lifelessjml: so was that revision ok?10:19
lifelesspoolie: your lep update10:23
lifelessI think you had a public<->private typo10:23
jmllifeless, yeah.10:27
jmllifeless, I think it uncovers a fair amount of tech debt10:27
jmllifeless, but what can you do?10:27
lifelessjml: apply flamethrowers?10:27
lifelesshalt()ing time I think10:34
stubjtv: Do you know what test_main_leaves_oops_handling_alone in test_translations_import.py is actually trying to test?10:35
jtvstub: nope10:35
jmllifeless, do you have a list of cronjobs that we are actually running in production?10:36
jmllifeless, or know how I'd find one?10:36
lifelessjml: its a losa question atm10:36
jmllifeless, ok, thanks.10:37
lifelessjml: I'd like to get this more managed and accessible by devs but it hasn't hit the top of my 'most leverage' list yet.10:37
jmllifeless, understood.10:37
lifelessmthaddon: thanks for progressing the new librarian stuff; I'm excited to see it getting close.10:37
jmllifeless, glad it's on your list, and agree re priority.10:37
wgrantStevenK: No. I might over the weekend.10:49
wgrantbigjools: I'm reasonably confident in the latest b-m changes.10:49
wgrantMy main fear is that it might be too slow.10:50
wgrantAnd we'll get a backlog of uploads.10:50
bigjoolswgrant: that's good, and bad10:50
bigjoolsbut I doubt we'll get a backlog10:50
wgrantI guess it's a whole lot faster due to the lack of initZopeless.10:50
wgrantSo it should be OK.10:50
bigjoolsif we do, it doesn't matter10:50
bigjoolsthey'll get processed eventually10:50
wgrantlifeless: You rang?10:50
bigjoolswe can keep an eye on it and figure out a way to throttle the b-m back if that happens10:51
wgrantI guess it can be no worse than it is now... not that that's saying much.10:51
gmbAnyone know how I get testrepository to just give me a list of the failing tests rather than all the output?11:46
jmlgmb, if you're using trunk, testr failing --list11:50
jmlgmb, if you aren't, headbutt lifeless until he does a release11:50
jmlgmb, or...11:50
jmlgmb, testr failing --subunit | subunit-ls11:50
gmbjml, I guess I'm not using the trunk. Thanks.11:51
* gmb adds "headbutt lifeless" to his todo list.11:51
jmlgmb, I only added the support recently.11:51
jmlstill pending is my patch to make 'testr load' display output incrementally11:51
gmbFair enough.11:51
=== mrevell is now known as mrevell-lunch
jmlbigjools, https://code.edge.launchpad.net/~jml/launchpad/buildd-deferred-fo-sho/+merge/3618811:59
deryckMorning, all.12:00
jmlbigjools, https://code.edge.launchpad.net/~jml/launchpad/buildd-slavescanner-bustage/+merge/36187 is being tested in ec2 as we speak12:00
jmlbigjools, http://paste.ubuntu.com/498394/12:05
jmlnoodles775, have you disabled test_runAll_mails_oopses on devel?12:32
noodles775jml: no, I landed the testfix on db-devel only.12:35
jmlnoodles775, I see.12:35
jmlnoodles775, the failure is affecting my branches that are targeted at devel12:35
noodles775jml: can you reproduce it locally? or just on ec2 test?12:36
jmlnoodles775, I'll try to now.12:36
noodles775if it's just on ec2, and its your only failure, why not merge the testfix rev and land your brach?12:36
jmlnoodles775, yeah, I might do that.12:37
jmlnoodles775, still don't know if it's my only failure, only kicked off the test run three hours ago.12:37
wgrantBug 645127 is awkward.12:39
_mup_Bug #645127: Release files list wrong architectures for maverick <Soyuz:New> <https://launchpad.net/bugs/645127>12:39
jmlbigjools & I are just out for a couple of hours for lunch & errands.12:41
bigjoolswe are12:41
noodles775jml: See lifeless' comment on bug 644984 too... might be worth checking whether your ec2 run included that rev.12:41
_mup_Bug #644984: test_runAll_mails_oopses fails sometimes <Launchpad Foundations:New> <https://launchpad.net/bugs/644984>12:41
noodles775Enjoy :)12:42
gmbDear lib/lp/bugs/stories: Die in a fire. No love, Graham.12:47
=== al-maisan is now known as almaisan-away
wgrantFailed, but without a log or anything.13:16
wgrantMaybe failure counting.13:18
stubgmb: Can you think of anything in the checkwatches stuff that might be resetting the Python logging system?13:28
=== almaisan-away is now known as al-maisan
gmbstub, Not off the top of my head. Can you give me more context on the problem?13:34
stubI'm reworking logging for all the LaunchpadCronscripts and checkwatches isn't playing nice.13:36
stubI see a debugger in my future13:36
gmbstub, Checkwatches uses the default LaunchpadCronscript logging stuff as far as I know.13:37
stubYer, I can't see why things are misbehaving either.13:37
stubMaybe tomorrow with a fresh head13:38
bachi jam.  i just merged new devel with your branch and all of the previously failing tests pass locally.14:44
bacjam: if you could merge devel and push your branch back to LP i will send it directly to PQM14:44
bigjoolswgrant: the b-m was restarted at that time, I've retried it14:45
wgrantbigjools: Thanks.14:46
wgrantWas killing my scripts.14:46
wgrantWhy would it have ended up in that state, though?14:46
wgrantA little concerning.14:48
bigjoolsbut I'm not going to look into it since that aspect will be changing soon14:49
marsnoodles775, ping re: your feature flags branch14:50
noodles775mars: yup? Which one?14:50
marsnoodles775, either of them :)14:51
marsnoodles775, I was talking with Martin last night about a test helper for adding features14:51
marsI was looking at adding something to a new lp.features.testing module14:51
marsnoodles775, do you already have code to do this, and if so, have the branches landed?14:51
jambac: will do, though pqm merges into devel, right?14:52
jam(seems a bit spurious to merge devel to merge into devel)14:52
noodles775mars: I emailed the dev list with the code I'm using to create the flag in my test... but lifeless also replied pointing out that the memcached test is a better one to base it on.14:52
bacjam; you're right14:52
marsnoodles775, ok, then I'll copy the memcache test for my own helper.  Are you landing your work today?14:53
bacjam: i usually do it anyway just to ensure there are no conflicts14:53
bacjam: but i've proven that locally14:53
jamyeah, I just tested it, no conflicts14:54
jamstill want me to push that up?14:54
noodles775mars: the example that I pasted in the email is already landed on db-devel, but I was going to update it in another branch... but I'll wait until your helper is there.14:54
noodles775(my example was from lp.registry.browser.tests.test_series_views14:54
marsnoodles775, alright, that sounds good to me.  I'll let you know and reply to the list thread once it is coded.14:55
noodles775Great, thanks mars14:55
marsnoodles775, did you file a bug for the buildbot test failure XXX this morning?15:06
marsleonardr, did your branch with lifeless patch land?15:08
leonardrmars, it didn't land last night because i screwed up the commit message15:08
leonardrlet's see if it's landed now15:08
jmlmars, yes, he did. It's https://bugs.edge.launchpad.net/launchpad-foundations/+bug/64498415:11
_mup_Bug #644984: test_runAll_mails_oopses fails sometimes <Launchpad Foundations:New> <https://launchpad.net/bugs/644984>15:11
marsthanks jml.  Trying to coordinate the fix for this.  leonardr has something landing that may do the trick.15:12
leonardrmars: i'm still in pqm15:15
marsout of curiosity, how long has it been there?15:15
marsleonardr, ^ ?15:16
leonardrmars, less than 30 minutes, i'd say15:16
marsah, ok, np then15:16
jmlmars, PQM is taking about 30 mins per branch15:17
noodles775mars: yep, bug 64498415:17
_mup_Bug #644984: test_runAll_mails_oopses fails sometimes <Launchpad Foundations:New> <https://launchpad.net/bugs/644984>15:17
marsjml, yeah, that is why I was asking :/15:17
jmlmars, you should make it take less time15:18
jmlmars, that would be rad15:18
bachi matsubara, you were the last to upload the PPA for bzr-pqm to the launchpad PPA.  would it be easy for you to push the new version up for maverick?15:38
matsubarabac, I copied from the lucid archive to the maverick one. let's see if that will work. in case it doesn't, I'll try to build it again for maverick15:42
bacmatsubara: as usual, you rock!15:42
cr3gary_poster: about what you said yesterday that z3c.recipe.scripts should be my one stop shop, or something along those lines, I should replace zc.recipe.egg with z3c but what about zc.recipe.testrunner? should I also try to just use z3c.recipe.scripts unless I have a really good reason?15:47
gary_postercr3: I meant in comparison with zc.recipe.egg.  zc.recipe.testrunner has also been updated, so it's good to use15:48
gary_postercr3: I saw your email, but I kind of want to get to other tasks first.  Lemme review now since you are hear to see if I have any flyby comments...15:49
cr3gary_poster: ok, I started playing with it and I noticed a buch of repetitive lines in the array assigned to sys.path[0:0]15:49
cr3gary_poster: when you're ready, no rush. at least I have a pretty good grasp of the problem now, so I can workaround to continue working and wait a bit for a real solution15:50
gary_posterok great news cr3.  But rereading now...15:50
gary_postercr3: in regards to your patch, that code comes directly from your local site.py--which is at least a tiny bit odd TBH, because a clean Python generally does not ship with pkg_resources.  Is this maverick?15:54
cr3gary_poster: lucid15:55
gary_posterme too.  Py 2.6?15:55
cr3gary_poster: yep15:57
abentleygary_poster, have you ever dealt with itertools.groupby and security proxies?  It uses a custom iterator, so I had to return a redundant generator expression.16:01
abentleygary_poster, patch line 303: https://code.edge.launchpad.net/~abentley/launchpad/incremental-diff-driveby/+merge/3615616:01
cr3gary_poster: I'm starting to lean towards including pymodules within site.addsitepackages, but I'm not particularly comfortable with that16:01
gary_postercr3: as a workaround, whatever, I guess.  as anything that lasts longer than a week, "augh" and "horrible" come to mind. :-)16:03
cr3gary_poster: what's making me particularly uncomfortable about all the *.recipe.* scripts is that they don't seem to behave the same, so if a script is built with zc.recipe.testrunner, it might run just fine, but another script built with z3c.recipe.scripts, might not run at all :(16:03
gary_postercr3: they are built the same (they delegate in fact), so the difference is almost certainly configuration.  As I said yesterday, your config was broken, and I only fixed a bit of it.16:04
cr3gary_poster: I'll give the configuration a makeover then :)16:06
gary_posterabentley: I have not.  why don't you want the custom iterator security proxied?  (__iter__ is supposed to be always allowed, I think)16:06
abentleygary_poster, __iter__ was not allowed.16:07
jmlgary_poster, hello. I have a question that is co-incidentally related to abentley's question.16:07
gary_posterabentley: can I put you in the queue or do you need this now?16:07
jmlgary_poster, I would like to return Deferreds from things that are wrapped in the security proxy16:07
abentleygary_poster, I want the custom iterator to have the same behaviour as the generator expression does.16:07
abentleygary_poster, you can queue it.16:08
gary_posterjml, I repeat the same question I gave abentley.  My stack is pretty deep right now, and I'd like to move to a queue instead :-)16:08
gary_posterthanks abentley16:08
jmlbut of course, when you try to use those Deferreds, you guess... ForbiddenAttribute: ('addErrback', <Deferred at 0xd4cef80  current result: ('BuildStatus.Building', 'OkSlave BUILDING')>)16:08
jmlgary_poster, sure. I'll puzzle it out myself for the nonce.16:08
gary_posterI'll try to get back to you guys in just a few16:08
bachi mrevell16:15
mrevellhey bac16:16
dobeyon a bug when i "Target to release" and select multiple series for a project, how do i know which series a bug_task is for, when looking at the tasks on a bug in the API?16:16
bachi mrevell, i need your wise cousel on some wording changes16:16
bacit was "3 active reviews or unmerged proposals".  i found that to be a mouthful, cluttery, and it broke my portal.16:17
bacmrevell: i'd like to just say "3 active reviews"16:17
jmlbigjools, http://paste.ubuntu.com/498561/16:31
gary_posterOK, abentley.  If you look for _iteratorChecker in eggs/zope.security-3.7.1-py2.6-linux-x86_64.egg/zope/security/checker.py you'll see what default iterator security checkers are provided to let iteration through.16:32
gary_posterYou can provide your own for whatever builtins also--don't do it thoughtlessly, because it does have security implications, of course, but I think your example is perfectly fine--in lib/lp_sitecustomize.py for now.  You'll see something similar there already for bzr bits.16:32
gary_posterIf, as I understand, the problem you are having is with a Python builtin, that should actually go in zope.security eventually.  If you would file a bug in https://bugs.edge.launchpad.net/zope.security I would appreciate it.16:32
gary_posternow moving on to jml...16:32
jmlgary_poster, done :)16:32
jmlgary_poster, well, sort of.16:32
jmlgary_poster, but I'd love to hear your opinion.16:32
jmlgary_poster, as I see it, there are two approaches: defining Deferred in our zcml as a class with allowed attributes, or doing something directly with checkers in lp_sitecustomize.py16:34
jmlbigjools, ^^16:34
jml(which, incidentally, I only just learned about)16:35
jmlgary_poster, is either preferable to the other, really?16:35
gary_posterjml, for the original intended use case of the security system, I think we would need to think hard about whether things like addErrback and other mutation-y things should be allowed generically.  In our case/usage, I think the clear answer is "yes."  Therefore, I'd register something allowing access to the whole deferred API.  My mechanism preference is ZCML because the deferred is not a builtin and not an oddba16:36
gary_poster"look, just allow all the bzr branch classes hierarchically please".16:36
gary_posterSo, just for consistency, doing it in zcml is preferred IMO16:36
jmlgary_poster, ok, thanks.16:37
jmlgary_poster, fwiw, addCallback and addErrback are essentially necessary to actually use a returned Deferred object.16:37
gary_postercan't you look at the result without them?16:38
gary_posterthe current result16:38
jmlgary_poster, only if it has fired.16:38
gary_posterah, of course16:38
=== gary_poster is now known as gary-lunch
jmlbetter is asynchronous when you are everything.16:39
tyarussoOkay, has *anyone* managed to get a production Launchpad instance up and running from the available code, including identity provider?  I can't for the life of me get it all working from the READMEs...close, but no cigar.16:41
=== benji is now known as benji-lunch
=== al-maisan is now known as almaisan-away
jmlbigjools, can you pls approve this here: https://code.edge.launchpad.net/~jml/launchpad/recipebuilder-expect-deferred/+merge/3633617:16
=== EdwinGrubbs is now known as Edwin-lunch
dobeyhrmm, should i poke someone in particular re: bugs api?17:28
rockstardobey, any one of the following: deryck, gmb, allenap, adeuring, bryceh, or bdmurray.17:29
* rockstar is feeling all nostalgic at the PQM queue.17:29
deryckI was about to break for lunch.  Maybe gmb or adeuring can help with the question.17:35
deryckbut what was the question dobey?17:36
dobeyon a bug when i "Target to release" and select multiple series for a project, how do i know which series a bug_task is for, when looking at the tasks on a bug in the API?17:36
dobeyderyck: ^^ that :)17:37
=== Ursinha is now known as Ursinha-lunch
deryckdobey, so how do you get from bugtask-->series via the API?17:37
deryckis that the question?17:37
dobeyyeah. if there's a bug which affects multiple series of a project, the bug magic in tarmac doesn't work right, and i'm trying to fix it, but i don't see an obvious way to get the series id for the bug task17:38
deryckdobey, it's not exported, I don't think.  Looking to confirm....17:39
bdmurrayat least with Ubuntu I believe it appears in the bug target name17:39
bdmurraybut you have to parse the string which is rather lame17:40
dobeybdmurray: like "ubuntu/lucid"?17:41
=== gary-lunch is now known as gary_poster
deryckyeah, it's definitely not exported.17:42
bdmurraytask: upower (Ubuntu Maverick)17:42
bdmurraydobey: ^17:42
dobeywell that's the display name17:43
dobeyok it looks like bug_task.bug_target_name has the information, but i have to parse it a bit and do some magic17:48
bdmurrayyes, that's what I was saying17:50
dobeyi suppose i should file a bug against malone to expose it properly, too17:51
deryckdobey, yes, please.  Though I'm curious for such an obvious thing why it was never exported before.17:52
deryckmaybe just oversight17:52
=== beuno is now known as beuno-lunch
=== benji-lunch is now known as benji
=== deryck is now known as deryck[lunch]
dobeycould be17:59
jambac: \o/ it landed :)18:10
jamquick question to anyone, when does db-devel and devel get synchronized?18:18
jmljam: db-stable is merged into devel post-release18:25
jmljam: stable is merged into db-devel as soon as there's a change to stable.18:25
dobeyok, another question. how do i get the series for a merge proposal or branch, from the API? :)18:25
jmljam: https://dev.launchpad.net/Trunk18:26
dobeyoh, probably have to parse branch.name perhaps? or the target bzr_identity?18:26
jmldobey, not all branches have a series18:27
=== Ursinha-lunch is now known as Ursinha
dobeyjml: yes, but for the ones that do?18:28
dobeyany branch of a branch that has a series, has a series, right? :)18:28
dobeyok. well for the proposals/branches that do have a series, how do i get the series id from the API for that proposal/branch?18:30
jamjml: in all fairness, I don't see where on that page it says when db-stable is merged into devel18:32
jmljam: oh, I think there's another page somewhere18:32
jmljam: sorry, I had meant to say "Here's where you can learn more", rather than "Here's where you should have checked"18:33
jamit seems to describe the forward links (devel => stable => db-devel => db-stable)18:33
jmljam: multi-tasking.18:33
jamwhich I think I did know, but was good to refresh18:33
jmlmaybe that mentions a thing.18:33
jmlgot wiki edit?18:34
jamI believe so, I'll put a quick bit in the "Where's trunk" blurb18:35
jamI don't think I have a good way of updating the graphs :)18:36
jamjml: thanks for the info, page updated18:38
dobeyso i guess the answer is that it's impossible to get a series from a branch or proposal? :(18:46
jmldobey, I don't know, sorry.18:50
bachey jam, in the future be sure to have a conversation with your reviewer about landing the branch.  i think i just assumed you could do it.  thanks again for the fix.18:51
jmldobey, if I were trying to figure it out, I'd look in the Launchpad codebase to figure out how bzr_identity works18:51
jmldobey, remember also that a branch can be linked to many series.18:51
=== beuno-lunch is now known as beuno
=== deryck[lunch] is now known as deryck
lifelesswgrant: I did18:53
dobeywell that's no good18:54
lifelesssinzui: hey, in a bit I'd like to talk about 'project group milestones'19:13
lifelesssinzui: are you popping out early or anything?19:13
sinzuilifeless, no I will be unavailable for about 30 minutes in 1h to get children.  We might extend project group milestones to include getting milestone assignees in a single query :)19:21
=== Edwin-lunch is now known as EdwinGrubbs
m4n1shwhich version of oauth does LP use?19:27
jamanyone know why 'bin/run' in my working tree is adding lp-branches/devel/lib to the path rather than adding ./lib to the path?19:39
jamok, that is just my fault running in the wrong directory.19:42
* jam hides19:42
abentleygary_poster, thanks, I was able to solve it with your tips.  Filed as bug #64546919:54
_mup_Bug #645469: No checking policy for itertools.groupby <zope.security:New> <https://launchpad.net/bugs/645469>19:54
marsbac, ping20:00
bachi mars20:00
rockstarPlaying music with flash and doing `make schema` is a surefire way to crash X for me now.  Happens every time.20:20
marsrockstar, you may want to hunt a bug # down for that.  Or you could ask Bryce - he knows a bit about the topic ;)20:26
rockstarmars, yeah, these bugs only crop up when I have things to do, so I only notice them then.20:26
rockstarabentley, got a quick second to chat?20:32
abentleyrockstar, sure.20:32
lifelesssinzui: hi20:39
lifelesssinzui: could we perhaps do voice?20:39
lifelesssinzui: ah, you're still out, mea culpa :P I shall ping again later20:39
lifelessgary_poster: I forgot one thing :)20:49
lifelessgary_poster: chameleon - have a look at jtv's landing last week-or-so for distroseries:+templates20:49
lifelessgary_poster: 7000 rows or something crazy - from db and rendered in 2 seconds.20:49
lifelessgary_poster: by avoiding canonical_url, and tales20:49
marslifeless, do you have a moment to informally review some code for the features test helper I created?20:54
marslifeless, http://pastebin.ubuntu.com/498725/, lines 91 and 92 are the meat of it20:59
lifelessscope seems unneeded21:00
marswasn't sure21:00
lifelessits an orthogonal concern, it should be an orthogonal helper.21:00
lifelessit will confuse and mislead people I think21:01
lifelessthe only code that is permitted to be concerned with scopes is the scope code itself21:01
gary_posterlifeless: cool21:01
lifelessall code being controlled by features has to be scope-ignorant21:01
lifelessmars: you don't need to add them to the database you know, you can just use a in memory feature controller21:02
jcsackettdoes anyone know why calling fmt:link on a sourcepackage (e.g. replace=" structure sourcepackage/fmt:link") would seem to only provide an actual link if you're logged in as admin on launchpad.dev?21:02
lifelessbut thats not really important either way.21:02
marslifeless, yes, but for the first round I was just going to do this.  But I agree in-memory would be much nicer.21:03
marsthat is one advantage of the per_thread thing I guess21:03
lifelessthat looks good21:03
lifelessmars: no, the per_thread thing is a workaround for us not having a consistently available 'context' throughout the system.21:04
lifelessmars: thanks for doing this ;)21:04
lifelessdon't forget the 'from __future__ import with_statement' though21:04
lifelesswe're still not python 2.6.21:04
marslifeless, np.  This only works for unit tests now.  The API doesn't lend itself to setting and unsetting on views or doctests, again because of the per_thread thing.21:04
marsgood poing21:04
Ursinhasinzui, hi21:05
lifelessmars: if you use a Fixture (from fixtures import Fixture), then in a doctest you can do 'fixture = FeatureFixture('foo'='123'); fixture.setUp()' .... 'fixture.cleanUp()'21:05
Ursinhasinzui, about bug 540890, I'm not sure which oopses you want to have removed21:06
_mup_Bug #540890: exclude robot posts from reports <OOPS Tools:Triaged> <https://launchpad.net/bugs/540890>21:06
marslifeless, an in-memory controller would be nicer for that actually.  MockFlagsController.set_flag()21:06
lifelessI should add a contextmgr->fixture adapter to fixtures21:06
marslifeless, ah!  I was wondering about that21:06
marsthe fixtures bit21:06
lifelessand fixtures are context managers, so can also use with21:06
lifelessmars: one small thing21:07
lifelessrather than {dict of flags}21:07
marsfoo(key=value) ?21:07
lifelessnever mind, the apis aren't close enough21:07
lifelessyeah, but key can have . in it.21:07
marsor ':'21:07
lifelessmight be able to do something with **kwargs magic, but its a little freaky.21:07
marsas you want to do with page IDs21:07
lifelessso lets not.21:07
sinzuiUrsinha, The spam oopses in bugs (tcquery) and rdf oopses are caused by bots. We seem to have decided not to fix the spam inject attacks21:08
lifelessgary_poster: yeah, its cool; thought that it might be a nice reference point for how to make a page fly.21:08
Ursinhasinzui, do we have useful caused-by-robots oopses?21:09
matsubarasinzui, crazy idea, how about removing all robot triggered oopses from the reports?21:10
sinzuiI am not sure.21:10
lifelessUrsinha: yes, if they follow a local link21:10
lifelessmatsubara: I'm not entirely keen on that.21:10
sinzuiUrsinha, the attacks have no referer21:10
lifelesssinzui: the spam injection stuff is on my radar.21:10
marsmatsubara, think of it as free fuzz-testing for our site!21:10
lifelesssinzui: but I'm focusing on performance first21:11
matsubaraok, sounds like a good criteria then, all robots with no referrer shouldn't appear in the reports21:11
sinzuiWe fixed registry and answer spam vectors last December21:11
lifelessmatsubara: anything without a referrer shouldn't appear.21:11
lifelessmatsubara: for 404's.21:11
matsubarathat way we keep the benefit of free fuzz-testing and ignore robots triggering oopses we don't care about21:11
sinzuiBlueprints is also attacked once or twice a month21:12
matsubaralifeless, that's one of the fixes we've been working on21:12
lifelessmatsubara: hang a second; are we talking 404s or all oopses.21:12
lifelessmatsubara: because its *only* 404's that I'm talking about. Other oops are important to see.21:12
matsubaraactually Ursinha just uploaded the branch with that fix21:12
lifelessI'm confused; could we start over?21:13
matsubaralifeless, any oopses triggered by a bot with no referrer header21:13
lifelessmatsubara: I think thats too broad.21:14
lifelessmatsubara: I would be happy with 'any NotFound with no referrer header'.21:14
lifelessmatsubara: I don't think it matters whether its a bot or a human, do you? made up urls that don't exist are not interesting from a QA perspective.21:14
matsubaralifeless, filtering only NotFounds wouldn't help sinzui's use case as reported on https://bugs.edge.launchpad.net/oops-tools/+bug/54089021:15
_mup_Bug #540890: exclude robot posts from reports <OOPS Tools:Triaged> <https://launchpad.net/bugs/540890>21:15
lifelessmatsubara: thats true, but the other exceptions are important. I disagree about us not fixing them.21:16
lifelessmatsubara: we have many things we haven't fixed yet; those are definitely on the list-to-fix as far as I'm concerned.21:17
sinzuilifeless, matsubara. I would be equally happy with all the search vectors patched. I get tired of reading the monthly super barrage of attacks to all locations21:17
lifelesssinzui: getting rid of the 404's with no referrer will help, though it will leave the attacks in place. We will get to them.21:17
jamlosa ping, I have some questions about deploying a new service as part of launchpad, and I want to make sure I've worked out what you guys need, etc.21:17
mbarnettjam:  sure.  hit me, and if i don't think i can give you a complete answer, i might ask you to email us so that everyone gets a chance to chime in.21:18
jammbarnett: so I have this merge-proposal up: https://code.edge.launchpad.net/~jameinel/launchpad/lp-service/+merge/3587721:19
jamwhich adds a new service as part of the "bzr+ssh" chain21:19
jambasically, it is something that can fork itself to provide better connection times21:19
jamrather than execing a new python process21:19
jammbarnett: as such, it will be running on the same machine that runs the Conch server now (I believe that is crowberry)21:20
lifelessmatsubara: sinzui: Unless there is a strong argument for why we will never have a successful attack via robots triggering exceptions, I really feel we should only filter NotFounds.21:20
matsubaralifeless, well, it's not that we're not going to fix, it's just that we won't list those specific oopses in the reports. I think one of the ideas is to make the reports more useful to the devels, and having thousands of oopses in the reports that are affecting a bunch of misbehaving bots shouldn't be a priority21:20
mbarnettjam: it is21:20
jamsince it is a running service, it seems like something the losas need to know about, so I need to get documentation put somewhere21:20
jamI don't really know where that would be21:20
jamalso, we'd like to work out a way to stage its deployment21:21
sinzuilifeless, I reported the bug on flacoste's behalf, as I said, I fixed the apps I have domain over21:21
jamnamely, once this code lands, we would want to activate it on staging21:21
jam(via a lazr.conf setting)21:21
jamand then eventually roll that flag out to production21:21
sinzuilifeless, the attaches started in Nov 200921:21
mbarnettjam: yeah, we will need to know a few things.. a) how to monitor it to ensure it is functioning as intended b) expected performance characteristics (how to measure if it is succeeding and c) resource profile (what additional load it is expected to put on the server and and d) how do we make it not fork us to death  :)21:21
lifelessI feel uncomfortable that the injection vectors are not totally fixed.21:22
lifelessI feel terrified at the idea of having that grow or change and not seeing it.21:22
jammbarnett: well, should this be in documented form, or is irc chat sufficient :)21:22
lifelessI think that the exceptions should just be fixed, we shouldn't route around it : it is a bug, it is important.21:22
jama) I did add support for making a 'hello' request on its socket21:22
lifelessNotFound w/no referred isn't a bug, and it isn't important (because we handled it successfully)21:23
jamI can have it report whatever information you would like21:23
mbarnettjam: that is an interesting question.  I think it would be worth it to have it in a place other than scrollback.  either email or a wiki page.21:23
jamwhich might be a good thing to integrate into the existing service reporting stuff (what is the name of it?)21:23
jam(Acorn or something like that?)21:23
lifelesssinzui: would it be ok for 'ProductSeries.milestones' to return the Product milestones too ?21:24
gary_posterEdwinGrubbs: hi. :-) does your OOPS format work address bug 635254, directly or indirectly?21:24
_mup_Bug #635254: oops request timeline should be richer <oops-tools> <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/635254>21:24
jamd) It will be logging to a file, and where should that file be located, and we want to make sure it gets sync'd to devpad like other log files21:24
sinzuilifeless, I do not think so, I can move a product series to a different product to move the milestones... and I have no intention of moving other milestones21:25
jamb) the service itself should be responsive within <1s I would expect, since it does very little before forking and handling the rest there.21:25
lifelesssinzui: ah. Then how about I add a 'vocabulary_milestones' to the milestone contract21:25
sinzuilooks like the prescription spammer's mailer just hit the openjdk list21:25
jamhowever, I don't have a great idea about 'load'. I can say we usually have 20+ concurrent ssh connections, but I don't know the number of new connections/second21:26
lifelesssinzui: the vocab is doing too many queries; its one of the causes of slow21:26
sinzuiyes, then optimising that would be a very good idea21:26
jammbarnett: as an example, one graph right now: https://lpstats.canonical.com/graphs/CodehostingPerformanceStaging/ this should change that graph to be much lower21:27
mbarnettjam: heh21:27
jam(times locally show 2.5s to connect, dropping to 0.5s which seems 95% ssh overhead)21:27
EdwinGrubbsgary_poster: although I have been thinking about the different formats we will want for individual fields, my work mainly involves making it easier to separate different multiline fields.21:27
gary_posterEdwinGrubbs: so it's fair to say that your work will make these distinctions possible, even though that's not the primary focus of your work?  If so, would it be ok to assign the bug to you?  (If not, of course, I won't :-) )21:29
marslifeless, when you spoke of using a fixture for the feature flags, did you mean lp.testing.fixtures ?21:29
lifelessmars: no, 'fixtures'.21:29
marslifeless, hmm, bin/py says we don't have that module21:29
lifelessmars: then you have an old branch21:29
marsor goofed-up dependencies21:29
EdwinGrubbsgary_poster: I don't think I will be allowed to work on it after I get my current branch landed. It's take surpisingly long as it is.21:30
gary_postermars, have you communicated our shared confusion about feature flags, and do you now have knowledge that you can share with me at a later date? :-)21:30
jamc) resource profile => should actually decrease versus what we do today21:30
gary_posterEdwinGrubbs: ack, fair enough.  Thank you.21:30
marsgary_poster, yep, and I am writing the test helpers now so everything becomes easier21:30
jamthe service itself should have low resources, <= 1 bzr serve process21:30
jamand it should save some load by forking rather than starting up a new process21:30
* gary_poster cheers in mars' direction21:30
lifelessmatsubara: sinzui: on the oopses; if I haven't convinced you about the non-404's, can you perhaps mail the list so we can have a broad discussion.21:30
jamand having that process do all the IO of importing lots of python code21:31
lifelessI have to run out for a bit. I will be back soon.21:31
jamalso, it does log the rusage() of its subprocesses, which might be good to hook into some sort of report, since it may help us figure out bzr+ssh overhead issues21:31
mbarnettjam: would you mind capturing what we chatted about in here in an email, and appending your operational questions (where to log to, etc..) and shooting that over?  I think this is a significant enough change (since it affects everyone using codehosting) that it would be good to have this conversation in a more explicitly inclusive way...21:32
jammbarnett: also, "email us" who is us and what is your email address :)21:32
marsgary_poster, I am having some trouble picking up the 'fixtures' package in the eggs directory.  I have run 'make clean && make', but it still will not find the module.  It is not in sys.path according to bin/py.  Do you have moment to help debug this problem?21:45
gary_postermars, sure.  where's a branch?21:45
marsgary_poster, devel21:45
marsgary_poster, actually21:45
marswait a sec...21:46
lifelessk, back21:47
marsgary_poster, argh, it is something with the setup.  This is in a lightweight checkout I have of devel.  lp-branches/devel knows about the module.  lp-branches/dev (my checkout) does not.21:47
marsstale .pyc files maybe?21:48
gary_postermars, ? Don't know enough about what you are talking about.  Do I need to care, or not? :-)21:48
marsI thought 'make clean' killed those21:48
gary_posterdoesn't look like it21:48
marsok!  That is a likely candidate then21:49
bdmurrayshould getting ReturnToReferrerMixin to work require much effort?21:49
gary_posterbut getting the pyc files out of whack involves having to do odd things like touching the pyc files, or changing the py file *really* fast21:49
gary_posterafter it has been compiled21:50
marsgary_poster, ?  Why not make the clean target nuke them all with 'find -iname *pyc -delete' ?21:50
gary_postermars, you could I guess, only in lib, but Python is really supposed to handle that for you21:51
marsah, wait21:51
marsmake clean does kill them21:51
lifelessmars: try21:51
lifelessmars: a) check that versions.cfg lists it21:51
* gary_poster repopens makefile21:51
lifelessmars: run bin/buildout21:51
marslifeless, heh, I thought you were advocating for empirical evidence: 'try running "make clean" and see what happens :)21:52
marsgary_poster, line 343 does it21:53
gary_postermars yes it does, sorry.  I was looking for pyc in Makefile but it is -name '*.py[co]'21:53
marslifeless, so it is in the versions.cfg list - that means the code would not build if it could not find it21:53
mars... this goes to a bad place - something wrong with z3c.recipe.scripts ? :(21:54
lifelessmars: now, run 'bin/buildout' no options.21:55
gary_postermars, lifeless, versions.cfg only has to do with specifying versions21:55
gary_posterit has nothing to do with choosing software21:55
lifelessgary_poster: ok21:55
gary_posterthat is done in setup.py21:55
lifelessgary_poster: thanks21:55
gary_posterversions.cfg is separate because it needs to handle dependencies as well21:56
gary_posteras well as recipes21:56
gary_posterand anything else buildout happens to tickle21:56
lifelessmars: I found that after running bin/buildout it works, when I first added it21:56
thumpergary_poster: want to have a quick catch up call?21:56
gary_postersure thumper21:56
gary_posterready any time21:57
marslifeless, gary_poster, and now it works!  On the third try! ARGH.21:58
marslifeless, gary_poster, thank you for the help21:58
cr3gary_poster: fyi, all is well with my buildout now22:00
lifelessthumper: so, how do you want to do this?22:01
=== Ursinha is now known as Ursinha-afk
=== salgado is now known as salgado-afk
lifelesswhat fantastic thing should I do today22:24
marscut the test suite runtime in half?22:27
lifelessI wonder if I could do that22:32
marslifeless, btw, here is the code as a FeatureFixture: http://pastebin.ubuntu.com/498766/22:34
lifelessmars: thats a bit unidiomatic22:35
mwhudsonlifeless: no downtime rollouts for cronscripts22:35
lifelessone sec and I'll give you an alternative22:35
marslifeless, have an idiomatic example?  I assume you mean the addCleanup bit22:35
lifelessmars: http://pastebin.ubuntu.com/498773/22:37
lifelessmars: basically all the closures are unneeded22:38
lifelessmwhudson: that would be lovely.22:38
marsyep, as I thought22:38
marsoh neat, pulling it inside the loop like that22:39
marsif the loop blows up, then the cleanup still happens too22:39
lifelesswell, if cleanUp gets called, but yes.22:39
lifelessits closer to being correct :)22:39
lifelessjml: where did we leave our parallel testing spike for lp22:40
jmllifeless, lp:~jml/launchpad/dirty-parry is the closest I've got22:40
lifelessI'm thinking of this as a strategy:22:40
lifeless - teach testrepository to run partitioned copies22:41
jmllifeless, but I've massively screwed with our ec2 tools since then22:41
lifeless - start working up parallel-safe layers, from db up - incrementally more capable.22:41
jmllifeless, parallel-safe == more than once on the same machine?22:43
_mup_Bug #107371: Make the test suite able to be run in parallel on a single machine <build-infrastructure> <feature> <test-system> <Launchpad Foundations:Triaged> <https://launchpad.net/bugs/107371>22:44
jmllifeless, I think that is a win independent of testr improvements.22:44
lifelessI agree.22:44
lifelesshowever it will be easier to get a feel for the thing if I can run a single partitioned run :)22:45
jmlfair enough.22:45
lifelessjml: I think I know why some tests don't run properly via testr after ec222:45
jmllifeless, why?22:46
lifelessstories have a test id that a) is mangled - the path thing we talked about , but b) doesn't represent a runnable test.22:46
jmlIt's because you haven't reviewed my incremental failure branch, isn't it?22:46
thumperlifeless: we have the UDD meeting shortly22:56
thumperlifeless: but after that we can skype to talk through the xmlrpc issue22:56
lifelessUDD meeting?22:57
thumperlifeless: have you not been told?22:57
thumperlifeless: you should be there I think22:57
thumperlifeless: on #ubuntu-meeting IIRC22:57
wgrantCan someone check buildd-manager logs to see what happened to https://edge.launchpad.net/ubuntu/+source/firefox/3.6.10+build1+nobinonly-0ubuntu3/+build/1970234? The state it's in is not one that can actually occur, and it be breaking my scripts.22:58
wgrant(plus it's not really awesome to have broken builds, since release is in two weeks)22:59
lifelesslosa ping ^ where are these logs?23:00
mwhudsonwgrant: surely it's ok for such an unimportant package!23:00
* mwhudson runs away23:00
lifelesson ppc23:00
wgrantlifeless: They're on devpad, from cesium.23:00
lifelesswgrant: after this meeting, yes.23:00
wgrantlifeless: Thanks.23:00
mwhudsonwgrant: failed to build but with no log?23:01
lifelesswgrant: perhaps its the new das disable flag?23:01
mwhudsonhilariously it looks like devpad has faceplanted23:01
james_wshouldn't affect powerpc?23:01
wgrantmwhudson: No log, or builder, or times.23:01
lifelessI thought ppc wasn't supported23:01
lifelessclearly I'm wrong23:01
wgrantIt's not *supported*.23:02
wgrantBut it is there.23:02
wgrantIt is the only remaining community port.23:02
mbarnettwhat he said.23:02
james_wwgrant: maybe a repeated failure in dispatch?23:02
james_wI guess that's why you are asking for the logs...I'll shut up23:02
lifelessmbarnett: thanks23:03
mwhudsonthat code isn't deployed yet though is it?23:03
wgrantmwhudson: It was in 10.09.23:03
=== Ursinha-afk is now known as Ursinha
wgrantlifeless: Do we have per-pageID timeouts on edge yet?23:13
lifelessno, matsubara's branch hasn't landed23:14
bdmurrayshould getting ReturnToReferrerMixin to work require much effort?23:15
lifelessjames_w: when that 401 happens, does it perhaps take a long time to answer?23:57
james_wlifeless: no idea23:57
lifelesshave you filed a bug ?23:57
james_wI've not seen it in interactive use23:57
lifelesscould you?23:58
james_wlifeless: oh, I missed the response body at the top23:59

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