/srv/irclogs.ubuntu.com/2010/08/26/#launchpad-dev.txt

lifelesswgrant: are you looking at the same url ? if so, sure00:01
lifelessspm: is OOPS-1698EA2488 mirrored yet ?00:02
lifelessor something wrong with lp-oops ?00:02
lifelesswgrant: 4.18 seconds, hitting it again.00:03
lifelesswgrant: so it -can- be fast; we may have caused disk io00:03
mwhudsonworking on blueprints presents interesting challenges01:17
mwhudsonlike not trying to fix absolutely everything01:17
wgrantDelete delete delete.01:18
mwhudsoni mean really01:40
wgrantHm?01:42
mwhudsonoh sorry just venting02:00
mwhudsonand some silly code02:00
thumpermwhudson: I feel your pain02:13
thumperbeen there02:13
lifelessmwhudson: have you looked at the query counts for blueprints02:23
mwhudsonlifeless: no, but given the naivety of the code i've just been looking at, i imagine they might be crazy02:52
mwhudsonthumper: you around ?02:59
thumperkinda02:59
mwhudsonthumper: can i call you at some point?03:03
mwhudsonno massive hurry03:03
thumpersure, I'll ping you03:03
mwhudsoncool03:03
mwhudsoni think i'm going to end up with another preparatory branch03:04
mwhudsonfirst was: move code i want to change03:04
mwhudsonsecond looks like being: de-stupid code i want to change03:04
mwhudsonOMG03:06
mwhudsonls lib/lp/blueprints/stories/blueprints03:06
mwhudsonsequential page tests!03:06
lifelessmwhudson: almost certainly03:08
gary_postereek: I haven't used make lint in a while, and I just ran it on a branch.  it seemed to have linted just about every file in the tree.  That wasn't particularly useful.  ./bin/lint.sh doesn't seem to point to any glaring mistake I made either :-/03:09
mwhudsongary_poster: if there are no changed files (bzr st) it should do a diff against the parent (bzr info) i think?03:10
lifelessgary_poster: did you have any uncommitted files ?03:10
lifelessif not - what mwhudson said03:10
gary_posterno uncommitted files03:10
lifelessgary_poster: while you're here03:10
lifelessgary_poster: did you see the thread on lp dev about scripts and participations ?03:11
mwhudsongary_poster: bzr st -r parent: ?03:11
gary_posterbzr: ERROR: Requested revision: u'parent:' does not exist in branch: BzrBranch7('file:///home/gary/launchpad/lp-branches/devel/')03:11
mwhudsonheh, that just blew up for me03:11
lifelessif you didn't, mwhudson and I would appreciate your thoughts03:11
gary_poster parent branch: bzr+ssh://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/03:11
lifelessmwhudson: :parent I think03:11
mwhudsonlifeless: oh right, that's what blew up03:12
gary_postercrashed for me03:12
mwhudsoni just said the wrong thing to gary03:12
gary_posterlifeless: I saw it fly by but did not look closely; will look03:12
mwhudson"ReadOnlyError: A write attempt was made in a read only transaction on LockableFiles"03:12
gary_posteryeah, same here03:12
lifelessmwhudson: personally, I'd do 'bzr st -r ancestor:..'03:12
lifelesswhere ... is (for me) ../devel03:13
mwhudsonlifeless: ah yeah, probably better03:13
gary_posterbzr st -r ancestor:../devel/ gives me the kind of list I expected make lint to use03:14
=== Ursinha-afk is now known as Ursinha
* gary_poster will try make lint again for amusement sake03:14
gary_postereek, no03:15
* gary_poster googles "bzr set parent branch"03:16
mwhudsongary_poster: maybe you should just fix all the lint in the tree!03:18
gary_posterthanks a lot mwhudson :-)03:18
gary_posterOK, so I think this is the problem:03:19
gary_posterparent branch: bzr+ssh://bazaar.launchpad.net/~mars/launchpad/lsprof-on-demand/03:19
gary_posterI want it to be my local devel (or a remote devel, whatever)03:19
mwhudsonah yes03:19
mwhudsoni think bzr pull --remember will set parent03:20
gary_posterI tried bzr merge --remember ../devel/03:20
mwhudsonalthough of course bzr pull won't actually work03:20
mwhudsongary_poster: vim .bzr/branch/branch.conf is probably as easy as anything :/03:20
gary_posterok :-/ if it works that would be good though :-)03:21
mwhudsoni don't know if the --remember config setting happens before or after the 'pull' part03:23
gary_posterall fixed, thank you03:23
mwhudsonaararargh03:25
mwhudson        if (ISpecification.providedBy(self.context) and03:25
mwhudson            specurl == getattr(self.context, 'specurl')):03:25
mwhudson            # The specurl wasn't changed03:25
mwhudson            return03:25
mwhudsonwhy getattr there?03:26
gary_posterlifeless: I have to go, but you were talking about the email thread from this week titled "performance tuesday - transparency," right?03:37
mwhudsongary_poster: yes03:58
gary_posterok, will read and reply tomorry03:58
thumpermwhudson: it is just there to make you tear your hair out04:20
thumpermwhudson: shall I get a coffee before our call?04:20
mwhudsonthumper: a cunning plan04:20
mwhudsonthumper: yeah, i've become distracted by the craptitude of this code, i need to remember what i wanted to talk to you about :-)04:21
thumper:)04:21
mwhudsoni want to cry04:24
* spm hands mwhudson a box of kleenex04:25
spmsynmpathy from a losa only goes so far.....04:26
wgrantHow long is it since Blueprint was maintained? 3ish years?04:28
ajmitchpossibly because it drives people mad?04:38
mwhudsonit's a bit of a chicken and egg problem there04:40
mwhudsoni'm making a small corner of it better at least04:40
jtvwgrant—hi!  Say, how is BuildFarmJob coupled to a Job or BuildQueue?  Is there any chance that the state of a BuildFarmJob fell out of sync with that of the Job?04:41
jtvWe've got a bunch of TranslationTemplateBuildJobs that were starved out of the build farm as far as we can tell, but now the build farm is mostly idle again and those jobs aren't being picked up.04:42
wgrantjtv: Yes, there are a few ways they can become inconsistent.04:42
wgrantAlthough less for translations jobs.04:42
wgrantlet's see...04:42
wgrantjtv: The i386 virt queue is still 500 items and 11 hours deep.04:43
wgrantThat's not what I'd call idle.04:43
jtvah04:43
jtvso many i386 builders idle… all nonvirtual?04:43
wgrantYes.04:43
jtvoic04:43
wgrantThere used to be just three, but as of yesterday there are five.04:44
wgrantI'm not sure where all the virt builders have been for the last week.04:44
jtvso that ought to help a little04:44
wgrantHow?04:44
wgrantTranslations jobs build on virt builders.04:44
wgrantSo the extra non-virt ones just slow down buildd-manager for you :)04:44
jtvOh, the extra ones are non-virtual.  I misunderstood that.04:45
wgrantThere are normally 15 or so i386 virt builders.04:46
wgrantNow there are 6.04:46
jtvthat'd explain a few things…04:46
jtvwgrant: I don't see anything that would associate a BuildFarmJob with a Job or BuildQueue.  How does it connect to things?04:47
wgrantjtv: Ha ha ha.04:48
wgrantjtv: Well.04:48
wgrantjtv: http://people.ubuntu.com/~wgrant/launchpad/buildfarm/current-build-model.png04:48
wgrantThat's how it roughly is at the moment.04:49
wgrantExcept that it's been partially converted to http://people.ubuntu.com/~wgrant/launchpad/buildfarm/new-build-model-again.png04:49
wgrantBut the link tables (BuildPackageJob, SourcePackageRecipeBuildJob) are still in place.04:49
jtv(That's a relief, because I didn't see any BuildFarmJob at all in the former)04:49
jtv(I still say the arrows look the wrong way around to me)04:50
wgrantThe parts of the new model that have so far been adopted are the merging and splitting of BinaryPackageBuild and SourcePackageRecipeBuild into BuildFarmJob, PackageBuild, BinaryPackageBuild, and SourcePackageRecipeBuild.04:51
wgrantYes, shutup :P04:51
wgrantEverything else hangs on the translations jobs being ported to sit on top of BFJ.04:51
wgrantBuildPackageJob and other link tables need to remain in place until we have you off the old infrastructure.04:51
* jtv is disappointed to see that shaking his head doesn't clear the cobwebs04:53
wgrantHmm?04:54
jtvIt's just dizzying.04:54
jtvBeing somewhere inbetween these two schemata.04:55
wgrantYes :(04:55
jtvWith the arrows—sorry, but it's really not helping!—all pointing the other way.04:55
jtvwgrant: also, I _still_ don't see how the translation template build jobs are linked to buildfarmjobs.04:59
wgrantjtv: Even in the second diagram?04:59
wgrantA TranslationsTemplateBuild has a BuildFarmJob and a Branch.04:59
jtvwgrant: I mean in the current schema—there being no TranslationTemplatesBuild table.04:59
wgrantAh.04:59
wgrantIn the current model, they're not linked to a BuildFarmJob.05:00
jtvThe link to BuildFarmJob has to remain memory-only, which ISTM is getting more and more tenuous.05:00
wgrantThere's just a TranslationTemplatesBuildJob (BranchJob) linked to a Job linked to a BuildQueue.05:01
wgrantYou're different from the others, since you don't have a permanent object.05:01
jtvSo does the absence of a buildfarmjob currently matter?05:04
wgrantOnly in that it prevents us from radically simplifying the mess.05:05
jtvSo it's not likely that we've got jobs stuck forever just because of this, but all the more urgent that we update our part of the schema.05:07
wgrantRight.05:07
wgrantI don't think you have stuck jobs.05:07
wgrantI think they're just at the end of the queue.05:07
jtvAlmost certainly, if it's true that the farm is currently swamped by PPA jobs coming in mostly at a score of 2505.  Until the cherrypick that spm deployed for us just now, our jobs went in at 1000.05:09
wgrantjtv: You can see at https://launchpad.net/builders that the queue is large.05:10
jtvwgrant: quite05:11
jtvIt's just hard to get an impression of more subtle aspects such as "what's the queue like for the group of builders that can handle our jobs?"05:11
jtvWhoops, did my local launchpad repository just break?05:26
jtvCan't pull any of the LP branches now.05:26
jtvNo such file or directory: u'/home/jtv/canonical/lp-branches/.bzr/repository/indices/f16f01b514931e8ff2433001ed359d47.rix'05:26
jtvlifeless: what do I do about a broken repo?05:27
thumperbzr check?05:27
* jtv tries05:28
jtvThat's busily checking away05:28
mwhudsonargl05:28
jtvmwhudson: try argv—it's called a vector, not a list for some reason05:28
jtvECONTEXT05:28
mwhudsonoh, ./bin/ec2 is slightly broken05:30
jtvargh05:32
thumperreally?05:33
thumperhmm05:33
thumperI still use utilities/ec2 :)05:33
mwhudsonwell05:34
mwhudsonthat's just a symlink05:34
mwhudsonit only matters if you have "debug_flags = hpss" in your config, i think05:34
mwhudsonhttps://bugs.edge.launchpad.net/launchpad-foundations/+bug/62443405:34
_mup_Bug #624434: ec2 needs to initialize bzrlib <Launchpad Foundations:New> <https://launchpad.net/bugs/624434>05:34
mwhudsonabout 50% of the time needed to fix this bug is waiting for "make build" :(05:35
wgrantmwhudson: make compile isn't enough?05:37
thumper:)05:37
wgrantIt skips the WADL and related crap.05:37
wgrantSo it doesn't take five minutes.05:37
mwhudsonyeah, that probably would have been ok here05:37
thumperthe WADL generation is being moved out of make build05:37
thumperand WADL will be checked into the tree05:38
thumpersee gary for details :)05:38
mwhudsonthat'd be nice05:39
wgrantUm, what happens if it changes?05:41
lifelessjtv: depends on the breakage05:45
lifelessjtv: #bzr is a good place to ask05:45
jtvlifeless: thanks.  "bzr check" has been recommended to me, and I'm running that now.05:46
mwhudsonjtv: do you have other files called /home/jtv/canonical/lp-branches/.bzr/repository/indices/f16f01b514931e8ff2433001ed359d47.* ?05:47
mwhudsonor well /home/jtv/canonical/lp-branches/.bzr/repository/*/f16f01b514931e8ff2433001ed359d47.*05:47
jtvobsolete_packs/f16f01b514931e8ff2433001ed359d47.cix05:48
jtvobsolete_packs/f16f01b514931e8ff2433001ed359d47.iix05:48
jtvobsolete_packs/f16f01b514931e8ff2433001ed359d47.pack05:48
jtvobsolete_packs/f16f01b514931e8ff2433001ed359d47.rix05:48
jtvobsolete_packs/f16f01b514931e8ff2433001ed359d47.six05:48
jtvobsolete_packs/f16f01b514931e8ff2433001ed359d47.tix05:48
jtvthat's it05:48
mwhudsonmmm05:48
mwhudsonlooks like pack-names didn't get updated properly?05:48
jtvdoes it?05:49
mwhudsonmaybe05:49
* jtv is devoid of clue05:49
mwhudsonlifeless would know more than me05:49
mwhudsonjtv: bzr stores all data in packs, named after some checksum of the contents05:49
mwhudsonjtv: the pack-names file lists which pack files are curreent05:50
mwhudsonjtv: repacking coalesces pack files, so removes some05:50
mwhudsonso one way you could get in this situation is if packs were combined, the old ones moved to obsolete_packs and then the update of pack-names file didn't succeed for some reason05:51
mwhudsonbut i don't know the order things happen in off the top of my head05:51
mwhudsonin fact i would guess the pack-names update would be done _before_ obsoleting the packs05:51
jtvI think this happened while I was pulling several branches at the same time.  Maybe a race condition?05:51
jtvlet me also try if my fs is still writeable; it corrupts itself sometimes05:52
jtvyup, still writable05:52
lifelessa missing index05:54
lifelessmeans your fs failed to complete a write05:54
jtvso a previous instance of fs corruption is the most likely cause… odd though that it started failing in the middle of a bunch of pulls though.05:56
lifelesswe only do IO as required05:59
lifelessso we don't check that every index is there every time05:59
lifelessso, a pack-name update that wasn't flushed looks plausible06:00
lifelessyou could see if there is a tmp file with a newer date06:00
lifelessand if so, (in a copy of the repo, of course)06:00
lifelesstry putting it in place06:00
jtvlifeless: where would I find that?  And shouldn't I wait for "bzr check" to complete first?06:04
lifelesscheck doesn't handle this sort of problem06:10
lifeless.bzr/repository06:10
lifelessand - seriously - hop into #bzr06:10
lifelessgrab - probably spiv right now06:11
* mwhudson eods06:27
=== almaisan-away is now known as al-maisan
wgrantjtv: Looks like your build score changes worked.08:39
jtvwgrant: are we building one?08:39
wgrantjtv: Yeah.08:39
wgranthttps://edge.launchpad.net/builders/rhenium08:39
jtvyup, see it!08:39
jtvThanks for the heads up08:40
wgrantHowever, the i386 queue is looking pretty sad.08:41
wgrantI wonder if lamont rolled out the new lp-buildd this morning.08:41
wgrantThen we can easily reassign some amd64 builders to i386...08:42
adeuringgood morning08:43
jtvhi adeuring08:45
adeuringhi jtv!08:45
noodles775allenap: will you be landing your alternative property cache branch soon? It looks great (tests will be much nicer to read :) ).09:00
noodles775actually, just saw that there is canonical.cachedproperty.is_cached too.09:06
mrevellHello09:15
wgrantbigjools: Yes, db-devel merges into devel have really bad revnos :(09:33
jtvmrevell: just dumping a branch on you may have been a little rough yesterday… would you prefer a series of HTML snapshots?  Won't show the full interaction, but will show the different forms the message can take.10:48
mrevelljtv, No a branch is fine, I'm just in the middle of transcribing a particularly difficult to understand interview. I'll have that finished this morning and will get to the translations help this afternoon, thanks.10:50
danilosmrevell, particularly hard-to-understand? I don't remember talking to you!10:50
mrevelldanilos, heh10:50
jtvmrevell: thanks—looking forward to it!10:50
jtv(ignore the danilo)10:50
danilosmrevell, who deals with commercial emails on feedback@lp?10:50
mrevelldanilos, me10:53
danilosmrevell, there's one from 17th that I haven't seen a response to10:54
danilosmrevell, and another one 5 days ago10:54
mrevellAnything that old  will definitely have been dealt with.10:56
noodles775wgrant: Thankyou for removing BuildBase :)10:59
jtvQ: do we have anything that actually runs the tests in lib/canonical/launchpad/windmill/jstests/launchpad_ajax.js ?11:00
wgrantnoodles775: Still need to move the last couple of things from the interface file.11:00
wgrantnoodles775: I'll move BuildStatus to BuildFarmJob, but I'm not sure where to put BUILDD_MANAGER_LOG_NAME.11:00
noodles775wgrant: I'm assuming BuildStatus should go to lp.buildmaster.enums?11:01
wgrantnoodles775: I guess it could.11:01
wgrantif anybody other than Code is doing that now, which it seems is the case now.11:01
noodles775Yep.11:01
wgrantbigjools: Where should lp.buildmaster.interfaces.buildbase.BUILDD_MANAGER_LOG_NAME go?11:02
wgrantI think it should probably not be BUILDD_MANAGER_*, since that's an implementation detail.11:02
bigjoolswgrant: ummm, I wonder if it's worth making lp.buildmaster.constants11:13
bigjoolsor it could go in enums11:14
noodles775Why does it even exist? It's used in two places and represents a logging config name...11:16
wgrantslave-scanner is still hardcoded in several places.11:17
wgrantIt should be used more widely, or we should pass loggers around more aggressively.11:17
jelmerwgrant, my branch makes us do that11:17
wgrantOr we could just resolve to hardcode it more heavily.11:17
wgrantjelmer: Ah!11:17
jelmer(pass loggers around more aggressively)11:17
wgrantExcellent.11:17
wgrantjelmer: Is BUILDD_MANAGER_LOG_NAME still used anywhere?11:18
wgrantjelmer: Is this your Popen removal branch?11:19
jelmerwgrant: yeah11:19
* noodles775 would prefer to see the module names used with getLogger (ie. getLogger('lp.buildmaster.manager') and the logging configs updated to do the right thing - where possible)11:19
jelmerwgrant: IIRC BUILDD_MANAGER_LOG_NAME is still used once or twice.11:19
wgrantnoodles775: But I don't think that's entirely correct, since it's not necessarily buildd-manager that's calling things.11:19
wgrantnoodles775: Although it will be the only caller, once we remove SlaveScanner.11:20
wgrantjelmer: :(11:20
jelmerwgrant, I'm sure we can fix that afterwards..11:20
wgrantYeah.11:21
noodles775wgrant: I thought the reason for using the module name as a standard for getLogger was to indicate the context of the log message, not the call-site?11:22
wgrantnoodles775: Ah, I just took your lp.buildmaster.manager example in the context of the calls I was thinking of, which are not in fact in buildd-manager itself.11:23
wgrantNever mind me.11:23
jml+1 for passing loggers around11:32
noodles775jml: is that from experience, or is there an good article you'd recommend? From reading about pythons logging configuration options, I'd assumed part of their intention was to remove the need to pass loggers around?11:34
jmlnoodles775, experience11:34
jmlnoodles775, every time I think mutable global state is a good idea and actually try it, it turns out to be a bad idea11:35
bigjoolslast I heard, flacoste was not so keen on passing loggers around11:36
wgrantdanilos: I question the fix suggestion in bug #522800. From what was it derived?11:38
_mup_Bug #522800: Broken link in PPA package details page (404) <ppa> <QGIS:Invalid> <Soyuz:Triaged> <https://launchpad.net/bugs/522800>11:38
jmlpassing them around is easy to read, easy to write, easy to change and doesn't reduce functionality11:38
wgrantThe problem is a bit less serious than that fix suggests.11:38
bigjoolswgrant: I forgot what you said about it11:39
jmlit also makes it _really_ obvious what needs a logger and what doesn't11:39
wgrantbigjools: The query returns the oldest LFA with the given name.11:39
wgrantbigjools: It should filter out expired ones.11:39
bigjoolsah right11:39
bigjoolswould you mind updating the bug?  I think you said you were going to do that :)11:40
wgrantThere are unexpired ones there. I can see them through the librarian's search interface.11:40
wgrantHeh, possibly. Uni has been keeping me busy.11:40
* wgrant updates the bug.11:40
bigjoolsUni didn't keep me busy11:40
bigjoolswell - not academically :)11:40
wgrantHeh.11:41
wgrantThe team project is actually taking up time. The first subject to actually do so :(11:41
daniloswgrant, the fix suggestion came from bigjools, but I see you already resolved that :)11:42
bigjoolsI'll tell you a story about one of mine next time we meet up11:42
wgrantHeh.11:42
bigjoolsdanilos: yeah I was wrong in my assumption :()11:42
wgrantSee, this project has classically been done over a year.11:42
wgrantThis is the first time they've crushed it into a semester.11:42
daniloswgrant, can you update the description or should I (while I have the bug open)?11:42
wgrantI'm not sure they've really thought it through.11:42
wgrantdanilos: I'm doing it.11:43
daniloswgrant, cool, thanks11:43
bigjoolsgeez, LP's test suite even brings my four-core to its knees.11:43
jmlis it using more than one core?11:43
noodles775jml: but to add a logging statement to a method that previously didn't log anything, you've got to update the method signature and (possibly) all call-sites, and potentially the signatures of the callsites which may not yet have the logger themselves? I'm not clear why you think it's good that the decision to log something in a method changes the method.11:43
wgrantbigjools: Need more SSD!11:43
bigjoolsjml: yes, but not in the way you think11:44
bigjoolsdisk access is the killer11:44
noodles775jml: but that scenario might just indicate badly-factored code anyway.11:44
bigjoolsand memory hogging11:44
jmlnoodles775, for the case where "log" is little more than a print statement, that's a fair point11:44
bigjoolswgrant: I think I can soon start heating my office from the machines in here11:44
jmlnoodles775, but so often with Launchpad, logging is srs bsns11:44
wgrantbigjools: Have you acquired a new one to replace your previous quad-core?11:45
jmlI dunno. I'm also going through a phase of making interfaces with methods that correspond to events I care about, and using that for logging.11:45
bigjoolswgrant: nope I'm still happy with this one11:46
bigjoolsunless you count the pseudo 4-core in the i5 :)11:46
StevenKThat's not a real quad-core11:46
bigjoolsjml: personally I agree with noodles775 here, changing method signatures to accommodate logging objects sounds quite evil11:47
jmlindeed, "pseudo" could imply little else.11:47
bigjoolsyeah I was about to say ...11:47
StevenKOh, bleh11:47
* StevenK goes back to terrorizing dogfood11:47
* bigjools likes to call it a fork-whore in honour of the Two Ronnies11:47
StevenKbigjools: The only thing I know from Two Ronnies is "and that's good night from 'im" :-(11:48
jmlbigjools, I've more frequently encountered evil where I've had to mix code that each does it's own logging and neither bits of code have given me permission to touch their logging11:48
jmlbecause it's acquired from a global rather than passed in.11:49
jmlor refactoring a chunk of code that has log statements all over the place11:49
jmlin any case, more often I pass logging objects into constructors11:49
noodles775ah, that would help :)11:50
bigjoolsStevenK: http://www.youtube.com/watch?v=qu9MptWyCB811:50
noodles775jml: but I wonder if the evil you've encountered is related to logging not being configured correctly in the first place? (/s/correctly/optimally) Not sure.11:52
jmlnoodles775, maybe. I can't recall enough detail.11:53
jmlnoodles775, things not being right in the first place is certainly a strong theme in the soundtrack of my programming career :)11:53
noodles775jml: but being right in the end I'm sure too :)11:54
jmlnoodles775, software is never finished, it just runs out of funding11:54
danilosUrsinha, hi (when you are around), does this bug activity look like a problem with qa-tagging scripts? https://bugs.edge.launchpad.net/rosetta/+bug/61898712:01
_mup_Bug #618987: gc.get_objects() interacts badly with bzrlib lazy imports <qa-untestable> <tech-debt> <Launchpad Translations:In Progress by thumper> <https://launchpad.net/bugs/618987>12:01
deryckMorning, all.12:05
jmlmorning12:05
=== al-maisan is now known as almaisan-away
=== matsubara-afk is now known as matsubara
=== henninge_ is now known as henninge
allenapnoodles775: I tried to land it yesterday but there were some test failures. I'm away until Tuesday and I probably won't have enough time to fix it before then, sorry. I'll migrate any code that lands before then though.14:27
noodles775allenap: np. Enjoy your break!14:27
allenapnoodles775: Cheers :)14:29
leonardrsalgado, i'm looking into the oauth token scope thing we talked about yesterday, but i'm remembering other problems with it. for instance, a web service client with a scoped oauth token can't get the service root14:33
leonardrbecause the service root is not in scope14:33
leonardran oauth token is also scoped to a person, but the person will be out of scope14:33
salgadoleonardr, when things are out of scope the client should have read access still, no?14:34
leonardrsalgado: we'll find out. i don't know if i actually tested this14:34
leonardrso it could still work14:34
salgadomaybe that's not how it works today, but I think that's how it should work14:34
leonardrthat makes sense14:36
leonardrwgrant, we have a solution to the timeout problem i last talked with you about on july 20th14:43
leonardri'm delegating to benji the responsibility for updating the script you're running on optusnet.com.au14:44
leonardrbasically, you need to upgrade to the latest versions of launchpadlib and lazr.restfulclient14:44
leonardryou need to make your script use edge (until the changes are deployed in the next launchpad release)14:45
leonardrand if you were using the ._wadl_resource.total_size hack to get the length of a collection, you need to change that code to use len()14:45
leonardrgary -^ delegating to benji14:47
gary_posterack thanks14:48
leonardrsalgado, i see how the oauth context could be a specific project or distribution or whatever, but not how it could be a particular _class_ of object. do you have any ideas?14:53
salgadoleonardr, indeed, the scope is a db object and not a python class.  you could scope it to the person, but I guess that wouldn't help you in this case?14:56
leonardrscoping it to the person would be a good start14:56
leonardror maybe not... since the person's oauth tokens are probably not considered to be in scope14:59
=== almaisan-away is now known as al-maisan
leonardri'll give it a try14:59
deryckwow, comment fonts are huge on my system now.14:59
deryckFeel like I'm reading a large print old-folks book.15:00
benjideryck: I just noticed the same thing; I like big text but that is taking it a bit far :)15:00
deryckbenji, indeed :-)15:01
deryckIt's falling back to monospace for me and at 116%15:01
deryckperhaps the percentage worked for whatever font we used to request.15:01
benjiI'm not aware of a way to have different sizes for different type faces... but I'm no CSS expert either.15:03
deryckI don't seem to have a mono version of the ubuntu font either.15:06
deryckjml, hi.  See my good-god-that's-a-huge font comments above. ^^15:08
deryckjml, should I file a bug on launchpad-web?15:08
jmlderyck, huh what, yes.15:08
deryckheh15:08
jmlderyck, there's no Ubuntu monospace yet.15:08
jmlsoon, I'm told.15:08
deryckok, I didn't think so.15:09
deryckjml, should we just scale back the percentage on the monospace then, since we know we're only using that currently?15:09
jmlderyck, sorry, otp, that sounds reasonable15:11
deryckjml, np.  Sorry to interrupt.  I'll work up a branch now and see how it looks.15:11
jmlderyck, np15:11
jmlderyck, a bug with screenshots would help the reviewer.15:11
deryckjml, ack15:12
jmlderyck, beuno, fwiw, they don't look huge to me.15:26
jmloh, 'comment fonts'15:27
beunojml, right15:27
beunoand merge proposal diffs15:27
jmlno, same as ever.15:27
deryckbeuno, they do look huge to you?15:27
beunoderyck, yes, huge15:27
beunoI'll take a screenshot15:27
deryckbeuno, yeah, they look huge to me, and benji confirmed.  But just making sure.15:28
deryckjml, they don't look huge to you?15:28
deryckI've add my own screenshot at bug 62466615:28
_mup_Bug #624666: Monospace fonts too large after adding Ubuntu font to font-family declaration <launchpad-web:Triaged by deryck> <https://launchpad.net/bugs/624666>15:28
benjido my fonts look big in this?15:28
deryckbenji, I just meant you said comment fonts looked large to you too.15:28
benjithat was a (failed) joke, a la "does my butt look big in this"15:29
deryckI assumed this happened with the font change, bzr blame says sinzui changed the 116% rule for comments.15:29
deryckbenji, :-) Ah.15:29
sinzuiI landed the branch15:30
deryckah15:30
jmlbenji, I chuckled.15:30
benjiat least I'm not a total failure15:30
adeuringgary_poster: could you help me get a clue why the tests in lines 155, 165 from this diff https://pastebin.canonical.com/36336/ are failing? And why the test in line 145 is _not_ failing (it should, because I commented out lines 59,60)? Or: How should I set up test for ProxiedLFA.(http|api)_url for webservice requests?15:30
deryckI just thought benji's fonts looked fine15:30
benjideryck: that's what you always say15:31
derycksinzui, you have no objections then to me changing the 116% to get a sane look15:31
deryckheh15:31
sinzuigo ahead15:31
gary_posteradeuring: looking15:31
sinzuideryck, I do not see a size change in the diff15:32
beunoderyck, jml, FWIW: http://ubuntuone.com/p/Dwt/15:32
beunosinzui, ^15:33
adeuringgary_poster: https://pastebin.canonical.com/36340 has the test failures15:33
sinzuideryck, the 116% has been there a long time. I think the font is just different15:33
gary_posterack15:33
adeuringso, the host name is wrong, and 'api/devel' is missing in the URL15:33
derycksinzui, ok, that's what I thought.  But the rule used to just be "monospace" if the diff is to be believed.  Since there's no ubuntu monospace, we should still be using that.15:34
deryckbut at any rate, a percentage change will not harm us, I think.  Until we have the real font.15:34
deryck116% seems too large to me anyway.15:35
jmlbeuno, it's kind of meaningless without a "before" screenshot.15:36
beunojml, really?  the huge-ass difference isn't meaningful?15:36
deryckjml, the fonts don't look large to you?15:36
sinzuideryck, You could have the real font, or the beta font, or you could choose to keep Monospace (system font--either dejavu or Bitstream depending on the ago)15:36
beunoI'll take a screenshot of production15:36
leonardrsalgado, i've shelved the scope thing for now. i think it might work, if we hack the 'container' code (about which i know nothing) or hack the code that uses the container code so that the service root and top-level collections are always considered to be in scope15:36
beunoI think jml is doing drugs again15:37
leonardri have another problem, which i hope you or benji can help with15:37
jmlderyck, beuno: they look obviously configured differently to what I have.15:37
deryckjml, do you have the ubuntu mono font?15:37
deryckinstalled, I mean15:37
beunojml, but look at the difference in size between the diff and everything else15:37
leonardri thought i had traversal set up correctly, and indeed i can access /~salgado/+oauth_access_tokens/token-name with GET15:37
beunoI do not have the ubuntu font, tw15:37
jmlderyck, no.15:37
deryckjml, ok.  Can you use an inspector and see that the rules for the fonts are for you?15:38
leonardrbut when i PATCH that same URL, i get a 404. it looks like launchpad is trying to find token-name directly under ~salgado and ignoring the +step_into that tells it (should tell it?) to look up an access token15:38
leonardrdoes this problem seem familiar?15:38
jmlderyck, I use Courier for monospace in my browser, for example15:38
deryckah15:38
jmlbeuno, irrelevant. that stuff is totally browser configurable.15:38
sinzuideryck, I switched the Ubuntu fonts the day of the announcement, and I set a custom CSS in my browsers so that I always saw the fonts...bold was very ugly for a few weeks15:38
beunojml, so what are you saying?15:39
deryckSo I would think the size rule should be sane for the default, and if people are configuring fonts in the browser, they can adjust accordingly there.15:39
jmlbeuno, that to file a useful bug about font changes being bad, you need to have before & after screenshots15:39
deryckwould jml, sinzui, beuno agree? ^^15:39
beunojml, deryck, sinzui, here's a screenshot of production: http://ubuntuone.com/p/Dx1/15:39
gary_posteradeuring: here's one thing.  setUpApiInteraction correctly sets up the request, *but not the publication* or the virtual host bits.  So that *might* be important for your test.  However, my suspicion is that your test is actually showing a real problem either wat.  If it is a web interaction *or*an api interaction, api url should be stable, I would think, yes?15:39
beunoderyck, sure, I have not changed any default15:40
adeuringgary_poster: yes15:40
beunojml, there, before and after. Go nuts.15:40
jmlderyck, agreed.15:40
adeuringgary_poster: I mean, the URLs should be the same15:40
jmlbeuno, Already gone.15:40
gary_posteradeuring: right.  So whether or not setUpApiInteraction is sufficient seems irrelevant15:40
adeuringgary_poster: erm, probably ;)15:41
deryckbeuno, can you attach those as before/after shots on  Bug #624666?15:41
_mup_Bug #624666: Monospace fonts too large after adding Ubuntu font to font-family declaration <launchpad-web:Triaged by deryck> <https://launchpad.net/bugs/624666>15:41
beunoderyck, sure15:41
gary_posteraseuring, how you calculate api_url is relevant, of course.  I'm not sure what a proper way of doing that would be.  What are you trying?15:41
deryckthansk!15:41
deryck"s" took over for both gary_poster and I there.15:42
adeuringgary_poster: Basically, I copied the approach for http_url which enforces non-api URLs15:42
gary_posterlol, true deryck15:42
UrsinhaStevenK, hi, can I  mark bug 449408 as qa-ok?15:43
_mup_Bug #449408: Need scriptactivity monitoring of "gina" <boobytrap> <canonical-losa-lp> <gina> <qa-needstesting> <Soyuz:Fix Committed by stevenk> <https://launchpad.net/bugs/449408>15:43
gary_posteradeuring: Unless you really want me to look at that code, I'm going to run away, since we appear to have agreed that the test itself is not (exactly) at fault. ;-) I'm late for a call.  Do you want me to ping you later?15:43
adeuringgerthat would be great15:44
gary_posterok cool15:44
bigjoolsUrsinha: he's in bed but he did already QA it15:44
Ursinhaah, cool15:44
Ursinhathanks bigjools15:44
beunosinzui, the only difference I see is in the font-family (font-family:"UbuntuBeta Mono","Ubuntu Mono",monospace;)15:44
beunoproduction doesn't have the first 215:44
sinzuibeuno, yes. I think the font has different metrics than dejavu/vera15:45
bigjoolsUrsinha: the qa bot is removing ok/untestable tags which is really annoying :(15:46
Ursinhabigjools, it removes the tags if you place them before it being available to qa...15:48
bigjoolsUrsinha: that's bogus, we might have already tested it on dogfood15:49
Ursinhabigjools, if you commit a fix with incremental or no-qa tag, it won't replace untestable tags15:49
bigjoolsah15:49
Ursinhabigjools, I recall having this discussion with you two months ago :)15:49
bigjoolsyes15:49
rockstarUrsinha, maybe your bot can check for the tags that it shouldn't be replacing.15:50
rockstarI think adding more noise to the commit message is sub-optimal.15:50
Ursinharockstar, I think suboptimal is leaving things untested behind :)15:50
Ursinharockstar, point is script should replace. if you have something qa-ok, and you land another branch related to the same bug, you need to qa that15:51
Ursinhaso script replaces15:51
rockstarUrsinha, it should add, not replace, methinks.15:51
Ursinhaif that doesn't need qa or is a partial fix, there are two clauses to express that15:51
Ursinharockstar, two qa tags in a bug is confusing15:52
Ursinhaspecially considering the new mergeworkflow lifeless planned15:52
rockstarUrsinha, I don't think it's all that confusing.  As long as it shows up in the qa-untestable list, it's served its purpose, right?15:53
gary_posterrockstar, we're talking about scripts that have to parse these tags and interpret them according to agreed-upon rules.15:53
Ursinhawhat gary_poster said15:54
gary_posterCertainly we can change those scripts, but then we need to agree on the rules again.15:54
jmlwhen I get back from hols, I'm going to start trying to get down some requirements from you guys re QA15:55
jml(OEM, Platform & others want something built-in to LP)15:56
gary_posterAnd arguably this is an example of an impedance mismatch between using tags, a rather imprecise tool by intent, to control QA, which is supposed to be much more precise and controllable.15:56
leonardrsalgado, fun fact: my lp_save() on the oauth token seems to have *dissociated it from the user*, which is why i'm getting that 40415:56
gary_posterYeah, that would potentially address the impedance mismatch, jml.15:56
jml*nod*15:56
jmlthere's also an issue building tools that work with an informally managed staging environment (i.e. dogfood)15:58
gary_posteryeah.  a one-size-fits-all qa feature, or even a one-size-fits-many, will be tough.  Our roll-our-own-locally qa integration has its advantages.16:02
deryckjml or abentley, I'm playing local dev server with MPs.  How do I generate the diff locally?16:05
jmlderyck, no idea, sorry.16:05
derycknp, thanks anyway.16:05
leonardrsalgado: ARGH. the access token was disappearing because i was setting its expiration date to a date in the past16:06
salgadoleonardr, heh.  but does it work when you set a date in the future?16:10
salgadoI mean, can you change it?16:10
leonardrfinding that out now16:10
leonardrwe need to change lazr.restful (or possibly the client) to understand what happens when setting a field value causes the object to disappear16:10
leonardrsalgado: yes, i can change the expiration date to a date in the future. (however, i have given up hope for the time being of making GRANT_PERMISSIONS anything more than an all-powerful access level, so it's not too surprising)16:13
deryckThis YUI cssfont stuff is confusing to me.16:15
derycksinzui, there are places where our rules to use the ubuntu font work, but others where yui's rules have precedence.  I don't understand why.16:16
sinzuireally. I think all font-family's were changed16:17
derycksinzui, YUI has the arial,helvetica, blahblahblah line that wins out for some items.16:17
sinzuideryck, But at what level? I think our rules supersede them16:18
sinzuideryck, can you show me a page that is using YUI's font rules?16:19
derycksinzui, I would have thought so, too.  That's why I'm confused.16:19
derycksure, digging for link16:19
sinzuiI have never seen arial in any launchpad page that I inspect. I do that a lot. I recall we had a nasty bug hunt in YUI to ensure it's widget rules (like the calendar) never surfaced16:20
sinzuioh, rockstar updated our YUI rules last month. I wonder if our older version was directly hacked.16:20
rockstarsinzui, what YUI rules?  I haven't landed the newest YUI yet (I need to squeeze more into lazr-js first)16:21
deryckok, so I think I got the problem wrong.16:21
sinzuirockstar, good to know16:21
deryckit's not that the YUI rule has precedence.  It's that *no* rule applies.  See comments on any MP, for example.  What font is that?16:22
derycksinzui, ^^16:22
rockstarsinzui, I'll send an announcement when I do it.16:22
* sinzui looks with inspector16:22
deryckrockstar, hi.  How do I generate diffs in a local dev server for MPs?16:23
rockstarderyck, there's a script called create_merge_proposals I think.16:25
deryckrockstar, cool, thanks.  Was searching for scripts with "diff" in the name :-)16:25
sinzuideryck, you may be looking too close to the text. merges...16:25
sinzuideryck, pre defines monospace in YUI, but I see our rule is ignored16:26
rockstarderyck, LPCONFIG=development bin/py cronscripts/merge-proposal-jobs.py16:26
* sinzui looks at source16:27
derycksinzui, what I'm trying to work out is why this patch fixes comments having the large font for bugs and leaves MP comments unchanged?  http://pastebin.ubuntu.com/484011/  And playing with the inspector, if I delete all font rules on MPs the font is unchanged.16:27
jcsackettcan someone help me understand an odd comment/if statement in the validate method of lp.bugs.browser.bugtask.BugTaskEditView?16:28
jcsackettmethod is here, with comment asking for clarification: https://pastebin.canonical.com/36347/16:28
deryckjcsackett, I can likely help.  looking....16:28
jcsackettthanks, deryck.16:29
sinzuideryck, since our pre matched YUI's pre, we did not define a font rule. Ours does not match, so we want to define one now16:29
sinzuideryck, you must put the ubuntu fonts back16:30
sinzuithe UX team have a hammer and they hit everyone who disobeyed them last year when they defined font rules16:31
derycksinzui, right.  I want the Ubuntu fonts. :-)  I'm trying to understand why changing the rule has the affect it does.16:31
deryckthe patch is not what I'm proposing as a fix.  Merely as a reference to get to a real fix.16:32
sinzuideryck, we need to add fonts to "pre, code, samp, tt, .console {"16:32
sinzuiand I think we want to change the font-size from 116%; to 108% or 100%16:33
derycksinzui, ok, that makes sense.  And this is going to change the look of bugs and MP comments.  And we don't currently use the monospace font there, so I assume make it the same Ubuntu choice in html, body?16:34
derycki.e. UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif16:34
sinzui??16:35
derycksinzui, what I mean is comments don't currently use a monospace font, right?  on lpnet.16:36
sinzuideryck, I think you are saying that we did not set font-family because YUI was providing what we wanted "Monospace".16:36
deryckno, sorry16:36
sinzuideryck, I think we are changing scope here, but you will close a lot of bugs if all comments were made monospace16:36
sinzuiUbuntuBeta Monospace, Ubuntu Monospace, Monospace16:37
deryckyeah, I'm not sure if I want to go that route yet, only because there doesn't seem to be agreement about that.16:37
deryckbut I could just JFDI16:37
deryck;)16:37
=== salgado is now known as salgado-lunch
deryckjcsackett, sorry for delay.  Doing too much at once here.  So old_product and new_product reference just products.  "pillar" is a wrapper method that gets at the target regardless of being a product or a distribution.16:38
sinzuideryck, lets get the font size right, and define the the expected monospace fonts on "pre, code, samp, tt, .console"16:38
jcsackettderyck: okay, so in that instance, though we're working with products predominantly, the target isn't necessarily old_ or new_ product?16:39
derycksinzui, agreed.  Working that up now, testing locally to see fall out.16:39
deryckjcsackett, I read the comment below the if check to suggest the check against pillar there is to make sure we don't somehow have a distro task.16:40
jcsackettderyck: okay, thanks.16:40
deryckI'm not sure how we would, but evidently it happened once :-)16:40
jmlderyck, the 'if old_product is None' is surely about not being a distro task16:46
jmls/not//16:46
jmlscratch that correction.16:46
deryckjml, right.  If old_product == None this would be a distro.16:48
deryckre-thinking the question about doing new_product.official_malone16:48
jmlI guess you can't change the bugtask of a product that doesn't use Launchpad because the remote tracker won't detect it?16:49
jmlor something?16:49
deryckjml, right.  You create a watch if it doesn't use malone.  But the question jcsackett has is why not new_product.official_malone.16:53
deryckjcsackett, I'm rethinking this.16:53
jmlderyck, why not instead or why not in addition to16:53
derycksorry, why not right it as new_product.official_malone instead.  Why do we need to check on the pillar, rather than the new_product.16:54
jcsackettderyck, that was sort of my confusion.16:55
deryckjcsackett, jml -- so doing it on the pillar prevents having to spell it (new_product is not None and new_product.official_malone)16:55
deryckmaybe, that's it?  I'm not entirely sure.  Were it me, I would change it and run bugtask tests and see what fails.16:56
jmllemme check again16:56
jmlderyck, has the new_product been set on the bugtask at the time of the if statement?16:57
deryckI'm jumping on a standup now, so an as exercise in "hey remember when we ..." I'll ask if anyone knows :-)16:57
jcsackettderyck: sounds good. :-)16:57
deryckjml, this is a validate method.  So you could submit the form without supplying new_product and it would be None.16:57
jmlderyck, that's what I mean, bugtask.pillar will be old_product (or a distro), not new_product16:57
deryckright16:58
deryckso it really seems wrong16:58
jmlderyck, unless there's a reason for preventing changing bugtasks that are on products that don't use malone officially16:58
deryckah16:58
deryckyes16:58
deryckso we don't want to move a bugwatch off16:58
deryckor move a task that is for a watch16:59
* deryck is on call now17:00
jmlnot actually on topic, but I'm reminded of how much look-before-you-leap sucks17:04
jmlmrevell, wb17:08
mrevellthanks jml ... power cut ... country living, etc17:09
mrevellbac, every 15 mins, I believe17:09
=== beuno is now known as beuno-lunch
cody-somervillewhen did the text for bug change history get so big?17:33
maxblosa ping: The branch on which lp:~launchpad-pqm/bzr-builder/trunk is stacked has been renamed, and the bzr-level stacking pointer is now wrong.17:35
maxbPlease could you download this script: http://j.maxb.eu/~maxb/bzr-set-stacked-url.py - and run bzr-set-stacked-url.py lp:~launchpad-pqm/bzr-builder/trunk lp:bzr-builder17:35
=== Ursinha is now known as Ursinha-lunch
Chexmaxb: let me take a look at that for you17:36
maxbthanks17:36
=== deryck is now known as deryck[lunch]
jml:(17:44
jmlcody-somerville, today.17:47
=== benji is now known as benji-lunch
Chexmaxb: get a failure when I try to run it: https://pastebin.canonical.com/36352/17:49
maxbChex: I can't see pastebin.canonical.com17:50
Chexmaxb: sorry about that.17:50
Chexhttp://pastebin.ubuntu.com/484045/ try that17:52
Chexmaxb: ^17:52
maxboh, I see. First run 'bzr launchpad-login your-lp-id' so bzr knows how to connect via bzr+ssh17:53
jmlabentley, a bunch of changes on the recipe LEP17:54
mthaddonmaxb: erm, is there really no better way of doing this?17:55
mthaddonmaxb: I'm not very happy about download a random script off the internet and having an admin run it17:55
maxbWell, you could hack the .bzr/branch.conf directly if you like17:56
maxber, .bzr/branch/branch.conf17:56
mthaddonmaxb: there's no way to do this in the web UI?17:56
maxbno17:56
mthaddonmaxb: if not, it seems to me like there should be a bug report about it rather than trying to work around it17:57
mthaddon(or at the very least, a bug report and trying to work around it)17:57
maxbThe fundamental problem is that when a branch changes name, Launchpad doesn't update the bzr-level metadata in stacked branches to say so.17:58
maxbI believe someone mentioned they were actually working on fixing that next cycle17:58
mthaddonsounds very much like the basis of a bug report to me17:58
mthaddon:)17:58
maxbI'm assuming that if someone's already decided to work on it next cycle, there's already a bug filed17:59
mthaddonmaybe, but we really should have asked you for that info before going ahead and doing it :)17:59
maxbbug 37751918:00
_mup_Bug #377519: Stacked on location breaks if the stacked upon branch is renamed <branch-stacking> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/377519>18:00
maxbmthaddon/Chex: It doesn't seem to have changed yet, did you want me to describe fixing it by editing files rather than using the script?18:08
=== beuno-lunch is now known as beuno
=== salgado-lunch is now known as salgado
=== matsubara is now known as matsubara-lunch
jmlI'm off. Have a great time folks.18:14
=== Ursinha-lunch is now known as Ursinha
maxbmthaddon? Chex ?18:22
Chexmaxb: hi there18:24
Chexmaxb: yes it may make more sense for you to describe the files we need to look at18:25
maxbOK then, please edit the file lp:~launchpad-pqm/bzr-builder/trunk/.bzr/branch/branch.conf (either directly or over sftp) such that the stacked_on_location line now reads: stacked_on_location = /~bzr-builder-devs/bzr-builder/trunk18:27
=== benji-lunch is now known as benji
=== al-maisan is now known as almaisan-away
=== deryck[lunch] is now known as deryck
Chexmaxb: sorry, looking around now18:55
adeuringgary_poster: ping18:57
gary_posteradeuring: didn't forget, call day18:57
adeuringgary_poster: ah, ok18:58
maxbChex: Hi, I'm semi-afk for ~15 minutes, then ircing from a phone only for the rest of the evening. I will read anything you say here, but my responses might be delayed/limited19:05
Chexmaxb: thats fine, we have a process/script to handle this issue, apparently19:08
Chexrunning it now, just slow going19:08
=== almaisan-away is now known as al-maisan
Chexmaxb: all set, should be fixed now. in the future, remind us admins of this equest by asking for the 'LP process to Fixing Broken branches'19:21
Chexrequest, that is19:21
maxbthanks Chex, with any luck lo will get fixed properly soonish to not create this issue19:22
maxbs/lo/lp/19:23
Chexmaxb: agreed. your welcome19:23
=== matsubara-lunch is now known as matsubara
=== al-maisan is now known as almaisan-away
lifelessmorning19:41
lifelessUrsinha: I think ther emay be room to permit not-replacing, but it will need careful thought about race conditions19:42
Ursinhalifeless, I agree with that19:42
lifelessmthaddon: if you're around, I would love to touch base, however briefly, on the staging-with-prod-schema progess.19:44
lifelessand I ashamed to say, its entirely a 'are we there yet' question.19:44
Ursinhalifeless, I have to reply your bug comment about tags19:44
lifelessgary_poster: so, private librarian19:44
lifelessgary_poster: have you seen the wildcard-dns proposal ?19:45
gary_posteron calls today lifeless--but it doesn't ring a bell unless it was the branch stub was looking at with you a few weeks ago19:47
lifelessyeah that one19:47
lifelessI'm thinking of picking it up19:47
lifelesslibrarian is consistently very high up there19:47
gary_posterah, yes.  It looked like a great idea to me19:47
lifelessok cool19:47
gary_posterlifeless, btw, have been concerned lately thinking about edge/production on same machines/processes: it gives us arguably a bit less safety in trying out big infrastructure changes--say, trying a broad change to the template implementation.  Now, if edge service degrades significantly, there is an escape hatch.  edge will no longer be an easy way to do that.19:54
gary_posterI don't think this is a necessarily huge deal, but I do suspect that it will drive us into some new patterns.  One is for us to be able to easily upgrade a single load balanced machine with certain code changes and evaluate its performance.  If that's relatively easy and lightweight for devs and LOSAs, that might work.19:54
gary_posterAnd it might be a better story than what we have now, for the end users.19:54
lifelessfrom what I know of the deployment process, that should be straight forward19:55
lifelesswe'd qa the the change so we're happy with performance on staging19:55
lifelesswhich btw, implies we want a load test harness19:55
lifelessthen, when we're happy, we can rollout the icing, and some N appservers, and monitor them,19:55
lifelessgary_poster: I think it will be a better story than we have today, once we get the db schema changes more agile19:57
lifelessin the interim I think it should be no worse.19:57
gary_postersounds reasonable.  load test harness: ack and agreed.19:58
lifelessI understand that SSO was tested with such a thing; I don't know if its scalable in terms of request pattern complexity to LP19:58
lifelessit might be nice to just take a days worth of logs19:59
lifelessor a week19:59
lifelessand toss the exact same pattern at a staging env; with something special to handle POSTs19:59
gary_posteryeah; POSTs/webservice is the trick, I think20:01
lifelessone thing we could do is ask for volunteers; use a featureflag to enable it and capture their posts20:01
lifelesswould only work if we had a point-in-time recovery for the to-be-tested environment rather than 'current data' recoveryt20:02
lifelessanyhow, EFUTUREWORK20:02
gary_posterlifeless: exactly what I was going to say about point-in-time and POSTs, agreed.  and yes EFUTUREWORK.20:22
lifelessgary_poster: great minds20:22
gary_poster;-)20:22
gary_posteradeuring: if you are still around I have about about 12 min20:22
adeuringgary_poster: great!20:23
gary_posterwhere should I look?20:23
adeuringgary_poster: https://pastebin.canonical.com/36336/ and https://pastebin.canonical.com/36336/20:23
gary_posterright thanks20:23
adeuringhttps://pastebin.canonical.com/36340/20:23
gary_posterok...20:24
adeuringgary_poster: I also tried setupInteraction() but only got even more weird results20:24
gary_posterheh20:24
gary_posteradeuring: ok, I think I see your strategy now.  You want getURL to come up with the right URL on the basis of the request passed in.  I am afraid it needs to be more sophisticated...or canonical_url needs to be more sophisticated :-/ .  Lemme go look at that implementation again.20:26
adeuringgary_poster: ok20:26
gary_posteradeuring: I think you need to explicitly pass in the right rootsite to canonical_url.  Seeing if I can learn more...20:30
adeuringgary_poster: that's what I tried, via setupinteraction() -- seems that I messed thatup ;)20:31
deryckbryceh, Just fyi....  without reviewing too closely, I think your model/db changes are on track.20:41
bdmurrayI'm having issues running make build on devel No local packages or download links found for zc.buildout==1.5.020:42
bdmurrayand Link to http://pypi.python.org/simple/zc.buildout/ ***BLOCKED*** by --allow-hosts20:42
bdmurrayHow can I sort this out?20:42
deryckI thought we had out own zc.buildout.  You shouldn't have to hit pypi.20:44
brycehderyck, ok20:44
deryckbdmurray, the first "no package" error I've seen before, and fixed by various combinations of updating source deps, make clean, make.20:45
gary_posterbdmurray: make sure your download-cache is up-to-date20:45
gary_poster``cd download-cache && bzr up``  in the common case20:46
gary_posterleonardr: I am trying to look at an issue for adeuring.  He is trying to generate API urls for objects.  AFAICT, canonical_url doesn't have sufficient smarts for this--in particular, it does not insert a webservice version into urls.  It also has no way of guessing what version of the webservice should be used if you are not already coming in on a webservice request.21:00
gary_posterDo you know if there is a pattern for this already?  http_url in lib/canonical/launchpad/browser/librarian.py returns the current request's url, AIUI, right adeuring?  He would like to generate a url for a librarian file proxy even if the current request is not a webservice request, right adeuring?  adeuring, do you want a specific policy as to what version should be returned, or would you want a function to retu21:00
gary_posterversions, or...?21:00
gary_postersorry, he would like to generate a *webservice* url for a librarian file proxy...21:01
lifelessdoes that really make sense ?21:01
lifelessI mean, isn't the proxy an implementation detail; we havce the LFA separately21:01
gary_posteronly if there's a use case :-)21:01
adeuringgary_poster: well, the code works fine when you access launchpad.dev via launchpadlib. My main issue is the test...21:02
lifelessand the LFA can and should be on the API; but the proxy itself, really that should just be the launchpadlibrarian.net URL21:02
leonardrgary: you can convert a website request into a webservice request, and i think when you do you can specify a version (or it will use the latest version)21:02
lifelesswe *do not want* to serve librarian contenxt via the API21:02
lifelessadeuring: ^21:02
lifelessadeuring: what is your use case21:02
gary_posterleonardr: ah, that makes sense, thanks21:03
adeuringlifeless: the usecase is access to ProxiedLFAs via launchpadlib. The is a bug about it, just a second...21:03
gary_posterlifeless, adeuring, I'm getting out of the way :-)  I was just trying to help21:03
lifelessgary_poster: you're not in the way at all :)21:03
adeuringlifeless: bug 62045821:03
_mup_Bug #620458: cannot access attachments of private bugs any more <httplib2:Unknown> <Launchpad Bugs:Triaged by adeuring> <https://launchpad.net/bugs/620458>21:03
lifelessgary_poster: I'm just leaping on the meta issue21:03
gary_posterheh, but I want to consider myself in the way so I can go do other things ;-)21:04
lifelessgary_poster: fair enough ;)21:04
leonardrgary: specifically, you can cast a request to IWebServiceClientRequest--but i don't know what is the launchpad adapter21:04
adeuringleonardr: the adapter works fine -- testing this is a problem for me...21:05
lifelessadeuring: ok, I see21:05
lifelessuhm21:05
lifelessI'd really rather just finish fixing the private librarian to emit correct public urls21:05
lifelessadeuring: I can almost guarantee that this API will hard timeout a huge amount21:05
lifelessthe apport retracer runs in the DC21:05
adeuringlifeless: sure...21:05
lifelesscan we not just give it the restricted librarian URL for now ?21:05
adeuringlifeless: hrm.... what about other people who ant to acces private librarian files via launchpadlib?21:06
adeurings/ant/want/21:06
gary_postersinzui: ping21:07
lifelessadeuring: what about them ? :)21:07
lifelessadeuring: if they are in the DC, its easy.21:07
sinzuihi gary_poster21:08
lifelessadeuring: if they are not, then we'll *increase* the chance of timeouts and simply not be serving them well21:08
lifelessadeuring: we'll also, because the librarian client has bugs, run a real risk of DOSing the entire appserver cluster.21:08
gary_posterhi sinzui! the linter doesn't like a line in schema-lazr.conf because it is too long21:08
gary_posteris this alright?21:08
gary_poster-cookie_domains: demo.launchpad.net, staging.launchpad.net, launchpad.net, launchpad.dev21:08
gary_poster+cookie_domains: demo.launchpad.net,21:08
gary_poster+                staging.launchpad.net,21:08
gary_poster+                launchpad.net,21:08
gary_poster+                launchpad.dev21:08
gary_posterthings still work21:08
gary_postertests pass and such21:09
gary_posterbut you are keeper of those keys21:09
lifelessadeuring: I have a branch that is about 40% done, which will expose the restricted librarian publically21:09
lifelessadeuring: using an access token.21:09
lifelessadeuring: when that is done, the API can be used to get an access token for such a file.21:09
lifelessadeuring: the basic mechanism will be:21:10
lifeless - LFA can hand out a token on request21:10
adeuringlifeless: I remebr you idea21:10
sinzuigary_poster, yes that works because indentation implies continuation, *and* the callsite is splitting on whitespace21:10
lifeless - the token goes into a short lived store21:10
lifeless - the user gets https://contenthash.restricted.launchpadlibrarian.net/name?token=XXX21:10
lifelessadeuring: cool21:10
sinzuigary_poster, that fix is okay, but I would not assume that always works. I think we should tell lint to not check for long lines in conf files21:11
gary_postersinzui: ok.  Should I not make that change then, do you think?  I have one other question for you: a mini review of a CSS change.  let me put a pastebin up one sec21:11
sinzuigary_poster, I can make the pocket-lint change.21:12
adeuringlifeless: so, you think we should for now simply return the restricted librarian URL in the property api_url in this diff: https://pastebin.canonical.com/36336/ ?21:12
sinzuiI can review the CSS21:12
adeuring(SORRY, ITS A BIT LATE FOR ME)21:12
gary_postersinzui: ok thank you, I will revrt the line changes to the conf file then.  Here's the CSS.  http://pastebin.ubuntu.com/484149/21:12
* adeuring cant turn off caps lokćk,,.21:12
gary_poster(it is a bit late for you, after all :-) )21:13
gary_postersinzui: this is CSS for developer-only profiling bits21:13
gary_posterby biggest question is where it should go in the file, though of course you may have other concerns21:13
sinzuigary_poster, is profiling_info used by more than one page?21:13
gary_postersinzui: potentially by every page in LP21:14
gary_posterit will be used when someone puts a ++profile++ in the URL21:14
lifelessadeuring: I think that that would work. I am really very concerned (maybe I shouldn't be) about the risk of very long requests on the appserver farm21:14
lifelessadeuring: alternatively21:15
lifelessadeuring: you could flip the bit back to how it was before your change, to let apport work ?21:15
adeuringlifeless: erm, then we would have againa public attachment in prvate bugs, right?21:16
lifelessadeuring: yes, but we tolerated that for 5 years or so21:16
sinzuigary_poster, hide_reveal_profiling implies it is a link because it is underlined but it is red. we use blue or green else where21:16
gary_postersinzui, ok fair enough.  (this is developer-only, but consistency is nice)21:17
adeuringlifeless: yes, but frankly, i would feel quite uncomoftable when we "opened" the attachments again21:17
adeuringlet's try the restritced librarian URL21:17
sinzuigary_poster, yes, the point of pointing something in the global css is consistency :)21:18
gary_poster:-) true21:18
sinzuigary r=me with the  colour change. Thank you very much for structuring the rules so clearly21:18
gary_posterthank you sinzui!21:18
lifelessadeuring: it will need an RT ticket to open firewall access, but that should be quite trivial21:25
adeuringlifeless: OK; let's discuss this tomorrow (or in the evening your time) -- it's too late for me now ;)21:25
thumperaah... nice coffee smoothing the pain of morning21:45
cr3thumper: I noticed I was getting older when it started taking more coffees to smooth the pain21:46
thumpercr3: :)21:47
mwhudsonmorning21:53
mwhudsoni don't think that's "older" i think that's just "too used to coffee"21:53
mwhudsongo without for a month and it starts to have more of an effect again :-)21:53
thumpermwhudson: back on the coffee again?21:58
mwhudsonthumper: somewhat21:58
mwhudsontrying not to have more than 2 cups of coffee a day21:58
thumperI'm trying to limit myself to around 6 shots a day21:58
thumpernormally taken 2 at a time21:59
thumperhome espresso machines are good21:59
* lifeless is detoxing22:00
lifelessbeen *so tired* for the last two days22:00
lifelessthumper: good, evil, its a fine line22:00
lifelessthumper: you want a catch up?22:00
mwhudsonoh man, the week where i first stopped drinking coffee about a year ago was horrid22:01
thumperlifeless: yes, I'll ping you later22:01
mwhudsonlifeless: i'm not sure you should be hacking canonical.launchpad.webapp under these circumstances :-)22:02
lifelessmwhudson: indeed22:07
=== matsubara is now known as matsubara-afk
wgrantadded: lib/lp/archiveuploader/tests/test_securityuploads.py.THIS22:54
wgrant(from devel r11453)22:54
wgrantThat seems like a mistake.22:54
jelmerwgrant: yep22:59
jelmerwgrant: also, hi :-)22:59
mwhudsonwhoops23:00
wgrantjelmer: Morning.23:00
jelmerthumper: I'd be interested in having a pre-implementation call about code import bug linking sometime.23:02
jelmerwgrant: Thanks for removing buildbase btw. It conflicted quite heavily with my builddmaster async branch, but it's great to finally see it gone.23:03
wallyworldmorning23:04
jelmerhi wallyworld23:04
jelmerwallyworld: Welcome :-)23:04
wallyworldthanks :-)23:04
thumperhi23:07
wallyworldthumper: g'day23:07
mwhudsonhi wallyworld23:08
wallyworldg'day mw23:09
wgrantHi wallyworld.23:09
thumperwallyworld: see... already more interaction than yesterday23:09
wallyworldhi william23:10
wallyworldthumper: yes, indeed23:10
wgrant:( Distribution.getDevelopmentSeries doesn't return FROZEN series.23:10
wgrantSo my scripts are broken :(23:10
thumperwgrant: really?23:10
thumperwgrant: I thought it would23:10
wgrantSo did I.23:10
lifeless.23:32
wgrantReally?23:33

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