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

wgrant"bzr diff --diff-options='-C 10' -rancestor:../devel" seems to work fine.00:00
StevenKwgrant: Ooh, thanks!00:00
huwshimisinzui: Great, thanks!00:01
huwshimisinzui: How do I manually position that sprite (it always sticks it in the top right of the container right)?00:04
sinzuihuwshimi: you cannot :(00:04
huwshimisinzui: oh00:04
sinzuihowever maybe we can change the generation rules to create more white space to offset when the colour starts00:05
huwshimisinzui: so should I create an html element to contain the sprite and position that?00:05
sinzuiThat will look right, but I think we have a line-height issue00:05
huwshimisinzui: This seems like a pretty fundamental issue with our sprite generator :(00:06
huwshimisinzui: you can't even right/center align or anything then.00:06
sinzuihuwshimi: you are over thinking this. We have something that makes the sprite. We have rules in .sprite that does the basic offset. the other items in the css are non-negitiable00:07
sinzuihuwshimi: that is because the image is a background00:07
lifelesswgrant: whats up with qas codebrowse?00:08
wgrantlifeless: qas http codehosting is broken.00:08
* StevenK kills hudson00:08
* sinzui looks for the sprite generation rules00:08
wgrantlifeless: I am hoping that codebrowse will magically unbreak once HTTP in general works.00:09
lifeless301 look00:09
lifeless301 loop00:09
wgrantOr that buildbot will not explode this time, will update db-stable, and then allow me to QA on staging instead.00:09
wgrantYes.00:09
lifelesswgrant: is there an RT open ?00:09
wgrantlifeless: No.00:09
wgrantBut spm was working on it before.00:09
lifelesswin00:12
lifelessoracle kicked kohsuke from the java.net project for hudson00:13
StevenKThat's a bit rude00:13
lifelessyes00:13
lifelesshttp://java.net/projects/hudson/lists/dev/archive/2011-02/message/1500:14
StevenKlifeless: To be frank, I'm disgusted at ORA for their handling of this00:18
wgrantOh, awesome.00:18
* StevenK is fixing Hudson to actually run a build00:19
StevenKWhich wasn't helped by the cloud controller going off into lala-land00:19
lifelessStevenK: yeah, ditto00:21
wgrantIs anyone not disgusted about Oracle's handling of anything recently?00:22
lifelessoracle?00:23
StevenKHaha00:26
lifelessStevenK: want to review https://code.launchpad.net/~wgrant/launchpad/bug-654585-linkify-bug-acknowledgement/+merge/48254 ?00:27
lifelessflacoste: still around ?00:27
StevenKwgrant, lifeless: Reviewed00:32
lifelessStevenK: you still need a mentor right ?00:32
StevenKlifeless: Right00:32
lifelessthumper: ^ :)00:32
thumperah?00:33
lifelessthumper: you're StevenK's mentor, right ?00:33
thumperyup00:33
* thumper looks00:33
thumperStevenK: do you realise that wallyworld_ is waiting on a review from you?00:33
StevenKOh, argh00:34
* StevenK looks at that00:34
StevenKGot distracted by Hudson being broken00:34
wgrantStevenK: :( zip is awesome00:41
StevenKwallyworld_: Ugh, 960 lines.00:42
StevenKwgrant: Why :( ?00:42
wallyworld_StevenK: it's mostly tests etc00:43
wgrantStevenK: You said you hadn't seen it before.00:43
StevenKwgrant: No, I use map() for that sort of thing, but zip() looks good.00:43
StevenKThe map() in Perl is scarier00:44
wallyworld_StevenK: thanks for review. You completely happy the code used to find the related package branches is ok?00:46
StevenKwallyworld_: Yes, it looks fine, providing your tests exercise it all.00:46
thumperStevenK, wgrant: commented00:47
wallyworld_StevenK: i think they do but i'm not 100% familiar with that part of the domain model so am a little nervous that i have missed something00:47
wgrantthumper: I initially added the class unconditionally, but it seems redundant, may be a lie (when text_to_html is inserted in the middle of some other text), and breaks dozens of tests.00:50
thumperwgrant: hmm...00:51
thumperwgrant: I'm flexible on the conditionalness of the css class, but I think the code needs tweaks00:51
thumperwgrant: it is unfortunate that it breaks so many tests00:51
wgrantAnd yes, your proposal is much easier to understand. The current one evolved from when it was unconditional.00:51
mwhudsonwgrant, StevenK, lifeless: well, at least oracle's behaviour means that everyone should immediately jump ship to jenkins on github, i guess?00:52
StevenKThat'd be nice.00:53
lifelessmwhudson: its not that simple ;)00:53
StevenKlifeless: It isn't?00:53
lifelessmwhudson: sonatype are following oracle; various corporate users have expressed concerns about the discussion with *their* mgmt00:53
mwhudsonurgh00:54
wgrantwell, let's hope that Oracle keeps blundering around destroying things.00:54
StevenKTBH, it seems more like controlled destruction rather than blundering00:56
wgrantThey surely can't want the entire community to evacuate.00:56
StevenKThey haven't been entirely clear and open about what they do want, either.00:58
lifelessthey have00:58
StevenKLast I read, they were still discussing, have things moved on?00:58
lifelessthey want the trademark, the core infrastructure libraries changed to ones with contributor agreements, compulsory contributor agreements for plugin authors00:59
lifelessstrict process00:59
StevenKAnd this while they swear they don't have any customers using Hudson?00:59
lifelessthe have support customers of hudson inherited from sun; they ak'd that. they don't have a hudson /product/ that they sell01:00
thumperrockstar: ping01:04
thumperor anyone else who is familiar with the lazr-js tests01:05
wallyworld_thumper: when you have a spare moment, can you rubber stamp (or not) that related bracnhes mp? i'm still a little nervous that the algorithm used to find the related branches is correct. it looks ok but...01:10
thumperwallyworld_: ok01:11
StevenKthumper: Seems like moveBranch is used by branch.setOwner, which will rename if necessary, but it wants a user to do the move as, and I don't feel comfortable just randomly grabbing at an admin01:27
thumperStevenK: ah... whut?01:27
thumperStevenK: perhaps we should talk this through01:28
StevenKthumper: Sure01:28
thumperStevenK: but give me a few minutes01:28
* wallyworld_ thinks it's interesting that +linkbug on a branch page pops up an ajax form whereas +linkbug on an answer page goes to a separate page. would have expected some consistency there02:11
thumperwgrant: hey, can I throw a bug your way? https://bugs.launchpad.net/launchpad-buildd/+bug/69352402:16
_mup_Bug #693524: java failure in recipe builders <recipe> <Launchpad Auto Build System:Triaged> < https://launchpad.net/bugs/693524 >02:16
thumperwgrant: I was discussing with flacoste and we agreed it is an operational thing02:16
thumperwgrant: seems like an intermittent failure of some kind02:16
thumperwgrant: most likely needs input from lamont02:16
thumpermwhudson: hi, got a minute?02:22
mwhudsonthumper: sure02:22
thumpermwhudson: otp now02:24
lifelesspoolie: https://launchpad.net/~ubuntu-branches/+members#active02:25
poolieyes, i see02:26
thumpermwhudson: mumble or skype?02:26
mwhudsonthumper: skype is usually more reliable02:26
thumperok02:26
mwhudsonlogging in now02:27
mwhudsonthumper: i can hear you!02:27
mwhudsonlet me play with alsamixer02:27
thumpermwhudson: what? no pulse?02:28
mwhudsonthumper: can you hear me now?02:28
lifeless    Hard / Soft  Page ID02:31
lifeless     832 / 8921  Archive:+index02:31
wgrantlifeless: We have a winner.02:33
lifeless\i/02:33
wgrant13:31:23 < lifeless>     Hard / Soft  Page ID02:33
wgrant13:31:24 < lifeless>      832 / 8921  Archive:+index02:33
wgrant13:33:12 < wgrant> lifeless: We have a winner.02:33
wgrantlifeless: Do we have a pattern for caching SQLMultipleJoins?02:36
lifelessgimme a sec02:37
wgrantI think I can probably turn it into a cachedproperty that returns a list. But I am hoping there is a less bad way that I've missed.02:38
lifelessSorry was otp02:39
lifelesswhats the join you're looking at ?02:39
lifelesswgrant: are you talking about caching the collection on a domain object ?02:40
wgrantlifeless: BinaryPackageRelease.files02:41
wgrantI need to prepopulate and cache that.02:41
wgrantApart from iteration its users are fortunately few.02:41
lifelesswgrant: the simplest answer is don't use the .files attributes02:41
wgrantlifeless: Replacing it with what?02:42
lifelesswgrant: actually, lets step back02:42
lifelesswgrant: whats the service point you're optimising ?02:42
wgrantlifeless: CopyChecker.checkCopy and PublishingSet.copyBinariesTo02:42
wgrantThis particular case applies to both, but mostly the former right now.02:43
lifelessthey are internal apis02:43
wgrantAh.02:43
wgrantArchive:+copy-packages and Archive.syncSource.02:43
lifelesswhats the *service* point: LP API or pageid02:43
lifelessok02:43
wgrantBoth.02:43
lifelessdo they deal with > 1 BinaryPackageRelease ?02:43
wgrantYes.02:44
lifelesswgrant: ok, so we need to eager load for some N b-p-r the releated binary package files02:45
lifelesswgrant: we're going to want decorated result set's pre_iter_hook for this02:45
lifelesswgrant: in terms of exposing it, cached property is completely correct02:46
lifelesswgrant: If I was doing it I would:02:46
lifelesschanges 'files = SQLM...'02:46
lifelessto '_files = SQLM...'02:46
lifelesscreate a cachedproperty for files which returns self._files02:46
lifeless - not listified =02:46
lifelessand then eager load from where needed02:47
lifelesswgrant: do you see why not listified ?02:47
wgrantlifeless: No.02:48
lifelessits a collection; adding to a list wouldn't DTRT02:48
wgrantRight, but we never add to the collection, except with addFile.02:48
wgrantAnd the collection will be lazy.02:48
lifelessso perhaps that doesn't matter02:48
wgrantSo we have to return a list.02:48
lifelessthe service pointyou're optimising won't ever access the SQMLMultipleJoin anyway02:49
lifelessbecause you're going to be eager loading02:49
wgrantSo it is going to sometimes return a list and sometimes a ResultSet?02:49
wgrantEr, SQLMultipleJoin, not ResultSet, but same thing.02:50
lifelessnot the same, though similar ;)02:50
lifelessyes, thats correct, because result sets don't cache02:50
wgrantSame problems.02:50
wgranteg. .count() works on one, but not the other.02:50
lifelessSQLMultipleJoin is  SQLObjectResultSet02:51
wgrant(oh how I wish we used SQLAlchemy...)02:51
lifelesswgrant: do you need to do counts() ?02:51
wgrantlifeless: Some places do.02:51
wgrantBut I will make them use len.02:51
lifelesswgrant: in which case, back to my prior statement - stop using .files02:51
wgrantBecause files will be a list very shortly.02:51
lifelesscreate a new thing - e.g. getFiles, have *that* always return a list and cache, and eager load it for the service point.02:52
lifelessor, migrate completely to lists if you like02:52
wgrantThat seems like overkill for something that is an iteration-only attribute anyway.02:52
wgrantRight.02:52
lifelesswgrant: well, its not iteration only from what you say ;)02:52
wgrantOr we could use SQLAlchemy :D02:52
wgrantiteration and counting, no mutation or indexing, then.02:52
lifelessshiny http://www.thinq.co.uk/2011/2/1/new-it-announces-dreamplug-arm-box/02:54
wgrantIs Sheeva ARMv7?02:54
wgrantI thought it was Kirkwood.02:55
thumper[15:16:22] <thumper> wgrant: I was discussing with flacoste and we agreed it is an operational thing02:56
thumper[15:16:36] <thumper> wgrant: seems like an intermittent failure of some kind02:56
thumper[15:16:42] <thumper> wgrant: most likely needs input from lamont02:56
thumperwgrant: not sure if you saw those02:56
wgrantthumper: I didn't. I don't even know what they reference.02:57
thumperwgrant: sorry, I missed the earlier bits02:57
wgrantSorry, my connection was out for 5 minutes or so.02:57
thumper[15:16:07] <thumper> wgrant: hey, can I throw a bug your way? https://bugs.launchpad.net/launchpad-buildd/+bug/69352402:57
_mup_Bug #693524: java failure in recipe builders <recipe> <Launchpad Auto Build System:Triaged> < https://launchpad.net/bugs/693524 >02:57
wgrantAh, right, that bug.02:57
wgrantYay.02:57
wgrantbigjools poked lamont about it a couple of days back, IIRC.02:57
wgrantHe said he didn't know of anything.02:57
thumperhmm...02:58
lifelesswe really need some trigram support in the namecache02:58
wgrantIt sounds like it's running out of RAM, though.02:58
wgrantlifeless: namecache? targetnamecache, or is there another one?02:59
lifelessonly one02:59
lifelessits a little noddy; we might be better off to move the target dereferences into it03:00
wgrantthumper: Hmmm, that's really odd.03:01
wgrantIt's definitely a lamont sort of thing, unless someone else can hijack a virt builder and check it out.03:03
* wgrant wanders out for a while.03:03
stubThere is trigram support in postgresql-contrib. I've not bothered with it yet as it was part of the whole search story and unclear what our goal is.03:07
stub'for sale in the UK' but the power plug in the picture is US. That might be my future media centre.03:10
lifelessstub: I think broadly we want to bring lucene/lucandra in03:10
lifelessstub: but we need stopgaps along the way03:10
lifelessstub: are you able to look at the scripts that restore [qa]staging ?03:10
stubwhats up with them?03:11
StevenKqastaging's database is a few months out of date03:11
lifelessstub: as StevenK says, the qastaging db, while its schema is ok, has very stale data.03:12
stubWe don't have a script to rebuild it?03:13
stubThere seems to be a restore_launchpad_qa.sh in ~postgres/scripts on sourcherry03:14
stubSo I guess a losa needs to run that.03:15
lifelessstub: hmm, I thought the plan was:03:17
lifeless - restore to a temp db; clone that for staging (and patch); clone it for qastaging03:17
lifelessso both would restore at the same time.03:17
lifelessstub: could you run 'explain analyze select count(*) from bug join bugtask on bugtask.bug=bug.id where ftq('kpassgen') @@ BugTask.fti;03:17
lifeless'03:17
lifelesson the prod instances for me ?03:17
stubhttp://paste.ubuntu.com/561236/03:19
lifelessstub: thanks; thats very interesting03:20
StevenKAnyone available to review a branch of mine?03:21
lifelessapparently our full text index is sufficiently poor that a seqscan of all bugtasks is better than an index scan03:21
lifelessfor a search returning one row03:21
lifelessStevenK: shoot03:23
StevenKlifeless: https://code.launchpad.net/~stevenk/launchpad/merge-recipes-during-merge/+merge/4826403:23
lifelesswgrant: want some review practice?03:23
stubI can redo the 'build _new databases' and 'swap into place' processes, which is in database/replication/Makefile in the lp tree. The losa scripts will then need tweaking.03:23
lifelessstub: if you have the time, this would be nice to sort out03:23
stubI'll try and get something to test at the start of the next cycle. If we are desperate this cycle, we should rebuild with the existing process.03:25
stubI'm not sure now why this speeds things up.03:29
stubWe only rebuild staging once per week at the moment because it is replicated, and the bulk of the time is building the replica.03:30
stubAnd rebuilding qastaging is faster with the existing process (restore dump, swap into place) than (restore dump, copy to new db, swap into place)03:31
lifelessstub: not desparate03:32
lifelessstub: whatever is faster is fine; I had an incomplete understanding03:32
stubIt will speed things up if we go to Slony-I 2.0, because then we can use a new feature to build two replicated databases quickly.03:32
lifelessstub: the goal is weekly qastaging rebuilds03:32
lifelessstub: question for you on slony 1.x - with 2 slaves, are transactions done in parallel on the slaves?03:32
stub(restore a db, clone it, set up replication but tell slony the data is already good so no need to copy it from master -> slave)03:32
lifelesse.g. N time on master and then ~N on each slave, but the slaves don't wait for each other03:33
stubIts done in parallel.03:33
lifelesscool03:33
lifelessstub: in which case I think you confused yourself analysing the time for julians type change patch03:33
stubOtherwise replication would stop if any one slave fell over or was down.03:33
stubOh... DDL.03:34
lifelessstub: its the same, surely?03:34
stubI think it is done master then all slaves in parallel. What is the formula on the wiki?03:34
lifelessstub: not sure; just saw you add another 50% for the second slave in backlog here the other day03:34
stubWe tested this and worked out the correct formula  for DDL, but now I'm fuzzy on the actual empirical results :)(03:35
lifelessstub: uhm03:37
lifelessstub: help me out here; where is the bugtask.fti index03:37
lifelessstub: I see a gist index for bug.fti, but none for bugtask.fti03:38
stubFor DDL, it could be either. Depends if Slony's EXECUTE SCRIPT runs the script on all nodes one in series, or all nodes in parallel, or creates an event that goes through the normal replication channels, or runs on the master then creates an event so changes propagate to the slaves per normal replication.03:38
stubThink the latter.03:38
stubWhoops. I guess we lost the index somewhere. They get created by fti.py.03:40
stubPerhaps when experimenting with GIN indexes a few years ago?03:40
stubOr fti.py might be broken and the index never got created...03:41
lifelessstub: could you create it on qastaging?03:42
lifelessI'm looking at this 7 second query, and 4 seconds of it seems to be text search03:42
lifelesswallyworld_: whats the bug you're working on that bug 711619 is a dup of ?03:45
_mup_Bug #711619: "Merged at revision" in merge proposal pages doesn't link to the revision <Launchpad itself:New> < https://launchpad.net/bugs/711619 >03:45
stublifeless: its building now03:46
lifelessstub: wicked, thanks.03:46
wallyworld_lifeless: i'll look03:46
lifelesswallyworld_: perhaps its not a dup; but it seemed to be offhand to me.03:46
stublifeless: Created03:49
lifelessstub: \o/03:49
wallyworld_lifeless: i'm landing bug 33433603:49
_mup_Bug #334336: Show which branch and bug are related to a revision <bugjam2010> <lp-code> <qa-ok> <Launchpad itself:Fix Committed by wallyworld> < https://launchpad.net/bugs/334336 >03:49
wallyworld_i'm only doing the extended reision listing on the branch index page though03:50
wallyworld_the merge proposal page is unchanged03:50
lifelessstub: drops the queries I was trying from 800ms to 50ms03:50
stubI'm creating the indexes on production (Bug #711632)03:51
_mup_Bug #711632: BugTask.fti missing an index <Launchpad itself:Triaged by stub> < https://launchpad.net/bugs/711632 >03:51
lifelessstub: thanks!03:51
lifeless         ->  Seq Scan on bugtask  (cost=0.00..52921.26 rows=158774 width=152) (actual time=0.022..550.938 rows=184186 loops=1)03:51
lifeless               Filter: ((distribution = 1) AND ((status = 10) OR ((date_incomplete IS NOT NULL) AND (status = 15)) OR (status = 15) OR (status = 20) OR (status = 21) OR (status = 22) OR (status = 25)))03:51
lifeless><03:52
* wallyworld_ hates qastaging timing out all the time :-(03:52
wallyworld_lifeless: if you want to see what it looks like: https://code.qastaging.launchpad.net/~bzr-pqm/bzr/bzr.dev03:53
wallyworld_bear in mind most bzr revs have linked branches03:53
wallyworld_many other series don't and only one or two revs will have those links03:53
pooliehi ian03:54
wallyworld_hi poolie03:54
pooliewallyworld_, oh, wow, that is nice03:54
wallyworld_makes it easier to get to stuff, that's why i picked up that branch during the bug jam - thought it would add value03:55
wallyworld_had to out it on hold while i was on leave, but landing now :-)03:55
poolieit would be nice if the bug icon was colored and the status/importance was shown03:55
wallyworld_s/branch/bug03:55
pooliei guess if this is already landed that could be done as a follow on03:55
wallyworld_hmmm. i just use the default rendering.03:56
wallyworld_perhaps if a bug is fixed it is always grey03:56
wallyworld_but i could show the importance03:56
wgrantwallyworld_: That requires identifying the task.03:57
wgrantMPs and branches already have code to do that, though.03:57
wallyworld_that would have to be another branch though, since this one is already qa-ok03:57
lifelesswallyworld_: ui thought; 'with linked bugs' is prose-like, but this isn't prose03:57
lifelesswallyworld_: just having the indented table of bugs is pretty self explanatory03:58
wallyworld_poolie: raise a bug if you want anything extra added :-)03:58
wallyworld_lifeless: i agree now that you point it out :-)03:58
lifelessAt least 178 queries/external actions issued in 2.18 seconds03:58
stublifeless: You might want to add input to https://code.edge.launchpad.net/~gary/launchpad/bug548-db/+merge/48263 , which is adding a boolean flag to Person.03:58
lifeless thats reasonably snappy; could reduce the qquery count a little03:58
lifelesswallyworld_: nice work03:58
lifelessstub: is there a better place to add it?03:59
wallyworld_ta03:59
lifelessstub: ah, I see04:00
stublifeless: New table maybe. At the moment, personal settings like this just got tacked onto Person (like the existing verbose_bugnotifications flag)04:00
stuband mailing list subscription policies04:00
lifelesscommented04:03
* wallyworld_ wonders why fields on ajax popup render in different order to when a separate page is rendered for the no script usage?04:04
StevenKlifeless: O hai, did my review fall off your radar?04:04
lifelessStevenK: I'm mentoring wgrant04:04
lifelessStevenK: and hes awol (lunch I guess)04:04
wgrantOh, sorry, forgot about that.04:04
* wgrant looks.04:04
* StevenK reads scrollback04:05
StevenKOh, now I see the prod. Sorry.04:05
StevenKlifeless: As a 'yes, this is a good idea' or 'no, this idea sucks' re bug 71163604:05
_mup_Bug #711636: Support linking bugs directly from the MP <Launchpad itself:New> < https://launchpad.net/bugs/711636 >04:05
lifelessStevenK: nice idea04:07
pooliewallyworld_, what tags should such a bug have?04:08
wallyworld_perhaps just ui?04:09
wallyworld_i don't think it's confusing-ui04:09
poolieno, i was wondering if it was 'code' or something04:09
pooliebut perhaps that's irrelevant now04:09
wallyworld_that's what i was thinking04:09
wallyworld_poolie: could you also add a comment to remove the "with linked bugs" prose pretty please as per a comment a few lines back :-)04:10
wallyworld_it can be done as the one branch then04:10
pooliesure04:10
wallyworld_thanks04:10
pooliei agree with that too04:10
poolieis it just me or is that font especially tiny?04:11
wallyworld_i made it small (but hopefully readable) to ensure the rev listing didn't require so much page space with all the new info shown04:11
wallyworld_i can read it ok. do you think it's too small? it passed a proper ui review04:12
poolieoh ok04:12
pooliei can _read_ it04:12
poolieit just kind of jars04:12
poolieit's something like 50% of the size of the regular body text04:12
poolieand it's not really fine-print informaiton04:12
wallyworld_i like it because it still allows you eye to scan the individual revision lines easier04:13
pooliefor instance it's 50% smaller than the copyright notice, and i care much more about the bugs04:13
pooliewell, i just thought i'd mention it04:13
wallyworld_i can see your point too though04:13
poolienot a showstopper04:13
wallyworld_maybe we could let the dust settle so to speak and see if there are many complaints04:13
wallyworld_easy to change if required04:14
pooliewallyworld_, what happens if the bug was directly fixed in that revision rather than by a merge?04:14
poolieit's still shown, but not indented?04:14
pooliesure04:14
wallyworld_the bugs which are shown are those linked to the merged branch. so no branch = no bugs04:14
stublifeless: For design, I'm leaning towards PersonSettings and TeamSettings. Columns not filtered on and the appserver doesn't need when dealing with lists of people can be moved into one of those two. So Person.displayname stays, but mail_resumption_date goes to PersonSettings and renewal_policy, mailinglist_* goes to TeamSettings.04:15
wallyworld_that's the current behaviour04:15
wallyworld_poolie: perhaps something else to add to your bug report?04:15
stubWe start getting explicit separation of team/person then too, while keeping Person as PersonOrTeam which has been useful and will be hard to change.04:16
pooliewallyworld_, https://bugs.launchpad.net/launchpad/+bug/71164104:18
_mup_Bug #711641: bugs directly fixed in a revision aren't shown in branch view <Launchpad itself:New> < https://launchpad.net/bugs/711641 >04:19
thumperlifeless: should we be doing "except Foo, e" or "except Foo as e" ?04:19
poolieto me that's more of an actual bug (if true) not just a tweak04:19
wallyworld_poolie: agree. i'll look at it and do a fix sooner rather than later if there's a problem there04:19
pooliehttps://bugs.launchpad.net/launchpad/+bug/711643 for the nits04:20
_mup_Bug #711643: tweaks to branch merged-revisions view <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/711643 >04:20
lifelessthumper: either04:20
pooliethanks for adding it though04:20
wallyworld_poolie: will likely be next week after 11.02 rollout04:20
lifelessthumper: I'd write as e for things which are in lp core; things which bzr may want, for instance, we'll want python 2.4 compat04:20
wallyworld_poolie: np. spiv was interested as well in this feature i think04:21
pooliewallyworld_, btw, i'll help you and spm roll out the forking lp-serve changes next week04:21
poolieit's on the LPS page as an unusual deployment task04:21
thumperok04:21
StevenKthumper: No mail from Aaron?04:21
lifelessstub: could you look at my last comment in bug 661988 - is there anything else we can /should do? and would a union like that be useful or nuts.04:22
_mup_Bug #661988: Timeout on Distribution:+bugs search <lp-bugs> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/661988 >04:22
thumperStevenK: yes actually04:22
wallyworld_poolie: thanks. i hadn't yet followed up with that stuff04:22
thumperStevenK: I'll forward it to you04:22
lifelessstub: lastly, why do we bother having a bugtask fti column at all?04:22
StevenKthumper: Thanks04:22
stublifeless: Full text search on targetnamecache?04:23
stuband statusexplanation (dunno why we want to search on that)04:25
stub kde-guidance (Ubuntu)                    | 'back':70C 'bug':9C,45C,53C 'chang':67C 'click':57C 'close':7C 'column':65C 'comment':27C 'current':60C 'describ':23C 'futur':49C 'give':34C 'guidanc':3B 'hesit':42C 'inform':15C,38C 'investig':19C 'kde':2B 'kde-guid':1B 'lack':13C 'miss':37C 'need':17C 'new':72C 'pleas':28C 'previous':26C 'problem':21C 'reopen':29C,51C 'report':10C,46C,54C 'status':61C,64C,69C 'submit':44C 'thank':73C 'ubuntu':4B 'us'04:25
stub update-manager-core (Ubuntu)             | 'core':4B 'manag':3B 'ubuntu':5B 'updat':2B 'update-manager-cor':1B04:25
stub mozilla-firefox (Ubuntu)                 | 'around':26C 'b':31C 'back':37C 'check':50C 'complet':45C 'disabl':46C 'experi':41C 'firefox':3B 'flash':10C,22C,48C 'flash-play':21C 'float':25C 'folder':30C 'home':29C 'incompat':20C 'inde':8C 'left':58C 'ly':32C 'mozilla':2B 'mozilla-firefox':1B 'ok':5C 'old':16C 'player':23C 'pleas':35C 'plugin':49C,53C 'presum':19C 'problem':42C 'report':36C 'still':24C,40C 'ubuntu':4B04:25
lifelessthumper: is monday a pub hoiday?04:27
thumperlifeless: do you want it to be?04:28
lifelesswould be nice :P04:28
thumperthat it would04:28
thumperI think if all NZers agree, then it should be04:28
thumperwe only have to convince mwhudson and pjdc04:28
thumper:)04:28
lifelesswaitangi day is feb 604:28
thumperyes04:28
thumperit is also the weekend04:28
mwhudsonsadly it is not a holiday04:28
pooliewallyworld_, oh also https://bugs.launchpad.net/launchpad/+bug/71164704:29
_mup_Bug #711647: link from branch page to merge proposals <code-review> <easy> <ui> <Launchpad itself:Confirmed> < https://launchpad.net/bugs/711647 >04:29
StevenKlifeless: But you don't know what 'holiday' means?04:29
thumpermwhudson: if enough of us agree it could be04:29
thumpermwhudson: who'd tell them?04:30
thumperthem being people and culture :)04:30
mwhudsonhttp://www.stuff.co.nz/the-press/news/4593872/Labour-offers-to-Mondayise-public-holidays04:30
mwhudsonwell, this is a fair point04:30
thumpermwhudson: oh I know the current news04:30
lifelessah04:30
StevenKwgrant: Thanks for the review. I'll fix all of the points.04:31
lifelessunlike christmas its not moved04:31
lifelesshttp://www.ers.dol.govt.nz/holidays_act_2003/dates/2010_13.html04:31
wgrantStevenK: Not pushed yet, or is LP being stupid?04:31
stublifeless: LEFT JOIN is LEFT OUTER JOIN, unnecessary since all BugTasks have a corresponding Bug.04:31
wallyworld_poolie: those links in the revision listing are to the merge proposal04:32
wallyworld_but they render as the source branch name04:32
lifelessstub: yes, I've been testing with inner joins, no impact04:32
poolieah, doh04:32
pooliethey're all 404 on qastaging so i didn't realize that04:32
pooliewhat if there is no mp then?04:32
wallyworld_i think the data on qastaging is way old04:32
poolieto be precise, 500 not 40404:33
pooliesure04:33
poolieit doesn't have all branches04:33
pooliewallyworld_, in some ways it's weird to have a link with just the branch name go to the mp04:33
poolieit's inconsistent with almost everywhere else04:33
wallyworld_if there's no mp, then nothing is shown, the idea being (for launchpad at least) that all merged must come as a result of a mp04:33
pooliei agree it's the most useful link to have04:33
lifelessthere is bug with the librarian on [qa]staging04:34
lifelessit doesn't have all the data04:34
lifelessand doesn't forward to the main librarian consistently04:34
wallyworld_the text you want to see is typically the branch, but the link goes through to the mp so you can see what was done etc04:34
wgrantlifeless: It forwards consistently. Except restricted files, which it doesn't do at all.04:36
lifelessright04:36
lifelessso its inconsistent :P04:36
lifelessfixable04:36
lifelessjust need tuits04:36
wgrantYeah.04:37
poolieah, actually https://code.qastaging.launchpad.net/~nmb/bzr/239523-quiet-tag/+merge/37555 is a timeout error04:37
pooliehttps://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1859QS704:37
pooliewallyworld_, i do think there's a ui bug here somewhere04:38
poolieperhaps it can be fixed as simply as just extending the link region to be04:38
poolieover the wards 'merged branch' too04:38
pooliemaybe it doesn't matter04:38
wallyworld_poolie: pooliethat oops link doesn't work for me04:40
wallyworld_is it just the timeout?04:41
StevenKwgrant: TypeError: 'GenericBranchCollection' object is not iterable :-(04:41
wallyworld_not sure about including 'merged branch' in the link though04:41
wgrantlifeless: Why always use the ID columns?04:42
wgrantStevenK: Is there an obvious method to materialise it?04:42
wgrant.getBranches()04:42
StevenKwgrant: Oh, call .getBranches() on the collection?04:43
wgrantStevenK: Yes.04:43
wgrantStevenK: the collection can also be used to get MPs and stuff, so it's not directly iterable.04:43
pooliewallyworld_, try the oops again now; there is some flakiness04:43
wallyworld_poolie: that's just qastaging timing out as has been its want of late :-(04:44
pooliesure04:45
wallyworld_most times lately i've had to hit refresh several times for each new page i want to load04:45
wallyworld_seems to have gotten worse04:45
pooliejust thought i'd mention it, seemed quite persitent04:45
StevenKwgrant: Which makes my tests break :-(04:45
wallyworld_poolie:  yeah, np.  quite frustrating04:46
StevenKOh, I know why04:46
StevenKThe objects from the store aren't security proxied04:46
wallyworld_poolie: i'm told it the server for qastaging "only" has 32GB of memory or something like that04:46
StevenKwallyworld_: The *db* server04:46
StevenKAnd it's shared with staging04:47
wallyworld_oh, yes. sorry. misremembered04:47
StevenKwgrant: Your choices are: 1) Use removeSecurityProxy, 2) Go back to using IMasterStore. Which of those two bad opinions do you like?04:47
wgrantStevenK: For what?04:48
wgrantOh.04:48
wgrantHm.04:48
wgrantNo, for what?04:48
StevenKwgrant: _mergeBranches04:48
wgrantWhy?04:48
StevenKwgrant: getUtility(IBranchCollection).ownedBy(from_person)04:49
StevenKwgrant: That returns security-proxied objects, using the Store doesn't.04:49
* thumper EODs04:49
wgrantStevenK: rSP is better.04:49
wgrantMore explicit.04:49
wallyworld_thumper: that failed ec2 land (the smtp error) - i ran the test via ec2 keeping the console open and they all passed. so i'm stuffed if i know why 2 ec2 land attempts failed. should i just lp-land directly?04:52
lifelesswgrant: avoids a few failure modes04:54
lifelesswgrant: Reference == Reference -> BOOM (bug filed on storm)04:54
lifelesswgrant: Reference == object -> late evaluation04:54
StevenKlifeless: I've stopped doing that anyway, based on wgrant's suggestions.04:55
lifelessStevenK: sure; I'm documenting why the suggestion per wgrant's query04:56
lifelesshttp://techcrunch.com/2011/02/01/bing-google-fight/ is hilarious04:58
StevenKwgrant: Changes pushed, diff updated05:00
wgrantlifeless: Could you please mentor that?05:02
lifelesssure05:02
wgrantStevenK: I am quite a fan of your _mergeBranches reduction.05:02
StevenKI know, it's awesome!05:03
StevenKPicking apart direct SQL, one cur at a time?05:03
StevenKwgrant: I can drop the cur argument from _mergeBranches and _mergeSPRecipes; or you don't care?05:04
wgrantStevenK: Missed that. Please do.05:05
lifelessoh05:07
lifelesshang on05:07
lifelesswhy are you changing from using UPDATE?05:07
lifelessdoing this in python is a sure fire way to make it crawl to a halt05:07
wgrantIt already iterated over all branches.05:07
lifelesswgrant: that sfine05:07
wgrantAh, because we're now getting the actual branch objects, where we weren't before?05:08
lifelessno05:08
lifelessbecause we're issueing one update per branch05:08
lifelessrather than one update.05:09
wgrantWe always were.05:09
* lifeless rereads05:09
wgrantI had to read it a couple of times, yeah.05:09
wgrantIt looks like it uses SQL to batch it.05:09
wgrantBut no.05:09
wgrantIt just uses it to be awkward.05:09
lifelessreviewed05:16
lifelessI think it needs  alittle more work, sorry.05:16
StevenKlifeless: nr is naked recipe05:17
lifelesspoolie: do you have permission to set bugs to 'triaged' ?05:17
lifelesspoolie: if not, I'd like to get you such permission so you can do triage :)05:17
wgrantrSP is inevitable in this sort of code.05:18
lifeless(in bugs about launchpad itself)05:18
lifelessStevenK: nr is very much a wtf variable name.05:18
lifelessStevenK: pep 8 says it would be n_r at minimum05:18
StevenKlifeless: How is possible that the merge operation would ever be permissible? You're effectively forcibly changing the owner out from under the current owner05:19
StevenKAnd ew, I like n_r even less05:19
lifelessStevenK: then perhaps naked_recipe :)05:19
lifelessletters are free05:19
StevenKI was trying to avoid that05:19
wgrantStevenK: I think we are tainted by Soyuz, where acronyms are inevitable.05:19
lifelessno charge05:19
lifelessStevenK: the person delete is the last step to occur, permission checks should pass trivially.05:20
StevenKThey don't05:20
StevenKlifeless: And I can't think of a way to do a mass update -- how does that handle name conflicts?05:20
StevenKAside from bailing :-)05:20
wgrantHow should they pass trivially?05:20
wgrantWe are stealing someone else's objects.05:20
lifelessone thing at a time05:20
lifelesswgrant: we should be running in the context of the user handing the objects over05:21
wgrantlifeless: Heh.05:21
StevenKAnd they still don't have permission to edit someone elses objects?05:21
lifelessStevenK: they don't need it? they edit their own object to be acceptable, then hand it over.05:22
wgrantThey shouldn't be able to do that.05:22
wgrantThey can, but it's a bug.05:22
StevenKActually, merge code is called from the person *recieving* the objects05:22
StevenKIt's *merge* *into*05:22
lifelessso, if thats the case, we will need rsp, but its a *bug* that we need it.05:22
wgrantYou can't reassign a recipe to someone else, only one of your teams.05:23
lifelesswgrant: I would solve this by establishing a temporary team binding the two accounts together, both in admin roles05:23
wgrantPerhaps merge needs to adopt both security contexts.05:23
lifelessright05:23
poolielifeless, i have permission to triage bugs in lp05:23
wgrantBut that sounds somewhere between difficult and OMGZOPEKILLMENOW05:24
lifelesswgrant: StevenK: rsp will be ok, but please add #fuglywhy notes where it is used.05:24
pooliei thought i triaged the ones i filed now05:24
pooliei might have missed on05:24
lifelesspoolie: you marked them confirmed05:24
lifelesspoolie: rather than triaged05:24
lifelesspoolie: (or at least one of them)05:24
pooliejust a slip05:24
lifelessno worries05:24
StevenKlifeless: rSP comment added, smaller comment addressed.05:25
StevenKlifeless: The two three line comments make sense to me, and obviously made sense to wgrant05:26
lifelessso the from person has a recipe with the same name as the to person05:26
lifelesstype(left) == recipe05:26
lifelesstype(right) == person05:26
StevenKRight05:27
lifelesswhich is bogus05:27
StevenKHow is it bogus?05:27
StevenKUsers are free to name recipes whatever they want05:27
lifelessbut the name of the person doesn't matter, does it ?05:27
StevenKNo, the name of the recipe is utterly seperate05:28
StevenKJust like the name of a branch05:28
lifelessRight, but the comment talks about the name of the *to person*05:28
lifelessI think we can rephrase it to avoid that :)05:28
StevenKif the from person has a recipe with05:28
StevenK        # the same name as the to person,05:28
StevenKI thought the 'has' would encompass both?05:28
StevenKThat was the intent05:29
* poolie wonders if it would be faster to write a non-email client than to get through all jelmer's bugspam :/05:29
lifelessPerhaps this:05:29
lifelessIf both the from and to people have recipes with the same name, merging renames the duplicate from the from person's side.05:30
wgrantI thought the new policy was not to nitpick this sort of thing? I am happy to, but I thought we'd decided to avoid it.05:30
lifelesswgrant: its to only deal with things that cause confusion05:30
lifelesswgrant: I read it and my brain exploded05:31
StevenKMission accomplished05:31
StevenKWhen Sarah asks me what I did at work today, I can tell her I made lifeless' brain explode.05:31
lifelesswgrant: when its a 'you say tomato' problem, theres no real benefit in trying to make everyone happy; when its unclear or wrong, it will cause wtfs on reading.05:31
lifelesswgrant: I've not been arguing for permissive, I've been arguing for functional.05:32
wgrantlifeless: Sure.05:33
wgrantI will do so in future.05:33
lifelessStevenK: so the problem (for me) with what you wrote was 'same (name as the to person)' - changing that to 'same name (as a recipe of the to person)' [() for clarity] would avoid the brain boom05:33
lifelessStevenK: that said, what do you think of my total rephrase?05:33
lifeless18:30 < lifeless> If both the from and to people have recipes with the same name, merging renames the duplicate from the from person's side.05:33
StevenKlifeless: I liked it, so I've used it05:34
lifelesscool05:34
StevenKlifeless: Changes pushed.05:34
lifelessStevenK: +    def test_merge_moves_branches(self):05:37
lifeless121+        # When person/teams are merged, branches owned by the from person05:37
lifeless122+        # are copied.05:37
lifelessStevenK: and similarly in test_merge_moves_recipes05:37
lifelessStevenK: is it copy, or merge.05:37
lifelessI mentioned this in my review05:37
lifelessas it stands, noone can determine your intent05:38
StevenKThe diff hasn't updated05:38
lifelessoh05:39
lifelessfooey05:39
StevenKlifeless: *Now* it has updated.05:40
StevenKlifeless: :-(05:49
StevenKlifeless: I'd hope the WTFPM is zero05:50
lifelessStevenK: can't be, we haven't solved the root cause05:51
lifeless(security context craziness)05:51
StevenKrm -rf zope05:52
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/| PQM is open | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
lifelessstub: would nuking the nametargetcache and instead searching on the targets (20K vs 400K) help ?05:54
stubWe used to do that IIRC... and targetnamecache was the 'solution'05:56
lifelesssolutions are often moving targets ;)05:57
lifelessor really stopgaps (like prejoin)05:57
lifelessand sometimes genuine problems themselves ;)05:57
stubtargetnamecache contains quite a bit - I'd have to check the script to see all the sources.05:57
stubSo minimal impact would be working out trigrams and making the substring search fast. Next option would be turning off substring search (changing search behavior, but not sure how many people will notice). Next option dropping targetnamecache and doing substring search (or trigram) on pillarname.name (searching on less information, but people want fewer bugs rather than more don't they? :) )06:02
stubI'd go for dropping the ILIKE personally, but then I don't generally hear the screams of annoyance from our users ;)06:03
stubLeaving dropping targetnamecache altogether for our Search Solutionâ„¢06:04
lifelessI'll mail ubuntu-devel about that06:04
stubThe answer will be 'noooo', but most of that will be because people won't know things will work without it or know if they are making use right now.06:05
stubPerhaps drop the ILIKE if a feature flag is set so we can point people at the faster but more limited version?06:06
lifelessmailed06:09
lifelessstub: that would be a good way to experiment06:09
LPCIBotProject devel build (409): STILL FAILING in 6 hr 33 min: https://hudson.wedontsleep.org/job/devel/409/07:01
wgrantCan I knock windmill out of the test suite again? Plllllease?07:02
wgrantIs there more to making a custom egg than hacking the version in setup.py and running sdist?07:57
lifelessshouldn't be08:06
lifelesscheck __version__ matches08:06
wgrantSigh.08:11
lifelesswgrant: so08:14
lifelessrev 1229008:14
lifelessis it qa bad?08:14
wgrantlifeless: I marked it as such a couple of minutes back.08:14
lifelesskk08:15
lifelesswas just eyeballing deployment-stable08:15
lifelessI might get 12289 deployed08:15
lifelessBugMessage.index ftw08:15
wgrantI still have a 12293 deployment request sitting in a text editor.08:16
wgrantYou might want to grab its bug numbers, unless you want to reharvest them yourself.08:16
lifelessoh foo, can only doo 1227608:16
wgrantOh, right, yes.08:17
lifeless90 being fixed would let 93 be goodd08:17
lifelessI'll add the security.py to unusual rollout nodes08:17
=== almaisan-away is now known as al-maisan
lifelesswgrant: fyi I've qa'd all the other revs08:43
adeuringgood morning08:55
allenapMorning adeuring :)08:58
adeuringhi allenap!08:58
wgrantOMG09:08
wgrantlucid_db_lp passed!09:08
mrevellHello09:15
jtvhi mrevell!09:17
mrevellHey there jtv09:17
wgrantUh.09:22
wgrantMassive devel failure.09:22
bigjoolshelleau09:22
lifelesswgrant: ?09:23
wgrantlifeless: r12302 (the SQL parameter logging thing) appears to be spectacularly broken.09:23
wgrantbuildbot should fail shortly.09:23
wgrantHmm, maybe not. It says <1 min left, but it's only done a couple of thousand tests (with 80ish failures).09:24
lifelesswallyworld: you did ec2 land that, right ?09:30
wgrantI guess I won't throw that openid thing at ec2 just yet.09:33
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/| PQM is open | firefighting: - | On call reviewer: jtv | https://code.launchpad.net/launchpad-project/+activereviews
wgrantlifeless: Should we roll that back?09:43
wgrantIt's not obvious what exactly is wrong, so fixing it sounds less trivial than I would hope.09:44
lifelesswhere are you seeing the fail ?09:45
wgrantlifeless: lucid_lp09:45
wgranthttps://lpbuildbot.canonical.com/builders/lucid_lp/builds/581/steps/shell_6/logs/summary09:45
lifelesslet me wait for openid....ok09:45
lifelessyeah thats borked09:46
lifelessrollback09:46
wgrantk09:46
lifelesswallyworld: we're rolling it back, its naffed.09:46
wgrantIt's a couple back in the queue now.09:51
* wgrant wanders off for a while.09:51
* bigjools waits before ec2 landing stuff then09:54
lifelessallenap: hi10:10
lifelessactually, nvm.10:10
allenaplifeless: Hi anyway :)10:11
lifelesshi :)10:11
lifeless<- slightly batty today10:11
lifelessnight all10:15
bigjoolswgrant: are you working on the remaining log parser errors?  (or is it a pending-landing fix you already did?)10:35
wgrantbigjools: Pending deployment.10:37
wgrantI believe they're all fixed.10:37
bigjoolsawesome10:37
bigjoolsnow, where has my daily soyuz report gone....10:37
wgrantmpt wants to make our database explode :(10:38
bigjools:)10:38
bigjoolsit would be a great change10:38
wgrantIt would.10:38
wgrantI've wanted it for a while. But it's going to be a biggish table.10:39
bigjoolsresorting to dpkg -S sucks10:39
bigjoolsyeah, will need some interesting fti work10:39
bigjoolsoh man I can't wait for this debversion column to come in10:40
bigjoolsit's going to speed up so much stuff10:40
wgrantWe can hope.10:40
bigjoolsno hoping, I know!10:40
bigjoolshttps://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1858B281610:40
bigjoolslook at the top query10:40
bigjools2nd one makes me cry but for entirely different reasons10:41
wgrantIt still needs cross-table indices to be not slow.10:41
wgrantThis will make it less slow.10:41
wgrantBut it will still be slow.10:42
bigjoolsdebversion_sort_key is 90%+ of the time10:42
wgrantHmm.10:45
wgrantIt would still be nice to have indices :)10:45
wgrantCome on PQM, unbreak devel faster.10:47
bigjoolsyeah, they'll come in time but one thing at a time10:51
wallyworldlifeless: wgrant: i ec2 tested it and it all passed, 12000+ tests10:56
wallyworldi have the email to prove it :-)10:57
bigjoolsstub: so where are we at with the debversion stuff?10:57
wgrantwallyworld: Huh.10:58
wallyworldwgrant: the branch that's being rolled back - the sql logging one10:58
wallyworldjust got back to my computer and saw some chatter about issues with that branch10:59
wallyworldwgrant: how did it show up as borked? given all ec2 tests passed i'd like to know what happened11:00
=== matsubara-afk is now known as matsubara
stubbigjools: If you merged back my branch, ready to land as far as I'm aware - apart maybe from getting launchpad-database-dependencies installed on various boxes. But I suspect we don't want it this cycle as we won't have enough time for testing.11:02
bigjoolsstub: it's been on dogfood for a week, I'm happy with it11:02
bigjoolsI'll chat to lifeless and see what he thinks11:04
stubThen I guess its full steam ahead from my pov.11:04
wgrantwallyworld: https://lpbuildbot.canonical.com/builders/lucid_lp/builds/581/steps/shell_6/logs/summary11:04
bigjoolsstub: ok cool, I'll land it11:05
wgrantwallyworld: The change looks reasonable, too :/11:05
bigjoolswell when I've talked to rob11:05
lifelessbigjools: you're in luck, I was just about to really turn in11:05
wgrantwallyworld: But I can reproduce it locally11:05
bigjoolslifeless: woohoo11:05
wgrantwallyworld: nascentupload.txt is the one I just tried.11:05
stubShouldn't be an hour to apply either - 20-30 mins.11:05
wallyworldwgrant: thanks, i'll take a look. i also want to find out how my ec2 test run passed everything11:06
wgrantwallyworld: Could you forward the email?11:06
lifelessbigjools: so be quick :)11:06
lifelessbigjools: whats up?11:06
bigjoolsstub: right, 2* what staging took minus fudge factor is what I though11:06
bigjoolst11:06
bigjoolslifeless: I want to land the debversion change11:06
bigjoolslifeless: and wondered what your thoughts are11:07
lifelessbigjools: What day is the releasE?11:07
lifelessdb deploy11:07
lifelessthingy11:07
wallyworldwgrant: when i tried to ec2 land it, i got an email complaining an smtp attachment was too big, so i did an ec2 test run instead with the console held open to see if any failures would show up and everything passed11:07
bigjoolsuhrm11:07
bigjoolsnext week11:07
lifelessyeah, thursday I think11:08
lifelessso11:08
lifelessif it:11:08
lifeless - passes tests11:08
wallyworldlifeless: 9th feb11:08
bigjoolsit's been on dogfood for a week and seems fine11:08
bigjoolsI've hammered various bits with it11:08
lifeless - is measurably faster in the case we're working on11:08
wallyworldwednesday utc11:08
lifeless - and has stubs blessing11:08
lifelessthen I think we're in decent shape to do it11:08
bigjoolsschweet11:08
bigjoolslifeless: I'm just worried about package dependencies11:08
lifelessbigjools: I think you nede to build a new AMI11:09
lifelessor something11:09
lifelessfor buildbot11:09
bigjoolslifeless: that's fucking insane :/11:09
lifelessbigjools: AIUI it doesn't auto upgrade its package11:09
wgrantwallyworld: Oh, it was that branch?11:09
wgrantwallyworld: Hmm.11:09
bigjoolslifeless: we need to fix that11:10
wallyworldwgrant: just look at the email now - i want to check something first11:10
wallyworlds/look/looking11:10
lifelessbigjools: we're nuking buildbot11:10
bigjoolslifeless: I suppose I need to fix buildbot as well?11:10
lifelessbigjools: that will go a long way :)11:10
* bigjools hunts for desctructions11:10
lifelessbigjools: the losas have installed the dependency on all db machines; worth checking with mthaddon about whether he updated bb instances too11:11
bigjoolsok thanks lifeless, go to bed now11:11
lifelesswallyworld: whats this thing about mpt ?11:11
wgrantwallyworld: It is rather disturbing, although not at all unbelievable, that ec2 has some horrible bug here.11:11
wallyworldlifeless: what does mpt mean?11:11
lifelesswallyworld: matthew paul thomas11:11
mptMany people have asked that question11:11
bigjoolswgrant: or we have different packages installed ....11:11
wallyworldwgrant: i'd blame me before ec2. i had to have dome something wrong i'd say11:12
wgrantlifeless: I think you meant me.11:12
lifelessi did11:12
wallyworldlifeless: why you asking? now sure what you mean?11:12
lifelessdarn11:12
lifelesswgrant: whats this thing ..11:13
wgrantlifeless: mpt (hi mpt) wants to put Contents in the DB.11:13
wgrantA good idea.11:13
wgrantBut slightly scary.11:13
lifelesswgrant: thats the binary file mapping ?11:13
bigjoolswe eat scary for breakfast in soyuz11:13
mptwgrant, is it a problem that I don't know what you're talking about? :-)11:13
lifelesswgrant: its only a few GB for all uploads ever to Ubuntu11:13
lifelesswgrant: I've  readyt made schema with fast queries we can use in the conflictchecker.11:13
wgrantlifeless: Yes.11:14
lifelessbigjools: ok, you're unblocked?11:14
wgrantBut it's still quite a few rows.11:14
lifelesswgrant: 4M or something small like that11:15
wgrantlifeless: +ppa11:15
bigjoolslifeless: yarp, thanks11:15
lifelesswgrant: files are pretty much statick11:15
lifelesswgrant: the join table is rather larger, but it has excellent selectivity11:15
wgrantTrue.11:15
lifelesswgrant: is there a LEP ?11:16
wgrantNo.11:16
lifelessso, lets have one11:16
* wgrant throws the codebrowse fix at ec2.11:16
lifelesswe'll want use cases for schema design, the cases conflictchecker does may not match.11:16
lifelesssayonara11:16
wgrantNight.11:16
bigjoolsnight11:16
lifelessoh11:17
lifelessone more thing11:17
wgrantHmm.11:18
lifelessmpt: how do you feel about 'to use new features you must have javascript' being a default position for LP development ?11:18
wgrantDo I want to land this with rollback=?11:18
lifelesswgrant: yes, that tells qatagger where the bad-commit is fixed11:18
lifelesswgrant: also I think you haven't tagged it bad-commit yet11:18
lifelessmpt: food for thought, ciao11:18
wgrantI only worked out what bad-commit-* does this morning.11:19
mptlifeless, I don't know how many current or potential users use script-less browsers for accessibility reasons, or are in corporate environments which disallow untrusted JavaScript11:19
mptThat's probably a research job for mrevell11:20
wgrantwallyworld: that's a bit special. The email body gives the right branch's revno, but the subunit log shows that the branch was not merged; the tests were run against devel itself.11:26
wallyworldhmmm.11:27
wallyworldwonder why i couldn't see the doc test in the logs?11:27
wgrantwallyworld: Try looking for nascentupload_txt instead.11:31
wgrantI'll look in a sec.11:31
wallyworldwgrant:  pretty sure i tried that but i am tired11:31
wgrantBut natty's X stack is in league with ec2test; my kernel hung moments after I accused ec2 of being buggy.11:31
wallyworldwgrant: it was there.  cme can't type11:33
wallyworldwgrant: just looks like i managed to get it to run the tests against devel even though it thought it was using my branch11:34
wgrantHeh11:34
wgrantYes.11:34
wgrantThat is slightly odd.11:34
wallyworldwgrant: reason i did that in the first place was that when i did an ec2 land, it tried to email me the results and complained about the attachment being too big11:34
jml?11:35
wallyworldso i thought i run the tests manually11:35
jml300k attachments are blocked for you?11:35
wallyworldjml: not sure, never had an issue before11:36
wallyworldi'm sure i've had larger attachments than that11:36
wallyworldeven with ec2 landings which ended up having lots of errors11:36
jmlwallyworld: interesting. I think uncompressed the maximum output under 3MB. I guess if the test run crashes somehow you might get an attachment that big.11:37
wallyworldyeah guess so.11:37
jmlanyway, I'd better get coffee & so forth.11:38
wallyworldnow i need to figure out how i tricked ec2 to give me misleading info :-)11:38
=== Ursinha-afk is now known as Ursinha
danilosjtv, hi Jeroen, I'd love to get a review from you :)11:44
jtvdanilos: oh, didn't see that on the system yesterday…11:44
danilosjtv, I am sure you didn't :)11:45
danilosjtv, https://code.launchpad.net/~danilo/launchpad/lifecycle-subscription/+merge/4818511:46
jtvdanilos: I'll have to do it after lunch.11:47
danilosjtv, sorry, I think lunch is bad for you, so please do it now :)11:47
=== jtv is now known as jtv-eat
danilosjtv, anyway, sure, but if you think you'll take long, I might find a different reviewer11:47
jtv-eatThere's a conflict by the way.11:47
jtv-eatI have to go get some stuff, so a different reviewer may be better.  Unlucky timing.11:48
danilosjtv-eat, indeed, thanks :)11:48
danilosjtv-eat, oh, btw, I am also OCR today :)11:48
danilosforgot about that ;)11:48
danilosgmb: hi, how do you feel taking a review of my LIFECYCLE change?11:48
gmbdanilos: Well, I'm about to grab lunch, but once I've eaten I'll take a look.11:49
danilosheh, everybody runs for lunch when I ask for a review :)11:49
danilosgmb: sure thing, if jtv doesn't get to it first :)11:49
gmbReviewing your code is obviously only possible after a significant intake of calories.11:49
gmbdanilos: Okay, cool.11:50
* gmb -> lunch11:50
=== danilos changed the topic of #launchpad-dev to: https://dev.launchpad.net/| PQM is open | firefighting: - | On call reviewer: jtv, danilos | https://code.launchpad.net/launchpad-project/+activereviews
danilosallenap, hi, I am taking a look at your https://code.launchpad.net/~allenap/launchpad/subscribe-to-tag-bug-151129-6/+merge/4829511:58
danilosallenap, can you tell me more about it? (it kind of scares me as well, since we are touching roughly the same stuff :)11:58
allenapdanilos: I have to give my kids some food now. Can we talk in about 1h?12:00
allenapBut sure, let's talk about it :)12:00
danilosallenap, sure, I'll try to review it in that time12:00
danilosallenap, perhaps coming up with more questions :)12:00
allenapdanilos: Cool :)12:00
deryckMorning, all.12:03
gmbjtv-eat: I'm going to assume that you've not yet got to danilos's branch, so I'm going to grab it.12:50
danilosgmb: woohoo, thanks :)12:50
gmb:) np12:50
=== jtv-eat is now known as jtv
allenapdanilos: Thanks for the review... I think you've uncovered a bug or two :) I'll reply now.12:54
jtvgmb: and since you've done that, it is now safe for me to return and find your message.  :)12:54
gmb:)12:55
jtv(Seriously, just got back—wasn't sitting here waiting ☺ )12:55
LPCIBotProject devel build (410): STILL FAILING in 5 hr 56 min: https://hudson.wedontsleep.org/job/devel/410/12:58
LPCIBot* Launchpad Patch Queue Manager: [r=abentley][ui=none][bug=702024] Expose a status page for haproxy on12:58
LPCIBotcodehosting.12:58
LPCIBot* Launchpad Patch Queue Manager: [r=lifeless][ui=none][no-qa] Include sql bind variables in the oops12:58
LPCIBotsql statements.12:58
LPCIBot* Launchpad Patch Queue Manager: [r=leonardr][ui=none][bug=435779] Changed "Get Started" text to make12:58
LPCIBotit a little more engaging (bug #435779). Also changed the12:58
LPCIBotsandbox link to point to http://quastaging.launchpad.net12:58
LPCIBotinstead of http://staging.launchpad.net.12:58
_mup_Bug #435779: "Get started" text anti-climactic <lp-web> <post-3-ui-cleanup> <qa-needstesting> <Launchpad itself:Fix Committed by huwshimi> < https://launchpad.net/bugs/435779 >12:58
LPCIBot* Launchpad Patch Queue Manager: [r=leonardr][ui=none][bug=181368] CommandSpawner.12:58
gary_posterstub, thank you for the personsettings code!  Am I right that to get that landable I'll need to get new sampledata, or will that not really be necessary because it is a new table?  Also, I assume that your intent is that, for now, we don't remove verbose_bugnotifications from Person because that would make the ISD replication code more annoying?  So, we change the Person class to use personsettings for that flag,13:13
gary_posterworry about removing it from the Person table till later13:13
gary_postertruncated, I'm guessing13:13
gary_posterSo, we change the Person class to use personsettings for that flag, but don't worry about removing it from the Person table till later13:13
jtvbigjools: parallel runs of apt-ftparchive seem to be passing all existing tests, plus what new ones I could come up with.  Now how do I see whether it's _really_ producing exactly the expected results?13:15
jtvI'm tempted to say I don't have enough of a "feel" for soyuz test coverage, but…13:15
jtvdanilos: sorry about the review—I later realized you meant MP, not HRA, in your initial question.13:16
jtvOr as it's also known: "oh dear Kibo no, what do I need to countersign now?"13:16
danilosjtv, heh, no worries13:17
bigjoolsjtv: we run it on dogfood after uploading a package and make sure that we see the expected changes in the Packages file13:19
jtvbigjools: neither of my branches has hit db-devel yet, alas.  But it'd be really good to eyeball the changes _before_ I go into review.13:20
jtvMaybe I should ask wgrant to have a look.13:20
bigjoolsjtv: I can merge your branch into DF13:22
bigjoolsI can look too13:22
jtvbigjools: but you need at least db-devel for that, right?13:22
bigjoolsno, I can merge devel branches13:22
jtvoh great!  In that case, it's lp:~jtv/launchpad/bug-181368-parallelize13:23
* bigjools mergerates13:24
* jtv cheers the mergerati13:25
jtvbigjools: meanwhile, want me to take on those loggerhead oopses?13:27
jtvbug 70132913:27
_mup_Bug #701329: loggerhead OOPS - error: [Errno 32] Broken pipe <oops> <Launchpad itself:Triaged> <loggerhead:Invalid> < https://launchpad.net/bugs/701329 >13:27
bigjoolsjtv: I think someone analysed it already, have a look13:27
stubgary_poster: Yes, it needs new sample data generated. I forgot to remove the old Person.verbose_bugnotifications in the db patch and twiddle the trigger to do the right thing. hang on.13:29
gary_posteroh, k, thanks stub13:29
stubgary_poster: Or since you wanted this landed soon...13:29
stubI guess we do need to keep the old column around until the code is updated?13:30
gary_posteryeah13:30
gary_posterI could do that today13:30
jtvbigjools: alternatively, I could work on the patch to drop BranchRevision.id.13:30
stubgary_poster: Can you put in a code update so when Person.verbose_bugnotifications is set, PersonSettings.verbose_bugnotifications is also set? Or do I need to do that in a trigger?13:31
bigjoolsjtv: see if you can do a simple fix for loggerhead, I reckon it was just a case of swallowing the pipe error, so to speak13:31
allenapdanilos: I've replied to your review. Let me know if you want to talk about BugSubscriptionInfo in general. I'm keen on promoting the idea (the implementation is okay, but I'm less concerned about that).13:31
danilosallenap, sure, otp now, so back to you in 1013:31
jtvbigjools: looking into it.  Lots of stuff that's not familiar but I see that as a good thing.13:34
bigjoolsjtv: indeed13:34
gary_posterstub, on call now, off call in 513:35
leonardrjtv, danilos, i'd like a review of https://code.launchpad.net/~leonardr/lazr.restful/example-service-has-web-link/+merge/4831313:42
leonardri can walk you through it if you have any questions13:42
jtvleonardr: I'll take it13:42
gary_posterstub, back.  If I put in that code, why don't I just change the code to look at personsettings instead?13:42
gary_posterThen we won't care about verbose_bugnotifications13:42
stubgary_poster: Sure. I suspect it will be minor.13:42
gary_posterExactly13:43
gary_posterOK, stub, I'll work from your existing branch.  I assume your EoD is very soon.  Is this a plan?13:45
gary_poster- You make the change to "remove the old Person.verbose_bugnotifications in the db patch and twiddle the trigger to do the right thing".  Tell me when you are done with that, and I'll merge it into my branch, and MP it only asking for a db review initially.13:45
jtvleonardr: wasn't web_link something that came up in feeds?13:45
leonardrgary, i think we were going to do some work on lazr.restfulclient's bootstrap code and it got dropped on the floor13:45
gary_poster- I'll work on the other code.  I might be done when you are; if not, no problem, because you will have already approved the db parts, and I can get another reviewer to do the small code bits, and then land it13:45
leonardrjtv: can you be more specific?13:46
leonardrit might be a different feature with the same name13:46
gary_poster(stub: end)13:46
leonardror it might be a client that woudl benefit from the feature13:46
jtvleonardr: I'm asking what web_link is, and I think I came across the term in the context of feeds recently.13:46
danilosallenap, all good, r=me13:46
gary_posterleonardr: yeah, that rings a vague bell.  I know lazr.restful couldn't make the update because zc.recipe.cmmi did not have a new version13:47
allenapdanilos: Thanks :)13:47
gary_posterbut restfulclient probably can13:47
leonardrjtv: i think it's another feature with the same name13:47
leonardrto give you an example,13:47
leonardrthe web_link of https://api.launchpad.net/devel/~leonardr is https://launchpad.net/~leonardr13:47
leonardrdoes that make sense?13:47
leonardrit's the same object but on the website rather than the web service13:47
jtvah13:48
danilosallenap, also, the branch itself seems to only be a relatively straightforward refactoring, so it didn't raise any concerns for me :)13:48
stubgary_poster: Yup. I'm finalizing the db stuff now.13:48
allenapdanilos: Tip top.13:48
gary_posterawesome thanks stub13:48
jtvleonardr: thanks, that helps.  Different question: interested in the reason for moving your adapter registration from code to zcml.13:48
leonardrjtv: i didn't move it, those are new registrations13:49
jtvah13:49
leonardri can try to put them in code13:49
jtvNo particular need (apart from I Hate ZCML), just asking.13:49
leonardri didn't do them in code in the first place because the classes they register are not all defined within the example web servie13:50
jtvWe need a structural improvement for that stuff, not two tags less.  :-)13:50
leonardrand i wanted all the definitions in one place13:50
danilosallenap, generally, I think add_bug_change_notifications should make better use of BugSubscriptionInfo instead of calling methods on the bug directly, but that'd be a long discussion that we wouldn't be doing anything on right now, so let's not have it :)13:50
jtvleonardr: thanks for explaining.13:51
allenapdanilos: My plan at first was to make all of the subscription methods on Bug shells around BugSubscriptionInfo. Then it's easy to change call-sites.13:51
allenapOr easier at least.13:51
danilosallenap, agreed13:51
leonardrgary: depending on how much time you have, can you help me upgrade restfulclient or remind me what i need to do? i remember trying to just copy in bootstrap.py from launchpadlib13:52
jtvleonardr: in lines 62—63 of the diff, why the zope.interface.Interface in the "for" attribute that also has lazr.restful.interfaces.IWebBrowserOriginatingRequest?13:52
gary_posterleonardr: afternoon?13:52
leonardrjtv: it's a multi-adapter of a model object + a request13:53
leonardri can try to make it a little more specific13:53
jtvIf there is a fitting interface, that'd be nice.13:53
leonardrgary: earlier would be better, but i'll take what i can get13:53
jtvIf there isn't, probably not worth it though maybe a comment would be nice.13:53
gary_posterleonardr: understood.  I'll ping earlier if I can13:53
leonardrjtv: i can use ILocation, but that's not really "more specific"13:54
leonardrit just happens to be the base interface of all these interfaces13:55
jtvleonardr: the name seems slightly more specific to me though… would it be an appropriate choice?13:55
leonardri'll go ahead and do it. i'm a little worried it might be misleading13:56
allenapbigjools: Have you got a branch to add your AWS ID to VALID_AMI_OWNERS?13:59
bigjoolsallenap: yes14:00
allenapbigjools: Okay, I'll shut up.14:00
allenap:)14:00
jtvleonardr: at the risk of revealing my stupidity: might IHasLocation be appropriate?14:00
leonardrjtv: checking...14:01
bigjoolsallenap: just sent it to the gatekeeper...14:01
leonardrjtv: i believe IHasLocation is a launchpad interface, so i can't use it14:02
jtvah, yes it probably is…14:02
leonardri could define something similar but it would only exist to make that bit of zcml more readable14:02
jtvNot worth that then.14:02
jtvleonardr: moving right along, I read the name WebBrowserOriginatingRequest as meaning that the request either originated with a browser or originates a browser.  I can't make sense of the latter, and isn't the former the opposite of what it is?14:06
jtvHmm I'm not being very clear myself.14:07
leonardrjtv: i understand what you're saying14:07
leonardr*as far as lazr.restful is concerned*, that request originated with a browser14:07
jtvI mean: isn't WebBrowserOriginatingRequest an adapter for requests that _didn't_ originate as a normal web browser request?14:07
jtvAh.14:07
stubgary_poster: I think that is all done14:07
leonardrit turns requests that didn't come from a browser into requests that "did"14:07
gary_posterstub, awesome, thank you.  I'll merge and push up to a new branch for a db review then?14:08
jtvleonardr: but instances of its base class (probably) really did originate from a browser, right?14:08
leonardrjtv: in launchpad, yes14:08
leonardryou'd only do this if you were also handling real web browser requests14:09
stubbah... still pushing14:09
stubdone14:09
gary_poster:-) k14:09
jtvleonardr: what I'm then wondering is: is "web-browser-originating" a good characterization of how this class differs from its base class?14:09
leonardrjtv: how about calling it SimulatedWebsiteRequest?14:10
jtvleonardr: that would be crystal clear to me, and match the description.  I like it.14:10
jtvThanks also for cleaning up those old-style import lines, by the way.14:11
jtvleonardr: you have my vote.14:16
leonardrjtv: thanks14:16
jtvnp14:16
=== matsubara is now known as matsubara-lunch
leonardrgary, i've upgraded bootstrap.py. buildout.cfg looks like it was already changed. when i run bin/py i get the right code, but when i run bin/test it runs the wrong tests14:21
bigjoolsjtv: looks like you already did the parallisation unless I am misreading the diff?14:23
jtvbigjools: yup14:23
bigjoolsjtv: and it's landed?14:23
jtvNope14:23
gary_posterleonardr: be with you as soon as I can14:23
bigjoolsheh ok14:23
bigjoolsjust about to test it14:23
leonardrgary: np, just writing it down so it doesn't get lost14:23
gary_postercool14:23
jtvbigjools: the landed version uses the CommandSpawner (a.k.a. MF) but still only runs one big process.14:24
bigjoolsjtv: I should probably be QAing that then, but later14:24
jtvbigjools: I was hoping to learn whether it's really still producing the right files.14:25
jtvIt just runs separate apt-ftpserver instances all with a different --arch argument.14:25
jtvI _think_ that generates separate files without clashing, but it'd be nice to be sure. :)14:25
jtv(Note that "source" is an architecture for this purpose)14:25
gary_posterstub: https://code.launchpad.net/~gary/launchpad/bug548-db-2/+merge/4831814:29
bigjoolsallenap: how does one delete ami images?14:29
allenapbigjools: I used to know... let me try and figure it out again.14:30
bigjoolsallenap: when you do so can you update https://dev.launchpad.net/EC2Test/Image :)14:30
allenapbigjools: http://pastebin.ubuntu.com/561412/ -- and okay.14:31
gary_posterI use that in-browser console thingy14:31
gary_posterAmazon provides14:31
bigjoolsahhh14:31
gary_posteryeah, what Gavin said14:31
bigjoolsshame theres no way of letting the scripts delete old ones14:32
bigjoolswe probably only need to keep the last 314:32
bigjools"Unintrusize" - wth? :)14:35
jtvjam, got time to discuss bug 701329?14:35
_mup_Bug #701329: loggerhead OOPS - error: [Errno 32] Broken pipe <oops> <Launchpad itself:Triaged> <loggerhead:Invalid> < https://launchpad.net/bugs/701329 >14:35
bigjoolsabentley: your fix for recipe build mail landed on the 27th is breaking scripts14:45
bigjoolsthey now need access to sourcepackagerecipebuild and are blowing up where they don't have it14:45
abentleybigjools, I added permissions to the script that failed tests because it needed it.  Which scripts are failing?14:46
bigjoolsscripts/ftpmaster/queue so fart14:46
bigjoolsso far, even :)14:46
bigjoolsI suspect the test is crap14:46
gary_posterstub: I changed my code to actually work :-P (using lazr.delegates now too) and ran a test.  I got this: https://pastebin.canonical.com/42725/14:46
gary_posterThat looks like something I might need your help with...or someone else with experience in those permissions14:47
abentleybigjools, doesn't that use the "queued" user?  I added sourcepackagerecipebuild = SELECT to that user.14:48
bigjoolsabentley: yeah that's right - this might be my bad then, one sec14:50
stubgary_poster: That just needs some tweaking in security.cfg14:50
gary_posterstub, I'm trying adding INSERT14:50
gary_posterto the table14:51
gary_posterin security.cfg14:51
stubShouldn't need insert given the table is populated by a trigger...14:51
gary_posteryeah, that didn't help14:51
stubI don't have enough traceback to deduce further14:52
gary_posterany other suggestions?  ok one sec14:52
stubYou need to make schema once you twiddle security.cfg of course14:52
gary_posteryeah, I did.  Here's the fuller context: https://pastebin.canonical.com/42727/14:52
stubgary_poster: So the user that script connects as needs permissions14:53
gary_posteroh!14:54
danilosallenap, deryck: hi, anyone has some spare minutes to pre-imp discuss bug 548? :)14:54
_mup_Bug #548: Launchpad sends change notification updates to the person who requested the change <email> <lp-bugs> <story-better-bug-notification> <story-better-notification-sending> <Launchpad itself:In Progress by yellow> < https://launchpad.net/bugs/548 >14:54
allenapdanilos: In a few minutes?14:56
danilosallenap, sure thing14:57
deryckdanilos, I'm jumping on another call now.  but I see allenap has you :-)14:57
danilosderyck, yeah, go on jumping about, thanks :)14:58
bigjoolsabentley: indeed it was my bad, apologies15:00
flacostejml: mumble?15:01
abentleybigjools, no problem.15:02
* bigjools needs to remember to run security.py15:02
jmlflacoste: yep15:04
gary_posterOK, stub, I got that working.  I do have two test failures though, which increased a concern I was already wondering about.  The problem is that stuff like this fails15:06
gary_poster    >>> concise_team = factory.makeTeam(15:06
gary_poster    ...     name='conciseteam', displayname='Concise Team')15:06
gary_poster    >>> concise_team.verbose_bugnotifications = False15:06
gary_posterbecause the trigger fires at transaction commit, I assume15:06
gary_posterso the settings is not around yet. Should I just change the Python code to make a PythonSettings object if needed?15:07
gary_poster(Will that upset the trigger?)15:07
gary_poster(Or does that mean we should forgo the trigger entirely in favor of some Person.__init__ code?15:09
gary_poster)15:09
* danilos has learned to hate triggers implementing any application logic in translations ;)15:09
gary_poster:-)15:10
allenapdanilos: Mumble or Skype?15:10
danilosallenap, "yes" :) mumble15:11
* danilos tries to find allenap's colour15:11
abentleyallenap, I'm looking at the test you wrote for mrevell, and surprised to see monkey-patching.  Why not just use pop_notifications like we do in so many other tests?  Here's how I'd change it: http://pastebin.ubuntu.com/561431/15:12
allenapdanilos: Bug 711910.15:14
_mup_Bug #711910: Move remaining subscription methods from Bug to sets on BugSubscriptionInfo <Launchpad itself:Triaged> < https://launchpad.net/bugs/711910 >15:14
stubgary_poster: The trigger fires when completing the statement. The problem will be that Storm might not notice?15:20
gary_posteroh! :-/15:20
stubgary_poster: or the trigger hasn't fired because Storm hasn't flushed changes yet.15:20
gary_posterstub, FWIW, I got a change that made the problem go away15:21
stubgary_poster: We can drop the trigger and maintain this in Python if it is easier - I'm not fussed.15:21
gary_posterI don't know if it is a good change15:21
gary_posterhere's what I did:15:21
gary_posterlines 8-9, 125-130 in http://pastebin.ubuntu.com/561443/15:22
=== matsubara-lunch is now known as matsubara
gary_posterI'd be fine with moving that to an __init__ and removing the trigger too; I'm too inexperienced with these bits to have an opinion.15:23
stubgary_poster: That will make things explode when the trigger gets fired, as it doesn't look before it leaps15:24
gary_posterstub, ack.  OK, the only easy solution I see is to rip out the trigger and put that logic in the __init__.  agree?15:25
stubgary_poster: Easy solution I see is to make _person_settings flush the Store before attempting to retrieve the PersonSettings15:25
gary_posteroh ok15:25
stubIf that doesn't work, rip out the trigger. Or rip it out anyway if you develop a stronger opinion :) I put the trigger in simply because I thought it was less effort than tracking down everywhere Person objects get created (although I guess that should pretty much be covered by Person.__init__).15:27
gary_posterack.  I am trying the test run with a flush, and removing the creation code15:29
deryckbac, hey, I'm about to look at that accordion stuff again, if that helps.  Had lots of YUI questions and work since we chatted....15:29
gary_posternope, that fails15:29
deryckbac, so not able to look again until now15:29
danilosfood, finally15:29
stubgary_poster: ok. you ok pulling out the trigger? Just needs the statement removed from the patch.sql and the function from trusted.sql15:30
gary_posterstub, yeah, I think I can do it15:30
bigjoolsjtv: http://pastebin.ubuntu.com/561451/15:35
jtvbugger15:36
jtvOn a side note, like the error reporting?15:36
bigjoolsbt is always nice15:36
jtvI wonder why the existing tests don't reveal this.15:36
jtvI added script return values per architecture.15:37
jtvIs --arch a newer option perhaps?15:37
allenapabentley: Sorry I missed your ping. I was otp and forgot about it when I was done. I like your improvements :) mrevell, do you want to merge abentley's patch?15:37
mrevellSure, will do15:37
bigjoolsjtv: check what versions of a-f are in lucid vs maverick15:37
jtvchecking…15:37
abentleymrevell, please use the version in my MP comment; it is slightly improved.15:38
mrevellWill do abentley15:38
abentleyallenap, cool.15:38
mrevellThanks both15:38
jtvbigjools: big difference—0.7.25 vs 0.8.3.15:38
bigjoolsthere you go15:38
jtvThe lucid version doesn't have --arch. ☹15:39
bigjoolsour servers are all on lucid15:39
bachi deryck.15:39
bigjoolsjtv: you could see if there's a backport15:39
jtvworth trying!15:39
bigjoolslook in -backports15:39
jtvexcrement15:42
jtvDon't see it.15:42
jcsackett|afkderyck: any chance i could chat with you today about bug 421901 (particularly some refactoring ideas)?15:48
_mup_Bug #421901: Person:+bugs timeouts <lp-bugs> <timeout> <Launchpad itself:In Progress by jcsackett> < https://launchpad.net/bugs/421901 >15:48
=== jcsackett|afk is now known as jcsackett
* jcsackett wonders when his nick changed to afk...15:48
jtvbigjools: on the bright side, the lucid version does have the _configuration item_ for architecture.15:48
gary_posterstub, my smoketest passes now.  I have pushed the branch, and diff is http://pastebin.ubuntu.com/561454/ (good bits starting line 1055)15:49
bigjoolsjtv: can we poke differently that in multiple parallel runs?15:49
bigjoolsedit fail15:49
jtvI thought you were just being funny.15:50
bigjoolsnormally, yes15:50
deryckjcsackett, yeah, sure.  I'm trying to look into some YUI issues for bac now. then I want to eat.  Then we could chat.  cool?15:51
jcsackettderyck: sure. any chance at an approx time?15:51
deryckhmmm, you try to ping me down! ;)15:51
* deryck looks at calendar/clock15:52
deryckjcsackett, forgot about team lead call, too.  Somewhere just after 1800 UTC work for you?15:53
=== leonardr is now known as leonardr-afk
* jcsackett tries to do tz conversion...15:53
jcsackettthat's like noon your time, 1pm my time, yeah?15:53
jcsackettderyck ^15:54
deryckjcsackett, yes15:54
jcsackettderyck: that would be great. thanks. :-)15:54
deryckjcsackett, google calendar can do dual time zones now, if that helps you :-)15:54
jcsackettderyck: that may very well help, thanks.15:55
* deryck can teach you how to quickly convert TZs, win friends and influence people15:55
* jcsackett laughs15:55
stubgary_poster: Looks fine.15:56
gary_posterThank you very much stub15:56
abentleyhenninge, ping15:56
henningeabentley: Hi15:57
henningeabentley: sorry, got held up. Your review is next. Really.15:57
henninge;-)15:57
stubgary_poster: Oh... your Python generates a PersonSettings for all Person records created, even teams.15:57
abentleyhenninge, can we mumble about how to share messages when new links are created?15:57
gary_posterstub, ah.  I forgot about that.  And I'm not even entirely sure how to distinguish.  But assuing you actually want to get off the computer, I'll try to find someone else to bother about that.  Thank you for the warning15:58
henningeabentley: sure15:59
stubif self.teamownerID is None: settings = PersonSettings()...15:59
gary_posterah, easy enough15:59
henningeabentley: will be there in 30 sec ;)15:59
bigjoolsjtv: mvo says that we can backport maverick's a-f to lucid16:01
jtvbigjools: if that's easier/safer than writing separate config files…16:01
bigjoolsjtv: well I don't know how hard the latter would be, so you can make the call16:02
bigjoolsbut it sounds like we should use --arch if we can16:02
jtvFor the config file I'd have to figure out what else might rely on that config file.16:03
jtvI'll see how easy the backport would be.  I happen to have a lucid machine handy.16:03
sinzuimrevell: can you review the text and UI of my branch: https://code.launchpad.net/~sinzui/launchpad/team-membership-policy-1/+merge/48203 . You can also see/edit that same text at https://help.launchpad.net/Teams/CreatingAndRunning#Subscription%20policies16:04
* mrevell looks16:05
bigjoolsjtv: mvo can help you, he's the package maintainer, have a word with him.16:09
jtvbigjools: thanks, I was just typing.  :)16:09
bigjoolsjtv: huh, didn't see you were on that channel :)16:09
=== beuno is now known as beuno-lunch
=== leonardr-afk is now known as leonardr
lifelessmoin16:48
deryckoh good holy internet gods it can't be so simple!16:55
deryckbac, gah!16:55
deryckbac, the script has to be inline on the page *after* the html elements. :-)16:55
deryckor defer all the stuff until domready16:56
bacderyck: really?16:56
deryckbac, *really*16:56
deryckthe complexity of YUI makes us overlook the obvious16:57
deryckit's trying to render a widget based on html it doesn't know about yet16:57
bacderyck: doh.  cool, i'll play with it more after lunch.  thanks.16:57
deryckbac, np16:57
lifelessgary_poster: you can use self.is_team IIRC, which is specialised during __storm_load__ or whatever the hook it17:02
deryckadeuring, just reminder to update that bug status and delete card on the board. :-)17:03
gary_posterlifeless, yes, thank you. I found that and switched to it :-)17:03
lifeless\o/17:03
adeuringderyck: well... after my talk with Henning we decided that a bit work on the bug is reasonable ;)17:03
deryckadeuring, ah, ok.  I'll catch up about that after this call if you're still around17:04
adeuringok17:04
lifelessallenap: oh, right - ih17:10
lifelessallenap: using one bug for several landings interacts poorly with our QA17:10
lifelessallenap: you might like to not do that :>17:10
lifelessallenap: (because you'll be fighting with the qa tagger robot otherwise)17:10
allenaplifeless: Okay, sure. Using bugs for managing QA interacts badly with my development process ;)17:10
lifelessallenap: yes, its a bit of a nuisance, and eventually we should decouple this more17:11
allenaplifeless: Cool. I'll file separate bugs in future.17:12
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/| PQM is open | firefighting: - | On call reviewer: danilos | https://code.launchpad.net/launchpad-project/+activereviews
lifelessallenap: what I do is this; if I'm building up to something, I don't link to that bug until I'm there; I either land unqaable (if there isn't a user impact) or land with new bugs that focus the exact thing I'm changing rather than the user request17:14
lifelessallenap: this is a bit hit n miss17:14
allenaplifeless: Okay, that would work for me.17:15
lifelessallenap: anyhow, whatever works for you is fine; I only mentioned this cause I saw you starting to haggle over bug status with the qabot :)17:15
allenaplifeless: I keep forgetting to use the --incremental flag which, aiui, would dtrt for me.17:19
=== Ursinha is now known as Ursinha-lunch
=== beuno-lunch is now known as beuno
lifelessflacoste: so, 21utc you say ?17:44
deryckjcsackett, I'm off early.... wanna chat in mumble in 5?17:44
jcsackettderyck: sure.17:44
lifelessflacoste: which is what, 3.25 hrs ??17:44
jcsackettderyck: mano-a-mano in Green?17:44
derycksure17:45
lifelessallenap: --incremental generats qa-untestable commits17:46
allenaplifeless: Ah, okay. I'll go with the multiple bugs then.17:46
lifelessallenap: so if you are confident they are deployable w/out qa, then yes, its what you want.17:46
allenaplifeless: Mmm, not normally :)17:47
lifeless:)17:47
bigjoolslifeless: http://pastebin.ubuntu.com/561519/17:47
bigjoolslifeless: any idea why my new ami does that when I start an instance?!  missing postgres.... wtf17:47
lifelessbigjools: pg 8.217:48
bigjoolslifeless: not even 8.2 is there17:48
bigjoolsthe script is bong17:48
maxbThe 8.2 is because the script is busted if no pg exists at all17:48
lifelesswhat ubuntu baseline did you use ?17:48
=== al-maisan is now known as almaisan-away
* lifeless takes wild guesses17:48
bigjoolslifeless: the one in the wiki page telling you how to do this stuff17:49
lifelessI love line 4317:49
bigjoolshttps://dev.launchpad.net/EC2Test/Image17:49
maxbDoes this AMI have launchpad-dependencies installed?17:49
bigjoolslifeless: that's exactly why I pasted it :)17:49
lifelessblank lucid is right17:49
bigjoolsmaxb: well that's interesting because I patched that package to include the new dependency17:49
lifelessbigjools: IIRC there is an issue with the metapackage17:50
bigjoolsah crapola, I wonder if the dependency is on lucid17:50
lifelesssomething about v3, but that may be the CAT dependencies17:50
bigjoolsif only I had the output from the creation session17:50
lifelesspostgresql-8.4-debversion |    1.0.3-1 | lucid/universe | amd64, i38617:51
lifelesspostgresql-8.4-debversion | 1.0.3-1build1 | maverick/universe | amd64, i38617:51
lifelesspostgresql-8.4-debversion | 1.0.4-1ubuntu1 | natty/universe | amd64, i38617:51
lifelessits on lucid17:51
bigjoolsI'll have to make a new image and watch where it fails.  Unless you have a better idea?17:54
=== deryck is now known as deryck[lunch]
deryck[lunch]adeuring, I must needs eat.  So we can chat tomorrow in the standup about this.  No big deal.17:59
deryck[lunch]just curious about what's happening17:59
adeuringderyck[lunch]: ok, no problem. Need to start lunch too ;)17:59
adeuringderyck[lunch]: ...and enjoy lunch18:00
leonardrdanilos, please review this easy branch: https://code.launchpad.net/~leonardr/lazr.restful/bug-619180/+merge/4835518:24
danilosleonardr, hi, is .encode(utf-8) safe to do for URLs?18:27
=== danilos changed the topic of #launchpad-dev to: https://dev.launchpad.net/| PQM is open | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
lifelessif it is a url, then it must be a subset of ascii18:27
lifelessby definition18:28
leonardrdanilos: what specific case are you thinking of?18:29
danilosok, let me rephrase that... leonardr, is .encode('utf-8') safe to do before passing to webservice.get() [i.e. does it do escaping as appropriate, and is it documented that our webservice works with UTF-8]18:29
danilosleonardr, line 4818:29
leonardrdanilos: well, the test works... that's a good question, though18:30
danilosleonardr, heh, ok, fair enough18:30
danilosleonardr, how do we answer that question?18:30
leonardrdanilos: i'll take a look at the incoming request18:31
jamjtv: are you still around? I got stuck shoveling snow for a couple of hours this morning, but I'm around now18:31
danilosleonardr, cool, thanks... even if it might be a problem already, it doesn't have much to do with this branch I suppose, so r=me18:31
danilosleonardr, please do file a bug if you find it is, though18:32
leonardrdanilos: actually, i know it works in reality, because ursula's test request went through properly (and once this fix is applied, it works everywhere)18:32
leonardrso i think httplib2 percent-encodes the utf-8, and that's how it works18:32
danilosleonardr, right, makes sense, thanks18:32
danilosleonardr, nice simple branch, thanks for the fix :)18:33
leonardrnp18:34
* danilos wanders off...18:35
abentleysinzui, I notice that Packaging is a many-to-many relationship.  Is this commonly used?  Our modeling of translation sharing assumes that there is at most one product per sourcepackage and vice versa.18:56
sinzuiabentley: depends on the direction actually18:56
abentleysinzui, it's really one-to-many, then?  Which way?18:57
LPCIBotProject devel build (411): STILL FAILING in 5 hr 59 min: https://hudson.wedontsleep.org/job/devel/411/18:57
LPCIBot* Launchpad Patch Queue Manager: [rs=wgrant][rollback=12302] Revert r12302, which caused test failures.18:57
LPCIBot* Launchpad Patch Queue Manager: [r=leonardr][ui=none][bug=698032] When a recipe build has been18:57
LPCIBotremoved since a recipe build was started,18:57
LPCIBotensure the archive uploader does not fall over.18:57
sinzuiabentley: a product series can provide many packages, but *at this time* a distroseries can have only one package18:58
abentleysinzui, thanks.18:58
sinzuiabentley: That describes PRIMARY. There is hidden packaging type INCLUDES that makes the relationship very complex by stating a that implies a distroseries could have multiple sources. We are not allowing users to select that19:00
abentleysinzui, I don't understand "by stating a that implies a distroseries could have multiple sources"19:01
abentleysinzui, do you mean "by stating that implies a distroseries could have multiple sources"?19:03
abentleyactually, I wouldn't understand that either.19:03
sinzuiPackagingType.INCLUDES implies that a package for a distroseries is provided by many product series. This relationship really does happen, but it is much abused, and very confusing. We are not using it now, but I believe there is historical data using it19:03
=== Ursinha-lunch is now known as Ursinha
abentleysinzui, okay, thanks.19:04
sinzuiWe never solved how to show multiple distroseries->packages in the UI, so no one knows we removed the kind of relationship19:04
sinzuiabentley: I mention this because historical data could cause issues if you build something that requires distroseries(1) -> packaging -> (1) productseries19:05
=== deryck[lunch] is now known as deryck
abentleysinzui, I appreciate your completeness.  I'll discuss this with the Orange Mafia.19:08
lifelesssinzui: more than historical no? once we get buildfrombranchtomain underway?19:13
sinzuilifeless: no, There is no code using INCLUDES, and has not for more than a year19:14
lifelesssinzui: ok19:14
sinzuia lot of the uses were bogus because product owners do not understand packaging19:14
lifelesssinzui: we may get pushback on that in the future19:14
sinzuiI understand. That is why I did not remove the type. We just need to ensure the people who need it have access to it19:15
lifelessack19:15
abentleyderyck, around?19:16
deryckhi abentley19:17
abentleyderyck, mumble?19:17
derycksure.  let me fire it up.19:18
abentleyhenninge, mumble?19:34
deryckhenninge, can you join abentley and I?19:34
henningederyck: 2 minutes19:35
deryckhenninge, cool19:35
thumperderyck: hi19:42
thumperderyck: how would I know if all the of the tests for lazr-js worked?19:42
deryckthumper, install a jre and run ./bin/test19:43
leonardrgary, gentle ping19:43
thumperderyck: well, bin/test did run tests19:43
thumperderyck: I have a jre from libre office19:43
deryckthumper, and did it report x passed, x failed, etc.?19:43
* thumper is running them again19:43
thumperderyck: one of the problems is that it left a firefox window open19:44
thumperderyck: it didn't look finished, even though it reported success19:44
thumperTotal: 221 tests, 0 failures, 0 errors in 16.997 seconds.19:44
thumperderyck: is that the right number?19:44
deryckthumper, yeah, it doesn't close the browser19:44
deryckyes19:44
thumperderyck: that kinda sucks19:44
deryckwhat sucks?19:45
sinzuijcsackett: I have an call at 3:00. We can talk later today or tomorrow19:45
thumperderyck: that it doesn't close the browser window19:46
jcsackettsinzui: tomorrow morning sound good?19:47
deryckthumper, why is that a bad thing?  for having them run automatically you mean?19:48
thumperderyck: the open window left me wondering if it was done, broken, or what19:48
thumperderyck: it doesn't seem to be documented that it leaves it open19:49
deryckthumper, well it's not documented at all, if we're honest ;)19:49
deryckit's magic, luck, and/or smarts that allow you to even get it running.19:49
thumperheh19:50
abentleyhenninge, deryck: http://packages.ubuntu.com/dapper/bazaar20:02
lifelesshi20:21
lifelessanyone have pqm swallow a merge recently?20:22
lifelessif so, the problem should be fixed now on praseodymium (thanks lamont); but we need to throw something that was broken at it again to see it fixed20:22
=== matsubara is now known as matsubara-afk
abentleysinzui, is it possible for two source packages with the same name in different Ubuntu series to contain entirely different software?20:27
sinzuiabentley: I am not sure I can answer your question. Since a SPN is being linked to a distrroseries productseries pairs, and user can make mistakes...Lp thinks they can be different. BUT distros use SPN to mean a package that has only only evolving line of software.20:38
abentleysinzui, I remember with bazaar, we renamed it to "baz" so that we could later provide a "bazaar" that would be bzr.20:40
sinzuioh, abentley, distros often create parallel versions of packages, like glade (version 2) and glade3, when 2 is unsupported, glade3 becomes a migration package to glade (latest version)20:41
=== Ursinha is now known as Ursinha-bbl
sinzuiThese are considered to be the same line of development though20:41
abentleysinzui, right.20:41
abentleysinzui, we're currently sharing translations among sourcepackages with the same name and distribution.  I'm trying to assess whether that's a bad thing.20:42
lifelessabentley: yes, it is possible.20:42
lifelessabentley: I'm not sure it worries translations though, as long as the pot modelling still generates the right set of strings to be translated20:43
abentleylifeless, it worries hennninge.20:43
lifelessabentley: then it may be an issue ;)20:44
lifelessabentley: I don't have any particular view, FWIW.20:44
sinzuiabentley: this will be a problem when users do something stupid like claim that app provides firefox because it *depends on* firefox20:45
sinzuiabentley: but the problem is not about translations or Ubuntu. it is about users providing bad data20:46
abentleysinzui, heh, okay.20:46
abentleysinzui, well, it points to the importance of being able to unshare translations when packaging links go away...20:49
sinzuiabentley: I looked at packaging link differences between natty and maverick a few months ago. I saw about 20 links that were wrong so I deleted them20:49
mwhudsonyay for the haproxy-for-twisted-services branch20:55
* thumper fires up mumble21:01
lifelessflacoste: hai21:01
flacostelifeless: hi21:01
lifelessis now when you meant?21:01
flacostelifeless: i skype you in 5 minutes?21:01
lifelesssounds great21:01
flacostettys21:01
StevenKRARGH, Windmill!21:03
lifelessStevenK: wgrant: oh hai .au21:03
StevenKlifeless: O hai. Not sure about wgrant, but I have a call21:03
thumperStevenK: mumble?21:04
lifelessStevenK: wgrant: at the team lead meeting we talked hudson; the idea of less issues than buildbot has is very intruiging, but as in the short term we'd be bucking the default for losa involvement.21:04
StevenKthumper: Sure, one sec21:04
thumperleonardr: mumble?21:04
leonardrthumper:on my way21:04
lifelessStevenK: wgrant: having a report/graph/whathaveyou - actual empirical data - about when bb fails and hudson doesn't (and vice verca) would make the discussion a lot more straight forward.21:04
StevenKWhy does this feel like pushing uphill?21:05
lifelessStevenK: current status is this: if hudson was packaged - no brainer; if its not packaged we either need losas to operate the linode, or we need to run the war/external deb in the datacentre21:06
lifelessStevenK: we (the lp team) can push for one of those two alternatives, and will, but given the scare resources... it needs a little more incentive for flacoste to get out and push ;)21:07
StevenKlifeless: In the shortish term, the war sounds fine21:07
lifelessStevenK: right, but its /not the default/ for the losas to run an externally built binary.21:07
StevenKI'm well aware21:08
StevenKYou know exactly how much work it is to package it21:08
lifelessStevenK: which is why francis wants a bit more backing about the benefits21:08
StevenKlifeless: 1) No more slave lost crap. 2) Cancelling builds doesn't mean that the LOSAs spend an hour fixing it. 3) Windmill tests can be run seperately under a windmill plugin for Hudson if we wish. 4) subunit support?21:10
StevenKlifeless: I wonder why Francis didn't bring any of this up at the epic? :-(21:10
lifelessStevenK: I'm otp now too sorry; will talk more in a bit21:11
leonardrbenji, is there any chance you can help me figure out the problem with the lazr.restfulclient build environment?21:11
=== salgado is now known as salgado-afk
wgrantGrar.21:17
StevenKhttp://pastebin.ubuntu.com/561626/ :-(21:21
lifelessflacoste: btw bug 71210821:28
_mup_Bug #712108: shared ssl session cache support not possible out of the box <apache2 (Ubuntu):New> < https://launchpad.net/bugs/712108 >21:28
wgrantWhy did buildbot poller request two identical stable -> db-devel merges four minutes apart? :/21:36
StevenKAwesome21:36
StevenKUgh, apparently it's going to be 37 today21:37
huwshimiStevenK: You have aircon right?21:59
StevenKhuwshimi: Nope21:59
huwshimiStevenK: Ouch22:00
StevenKlifeless: Still on the phone?22:08
lifelessyep22:08
huwshimiAnyone able to review  a UI change? https://code.launchpad.net/~huwshimi/launchpad/tag-list-wrapping-708436/+merge/4839322:09
sinzuihuwshimi: I understand the change you made, but I have a few questions22:12
huwshimisinzui: Sure22:13
sinzuihuwshimi: style.css is deprecated. Do we want to move .tags-container to style-3.0? Can this be generalised? I do not see anything tag specific in it22:13
sinzuiIs there a better name, does it overlap with other styles22:14
sinzuiI wonder if the text-align instruction is required22:15
huwshimisinzui: ok, let me have a look.22:15
sinzuihuwshimi: I think div.left could be just .left and it will do the right thing22:19
sinzuihuwshimi: acutally. I think changing the page to use .left and deleting the class also works22:19
huwshimisinzui: Actually I wonder if we need any of that.22:19
sinzuiwhat is it floating from? Is that your question?22:20
huwshimisinzui: yeah the float doesn't seem to be doing anything... well that I can tell initially22:21
sinzuihuwshimi: I wonder if it was once in a two column layout. I think we are looking at an obsolete rule22:21
huwshimisinzui: yeah that might make sense of why it was set to 45% width as well22:22
sinzuiI see a test looks for it but it is not important. The template does two odd things with it to make a composite class22:24
wgrantStevenK: Can I steal DF for a few hours to QA r12300?22:25
lifelesspoolie: hi22:25
lifelesspoolie: got a few minutes?22:25
huwshimisinzui: So would you be happy for the fix to be removing the tags-container rules from style.css?22:26
sinzuiI would be happy with that22:27
huwshimisinzui: Thanks I will commit the new changes.22:28
lifelessStevenK: hi, I'm off the phone for a bit; would you like a brief voice call about hudson? wgrant too, if you're interested?22:29
wgrantStevenK: I'm not sure I have much to add.22:31
wgrantEr, lifeless too ^^22:31
sinzuiwgrant: mumble22:31
poolielifeless, hi, yes, but stephane's on the phone atm22:32
lifelesssinzui: thanks for spotting that dupe22:32
lifelesspoolie: skype?22:32
lifelesspoolie: or same room ?22:32
sinzuihuwshimi: https://bugs.launchpad.net/launchpad-help-moin-theme/+bug/48824122:38
wgrantEr22:43
wgrantlaunchpad@mawson:/srv/launchpad.net/codelines/current$ ./scripts/publish-distro.py -A -s natty-proposed22:43
wgrant2011-02-02 22:39:45 INFO    Processing ubuntu Primary Archive for Ubuntu22:43
wgrant2011-02-02 22:41:43 WARNING a-f: E: Command line option --arch is not understood22:43
wgrantOh, it's a local change.22:44
huwshimisinzui: in that template (for the bug tags) what does this line do?  tal:attributes="class python: ('tags-container ' +...22:46
sinzuihuwshimi: it is concatenating classes to "tags-container '22:48
wgrantAnd putting it in the class attribute of the tag.22:48
huwshimiAh ok right22:49
sinzuihuwshimi: I need to take my daughter to a class. I will be back in 30 minutes22:50
huwshimisinzui: Sure, thanks for your help22:50
huwshimiwgrant: What were you saying the other day about how feature flags are implemented now?23:38
wgranthuwshimi: There's documentation and admin UI for them, so you should define them in lib/lp/services/features/flags.py. There are also a few different ways of testing them, so you might have to look around.23:40
StevenKlifeless: I'm free now if you are.23:41
huwshimiwgrant: Thanks, taking a look23:44

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