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

wgrantI was hoping to go and eat something first.00:00
wgrantSo feel free.00:00
thumperok00:01
thumperI'll take it00:01
thumperwgrant: standup?00:01
thumperwgrant: or do you want to do it after food?00:01
wgrantthumper: Well, there's no Curtis, but I guess we could do it anyway.00:02
thumperwallyworld_: mumble?00:03
wallyworld_thumper: just untangling my cords00:03
wallyworld_thumper: https://bugs.launchpad.net/launchpad/+bug/69813800:24
_mup_Bug #698138: Assigning a non-contributor to a bugtask should show a warning <regression> <Launchpad itself:In Progress by wallyworld> < https://launchpad.net/bugs/698138 >00:24
thumperI'm busy upgrading the laptop in a non-x session as compiz / unity / whatever has become unresponsive00:52
thumperall praise to quassel for being awesome00:52
rockstargmb, are you around-ish?01:23
lifelesscan has review? https://code.launchpad.net/~lifeless/launchpad/bug-421901/+merge/5686101:30
mwhudsonlifeless: the change to pgsql is just refactoring right?01:35
lifelessyes01:35
lifelessreuse ftw01:35
mwhudsonjust checking my eyes01:35
mwhudson:)01:35
lifeless:)01:35
mwhudsonlifeless: this test will fail if there's more than 5000 bugmessages in sampledata!!01:36
lifelessmwhudson: oh hoes01:36
lifeless*noes* heh01:36
lifelessif someone puts 5K messages in sampledata, I'll ask mark for a company credit card to pay for my flight to their house...01:37
mwhudsonyeah01:37
lifelessmwhudson: though actually its not 5K it would fail at01:37
lifelessthats the *chunk* size01:37
mwhudsonand actually even then, it might not fail, i admit i don't know the details of tunableloop01:37
mwhudsonlifeless: right01:37
lifelessthe default window it gets is something like 20 minutes, or more on a many-core machine01:38
lifelessits about 500 bm updates/second01:38
mwhudsonlifeless: there is a limit there, but it's comically high i agree01:38
lifeless60*20*500 -> something big01:38
lifeless0.0M01:38
lifelessbah01:38
lifeless0.6M01:38
mwhudsoni guess i'm a little surprised that the launchpad dbuser has the right to disable triggers01:39
lifelessit doesn't01:39
lifelessconnecting with None as the user01:40
lifelesstells postgresql to use the unix uid01:40
mwhudsonaah ok01:40
lifelesswhich on all out test environments has such access01:40
lifelessI head-desked on this for about an hour digging around to get it right01:40
lifelessits *already* commented in the place I found, so i didn't copy the comment.01:40
lifelessbut I did name the method 'root_connection'01:40
lifelessto hint at this :)01:41
lifelessI can add more prose, though I'm not sure it will save anyone time01:41
mwhudsonoh right01:41
mwhudsonlifeless: would superuser_connection be acceptable as a name?01:42
lifelesssure01:42
mwhudsoni didn't grasp the sense that root_ was intended in01:42
lifelessok01:42
lifelesschanging01:42
mwhudsonthanks01:43
* mwhudson grimaces at notNull=False01:43
lifelessdouble negatives ftw01:43
mwhudsonit's almost triple, in some sense :)01:43
lifelessits a bit [perhaps a lot] annoying that storm doesn't have the concept of 'can query on this but do not retrieve it ever'01:44
mwhudsonyou mean, stuff that shouldn't be retrieved when the object is materialized?01:44
lifelessyeah01:45
mwhudsonto make the data sent back smaller?01:45
mwhudsonhm yeah01:45
lifelessnor used when inserting the object01:45
lifelessthis is a field we need in constraints01:45
wgrantThat seems like it should be pretty easy...01:45
lifelessnot in memory, not in inserts and not in select clauses.01:45
wgranthuwshimi: Hi.01:45
huwshimiwgrant: Hello01:45
wgranthuwshimi: Seen bug #753423? We turned it off on prod last night.01:45
lifelesswe'd also need to expose it in subselects etc01:45
_mup_Bug #753423: Privacy notification overlay broken in Firefox <javascript> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/753423 >01:45
lifelessso its actually a bit complex.01:45
huwshimiwgrant: huh. What version of Firefox was that?01:46
mwhudsonlifeless: basically it's something the query compiler should see, but nothing else?01:46
mwhudsonlifeless: holy pee administered btw01:46
mwhudson... and back to performance reviews01:47
lifelessmwhudson: yeah01:47
mwhudson(procrastination driven development anyone)01:47
lifelesszigactly01:47
wgranthuwshimi: Seen in 4 and 3.601:47
huwshimiwgrant: Ok thanks.01:48
* mwhudson giggles02:14
mwhudsonConflict adding file versions.cfg.THIS.moved.moved.moved.moved.moved.  Moved existing file to versions.cfg.THIS.moved.moved.moved.moved.moved.moved.02:14
lifeless\o/02:14
lifelessprocrastinating again ?02:15
mwhudsonhow did you guess!02:15
lifelessno idea02:15
lifelessnone at all02:15
lifelesswgrant: want the good news or the bad news02:16
thumperhttps://code.launchpad.net/~thumper/launchpad/fix-unicode-path-oops/+merge/56688 needs review02:17
lifelessmwhudson:   5 https://edge.launchpad.net/bazaar/resolve_lp_path (BazaarApplication:PublicCodehostingAPI)02:17
StevenKlifeless: We have to use Buildbot for the next 15 years?02:17
lifeless       OOPS-1923EA1350, OOPS-1923EE1204, OOPS-1923EE1205, OOPS-1923EE1211, OOPS-1923EE121202:17
* thumper closed twitter tabs to avoid twitter induced procrastination02:17
wgrantlifeless: BugTask:+index didn't go down at all, and searchTasks is even higher?02:17
thumperabout to close facebook soon too02:17
lifelesswgrant: it did go down02:18
lifelesswgrant: it was over a hundred02:18
lifelesswgrant: I think we've done the low hanging fruit02:18
wgrantWTF, +login timing out?02:18
wgrantI wonder if they were around the DC breakage time.02:19
lifelesspossibly02:19
mwhudsonlifeless: is that timeouts?02:19
wgrantYes, they were.02:19
wgrantSo our results from today could be a little off, I guess :(02:19
lifelessmwhudson: yes, probably from the inter-DC fail02:20
mwhudsonoh ok02:20
lifelesswill need to reevaluate on Monday02:20
wgrantIt would be nice to see the distribution over time of each OOPS clsuter.02:21
lifelessI is02:21
lifeless  1 AssertionError: Build 434541 lacks a corresponding source publication.02:21
lifeless   GET: 1 Robots: 1  Local: 002:21
wgrantI suspect a lot of the spiky OOPSes are just people hitting refresh lots.02:21
lifeless      1 https://launchpad.net/ubuntu/+source/sugarcrm/4.5.0h-0ubuntu2/+buildjob/434541/+index (BinaryPackageBuild:+index)02:22
lifeless       OOPS-1923K94202:22
lifelessdb inconsistency ?02:22
lifelesswgrant: I'm positive they are02:22
wgrantlifeless: Sort of.02:22
wgrantlifeless: There are two causes.02:22
wgrantlifeless: 1) gina sucked when Ubuntu was imported, created some builds where there should not have been any.02:22
wgrant2) Incorrect builds were created when hppa was reintroduced.02:22
lifelesswgrant: and we assert on this *6 years* later?02:23
wgrantlifeless: The assertion was commented out for years, because the sampledata was broken.02:23
wgrantlifeless: it was reeneabled just a few months ago, after the sampledata was fixed.02:23
wgrantIt was not realised that production data was broken too.02:23
wgrant(the brokenness is not a significant issue, so we should probably just recomment the assertion)02:23
wgrantlifeless: How are we going with the new appservers?02:24
wgrantSQL time: 995 ms02:25
wgrantNon-sql time: 10592 ms02:25
wgrantNot. Cool.02:25
wgrantAnd this is just going to get worse as we drop the timeout, because average CPU:SQL ratio will increase.02:26
StevenKwgrant: Rargh! It took me WEEKS to uncommet that assertion02:29
lifelesswgrant: exactly02:29
wgrantStevenK: But you destroyed tonnes of doctests.02:29
lifelesswgrant: they are coming02:29
StevenKwgrant: WEEEEEEEEEEEEEEEEEEEEKS!02:29
StevenKStill, I suppose it was 6,000 lines of doctests02:29
lifelesswgrant: 2 of the 4 have memory in place, we have the name of the 3rd, and the 4th has had its memory order02:29
wgrantlifeless: wampee and soybean are 24GB now?02:30
StevenKlifeless: Can share name? Just curious what it is.02:31
lifelesshttps://lpstats.canonical.com/graphs/WampeeMemory/ https://lpstats.canonical.com/graphs/SoybeanMemory/02:31
lifelessStevenK: I'd need to look up the rt02:31
lifelessStevenK: tom pastebinned a template generation command line that faceplanted02:31
StevenKchaenomeles. I can't even pronounce that.02:33
wgrantlifeless: Hm, soybean seems to have a bit of headroom :)02:37
lifelessyeah02:37
lifelessthe issue is shuffling ids around02:37
wgrantlifeless: What sort of CPU expansion capabilities do these guys have?02:37
lifelessits just a pita02:37
lifelesswgrant: we can add another 8 cores + another 24GB of RAM AIUI02:37
lifelesswgrant: /possibly/ more beyond that02:37
wgrantAh, nice.02:37
lifelessdell 'G6' if that means anything to you02:37
wgrantSince it would be nice to continue avoiding scaling horizontally.02:38
lifelessright02:38
StevenKEr, I thought they were DL380 G6s?02:38
lifelessStevenK: sounds right02:38
StevenKWhich is *HP*02:38
lifelesserm02:38
lifelesstalk to ISD :)02:38
spmwgrant: why do you want to avoid scaling horizontally? genuinely curious, as horizontally scaling has always been the holy grail to aim for in every system I've designed02:40
lifelessspm: we need to scale horizontally as needed, but:02:40
wgrantWe need to be able to scale both ways.02:40
lifeless - there is pressure to reduce datacentre rackspace footprint02:40
wgrantVertical is probably cheaper.02:40
wgrantAt least to an extent.02:41
wgrantCPU + RAM probably cheaper than new machine, if we can fit it.02:41
lifeless - the base cost for a machine is fairly high mgmt wise at the moment (logging etc overhead)02:41
mwhudsonaccording to hp.com you can fit 192 gigs of ram in a G6 :-)02:42
spmat what cost....02:42
mwhudsoni imagine that's howlingly expensive though02:42
lifelessspm: anyhow, the choice of new machine or upgraded machine is ultimately down to TCO02:42
lifelessspm: elmo has expressly indicated a preference for scaling of the *capacity* of individual appserver machines in the medium term02:43
lifelessspm: we will always keep the ability to scale horizontally (and continue working on being able to do that at the DB, archive, codehosting etc)02:44
* spm recalls get a very blank look from the senior architect at $job-1 when asked what the ROI on her new exciting vision for revamping the entire departments systems was. it was like the question hadn't even arisen. ho hum.02:44
lifelessspm: the lowest configuration I'd be truely happy with is N+1 redundancy across the board; then scale in whatever way is cheapest.02:44
spmfair enough. was curious, thanks!02:44
StevenK 4 files changed, 24 insertions(+), 57 deletions(-)02:45
StevenKExcellent.02:45
mwhudsonhuh, i don't really understand the configurator, but it looks like 144 gigs of ram can be got for about $6k02:46
spm$job-2 we used to aim in all our designs to ROI in 6-9 months. any longer than that was invariably excessively optimistic. 3 months was preferable.02:46
mwhudsonwhich is a lot less than i expected02:46
wgrantI guess the larger DIMMs are a lot more expensive than smaller ones, but it probably has a few slots...02:48
spmwhich was a hilarious experience to bring into the public service at $job-1. when in a single 1 month project you can save your client enough that they essentially get you "free" for the next 11 months, your contract renewal is a doddle. :-D02:48
* wgrant waves to Windmill.04:08
wgrantBye.04:08
mwhudsonheh04:09
mwhudsonare you killing it, or is it dying without help?04:09
wgrantI am killing it, since it's still failing like before.04:09
wgrantExcept now there's a timeout set, so it at least doesn't hang and break the world.04:09
StevenKwgrant: You're disabling it again?04:10
wgrantYes.04:10
StevenKOkay, re-enabling the windmill job on Jenkins. :-)04:10
wgrantHeh.04:10
StevenKLast failure on Jenkins was Windmill, too.04:11
wgrantYeah.04:11
wallyworld_huwshimi: did you have a chance to look at the screencast?04:17
huwshimiwallyworld_: I did briefly. One sec.04:17
wgrantYay, fast test suite again.04:18
lifelesswgrant: you nuked w/m ?04:19
wgrantYeah.04:20
wgrant:(04:20
wgrantAt least it doesn't crash the testrunner any more, though!04:20
wallyworld_wgrant: it was just the one test that failed. surely it wouldn't be too hard to fix it.04:21
wallyworld_at the least, it would be good if we could still run the javascript tests04:21
wgrantwallyworld_: No, it was the same breakage as last time.04:21
StevenKwallyworld_: Like we said before, we do.04:21
wgrantExcept that it doesn't hang any more, since there was a timeout added.04:21
StevenKwallyworld_: On Jenkins.04:21
wgrantwallyworld_: It's not specific to any one test.04:22
huwshimiwallyworld_: It would be nice if it did the fade back to the search when you click 'no'. Also there's a little design work that needs to be done on the confirmation screen, but I'm happy to have a look at that once your branch is ready.04:22
wgrantwallyworld_: It is an infrastructure issue.04:22
huwshimiwallyworld_: But other than that it looks great. Really nice work04:22
wallyworld_huwshimi: cool. there was no ready made css that looked suitable for the confirmation screen so i just used whatever. i'm open to suggestions. i'm writing some tests now - there's no exiting ones for our lp picker sadly, just the kazr one04:23
huwshimiwallyworld_: OK no problems. If you want I can push a branch with some changes once it's ready to do so.04:24
wallyworld_wgrant: StevenK: i really wish the windmill ones were run as part of the build process, else they will bitrot. in any case, could we not run the javascript ones?04:24
wgrantwallyworld_: They still rely on Windmill.04:25
wgrantwallyworld_: And I believe it's the Windmill infrastructure that is at fault here.04:25
wgrantwallyworld_: I really wish we ran them too.04:25
wgrantBut I wish we sucked less more.04:25
wgrantAnd frequent test breakage prevents us from sucking less.04:25
wallyworld_wgrant: yes but given they are mich lighter weight i'm hoping they won't hang or whatever04:26
wallyworld_huwshimi: my current work branch (sans tests) is https://code.launchpad.net/~wallyworld/launchpad/assign-non-contributor04:26
lifelesswallyworld_: if its an infrastructure issue, then it doesn't matter which tests are run within that set, its all/nothing.04:26
wallyworld_huwshimi: if you flick me some css i can add it in04:26
huwshimiwallyworld_: Cool thanks.04:26
lifelesswallyworld_: if its a specific test issue, we can fix that test specifically as needed; I havent studied wgrants analysis, but if he thinks it infrastructure, I'm inclined to trust it04:27
wallyworld_lifeless: sure. i'm thinking though that the js tests are much lighter weight and perhaps less prone to the issues04:27
wallyworld_lifeless: likely is infrastructure since i *think* different tests fail04:27
lifelesswallyworld_: that assumes that its a test issue, not infrastructure, no?04:27
wgrantIt's possible (probable, even) that the JS tests are safer to run.04:27
wgrantBecause they're less likely to expose infrastructure issues.04:28
wgrantIf someone wants to try putting them in a different layer and reenable them, by all means do so.04:28
wallyworld_lifeless: the full windmill tests (ie not he js ones) are more likely to fail from what i've seen, even though windmill is used as the harness for the js tests04:28
wgrantIt is, as usual, the client.open call failing.04:29
wallyworld_wgrant: if i get a chance, i'll look to do that. i'd like as much testing done "in band" as we can04:29
wgrantWe previously couldn't get that from failed test runs, but had determined it experimentally.04:29
wgrant(since the testrunner hang and was killed without a traceback)04:29
wgrantWe at least have tracebacks now.04:29
wallyworld_yes, true04:30
wgrantI'll file a bug.04:30
wallyworld_wgrant: i'll mention it to deryck tonight. he will be inetrested i'm sure04:30
wgrantwallyworld_: Indeed.04:32
wgrantBug #75425604:32
_mup_Bug #754256: WindmillLayer tests occasionally hit a timeout in client.open <spurious-test-failure> <Launchpad itself:Triaged> < https://launchpad.net/bugs/754256 >04:32
wallyworld_wgrant: thanks. and unless a few remaining issues with onkeypress events are sorted, windmill tests won't work with natty (ff4) anyway :-(04:33
wgrantWe may want to include extra debugging info and switch it back on until it fails.04:33
wgrantNow that we can get useful info out of it.04:33
wgrantOr even run buildbot with -D for a while, or something like that.04:34
wallyworld_yeah. i'll see what deryck suggests since he's more across this than i am04:34
wgrantwallyworld_: It fails to start with a profile error for me :/04:34
wgrantMaybe I should wipe some of my ~/.*04:34
wallyworld_wgrant: ah. i know how to fix that04:34
wallyworld_wgrant: you need to symlink a couple of things04:35
* wallyworld_ looks04:35
wgrantOh, new unity today.04:35
* wgrant prepares to reboot.04:35
lifelesswgrant: you're familiar with the bfj stuff right ?04:40
wgrantlifeless: Yeah.04:40
lifelesswhat would prevent us removing BFJ04:40
wgrantThe table, or the class?04:40
lifelesslets assume I'm right that the table should be folded into the two adjacent tables (packagebuild and translationsbuild)04:40
wgrantI'd prefer to keep the current *object* model. Database model I'm not fussed about.04:41
lifelesssorry, translationtemplatesbuild04:41
wallyworld_wgrant: you need to symlink /usr/lib/firefox/defaults/profile -> /etc/firefox/profile04:42
wgrantwallyworld_: Ah, thanks!.04:42
lifelesswgrant: well, I don't care for or against the object model. the db model is killing performance.04:42
wallyworld_wgrant: or lib6404:42
wgrantlifeless: Right.04:42
lifelesswgrant: table scans on million row tables - bad04:42
wallyworld_whatever is there04:42
wgrantwallyworld_: None of those three paths exist.04:43
lifelesswgrant: and binarypackagebuild + sourcepackagerecipebuild need to be rolledup too04:43
lifelesswgrant: BFJ + PB + BPB -> one table04:43
lifelesswgrant: BFJ + PB + SPRB -> one table04:43
lifelesswgrant: BFJ + TTB -> one table04:44
wallyworld_wgrant: you should have a /usr/lib/firefox ? if so mkdir defaults and then do the symlink04:44
wallyworld_wgrant: or you saying /etc/firefox/profile doesn;t exist?04:44
wgrantwallyworld_: /etc/firefox/profile doesn't exist.04:45
wgrantlifeless: So, we need to keep BFJ around, at least a bit.04:45
lifelesswgrant: hy04:46
lifelesswhy04:46
wallyworld_wgrant: ok. i think what i did was start ff3 and created a new empty profile. then copied that to /etc/firefox/profile. not sure if a ff3 install creates /etc/filefox/profile or not04:46
wgrantlifeless: Unless you want to do a big UNION.04:46
wgrantlifeless: eg. for builder history.04:46
lifelesswgrant: do we care about builder history?04:46
wallyworld_wgrant: we really need windmill to support ff4's directory layout :-)04:46
lifelesswgrant: beyond a couple of days04:46
wgrantwallyworld_: Yeah :(04:46
lifelessff4 writes its profiles to /etc/firefox?04:47
wallyworld_lifeless: ah that could be it. i couldn't recall exactly why i symlinked to that directory. but that i think is the correct answer04:52
wgrantI think it's more that Windmill looks for the default profile in one of those directories, to make a copy of its own.04:53
wgrantAnd Firefox 4 doesn't really have a default profile, AFAICT...04:53
wallyworld_lifeless: it's a one line change to windmill. but i would like to solve the other ff4 specific test failures first04:53
wgrantor it's very well hidden.04:53
LPCIBotYippie, build fixed!05:00
LPCIBotProject devel build #619: FIXED in 5 hr 46 min: https://lpci.wedontsleep.org/job/devel/619/05:00
wgrantlifeless: So, it should be fairly simple to alter BuildFarmJob/PackageBuild to direct inheritance, and flatten the tables.05:02
wgrantThe only difficult bits will be the things that query for BFJs or PBs directly, then adapt them to the real objects.05:02
wgrantBasically... flatten tables, merge *Derived into *, change SPRB and BFB and TTB to inherit from * instead of *Derived... fix queries.05:05
lifelessyeah05:05
lifelessthis may be 'undo the refactoring that was done', which if true is sad in a way, but the performance measurements are pretty clear about the status quo.05:06
wgrantlifeless: The old one wasn't ideal, either. The table split (which this is undoing, and then going further) was not the primary goal -- it was removing duplicated code and cleaning up too.05:07
lifelessa big question05:07
lifelesswhich I don't know enough to reason about05:08
lifelessis is it easy enough to Just Do05:08
lifelessor is it big enough to need a feature squad05:08
wgrantIt's not small enough to Just Do, but not big enough for a feature squad.05:08
lifelessor perhaps a few carefully chosen denormalised columns (like BugMessage.owner is)05:08
wgrantI guess it depends what Just Do means.05:08
wgrantIt's a few days of work.05:09
lifelessoh05:09
lifelessthats small enough to JustDo05:09
lifelessit will fix about 10 timeouts05:09
lifelessthats *cheap*05:09
wgrantThe hairy bits are things like getBuildsForBuilder and findBuildCandidate.05:11
wgrantEverything else is actually pretty simple.05:11
huwshimiWoah! I have crazy scrollbars!05:11
lifelessso fBC should be easy enough.05:11
wgrantSince it's not all duplicatastic any more.05:11
lifelesswgrant: gBFB - how deep does that need to go, realistically ?05:12
lifelesswgrant: like, why do we care about what was built on $builder-N 4 years ago ?05:12
wgrantlifeless: Probably only a few days, yeah.05:12
wgrantlifeless: Other non-trivialities include URLs... We could share a sequence, but that sounds mildly evil.05:13
lifelesswgrant: urls for ?05:14
wgrantlifeless: BPBs and SPRBs.05:14
lifelesscomposite key05:14
lifeless /bpb-123405:17
lifeless /sprb-123405:17
lifelessor /+bpb/123405:17
lifeless   /+sprb/123405:17
huwshimiA review (fixes privacy notifications in Firefox): https://code.launchpad.net/~huwshimi/launchpad/privacy-notification-firefox-753423/+merge/5687205:20
huwshimiwgrant: If you're interested ^05:21
wgranthuwshimi: Just saw the email. Looking.05:21
wgranthuwshimi: Have you tried other browsers?05:21
wgrantWell, I guess all that's left is Opera and IE.05:21
huwshimiwgrant: It doesn't work in IE because our javascript is broken in IE. I'm just double checking Opera.05:23
huwshimiwgrant: brb05:23
wgranthuwshimi: Heh.05:24
wgranthuwshimi: You can't have the content margin there from the start?05:40
wgranthuwshimi: It's not ideal that the page jumps once the JS loads.05:40
huwshimiwgrant: Right, sorry back.05:41
huwshimiwgrant: It's not ideal.05:42
huwshimiwgrant: I'm not sure how else to modify the body classes and add html to the main template without JS.05:43
wgranthuwshimi: Can't you add a class in the template if the FF is activated?05:44
wgrant(and the object is private)05:44
huwshimiwgrant: To the <body>?05:44
wgrantSomething like that.05:45
huwshimiwgrant: Oh and yes, it works in Opera (whatever version I have on my computer)05:49
StevenKwgrant: Do you remember where ppa-run and such are hiding on DF?05:50
wgranthuwshimi: Excellent.05:52
wgrantStevenK: ppa-run?05:52
StevenKwgrant: There's a script on DF that I used as a cheat-sheet for how to accept uploads05:53
wgrantStevenK: Upload, run process-upload.05:53
wgrantIf you don't remember all the incantations, maybe follow my HowToUseSoyuzLocally.05:53
wgrantI didn't know there was a script... I just do it all manually.05:54
wgrantThere's not that much to it, particularly with --builds in cron.05:54
huwshimiwgrant: Do you actually know if it's possible to modify the body classes and add new divs before content or do you just imagine that it should be possible? :)05:58
huwshimiwgrant: Cause from what I'm looking at it doesn't look very possible with the current setup05:59
jtvCan someone walk me through the process to upload a debian package on dogfood?05:59
wgrantjtv: Have you uploaded it? That's the first step.06:01
jtvYes06:01
wgrantWell, I guess the first step is obtaining a package.06:01
wgrantDo you have a package?06:01
jtvYes, I've uploaded it.06:01
huwshimiwgrant: If you take a look at base-layout.pt you'll get some clues about what's currently possible.06:01
wgrantGreat, so it's in /srv/launchpad.net/ubuntu-queue/incoming?06:01
wgranthuwshimi: Let's see.06:01
jtvwgrant: trying to figure that out06:02
wgranthuwshimi: Could you put something in view/context/fmt:public-private-css?06:02
wgranthuwshimi: That's already injecting classes into body.06:02
jtvwgrant: yup, it's there06:03
wgrantjtv: ^Rprocess-upload^R^R or so until you see an invocation that includes /srv/launchpad.net/ubuntu-queue06:03
wgranthttps://dev.launchpad.net/Soyuz/HowToUseSoyuzLocally is probably a useful guide to have open.06:04
jtvwgrant: by the way, why "ubuntu-queue" when it's a debian package?06:04
wgrantjtv: Er.06:05
jtvOh.06:05
wgrantYou're trying to upload a package to *Debian*, rather than a Debian package?06:05
=== almaisan-away is now known as al-maisan
jtvOh dear, there's a difference?06:05
wgrantWell, Ubuntu uses Debian packages.06:05
StevenKYes06:05
huwshimiwgrant: I guess. It doesn't seem like an appropriate place to do it though06:05
wgrantUploading *to Debian* on something production-like *may* work, but is untested.06:05
jtvWell yes, but it'd be a bit meaningless for me to say "Debian" when I just mean "not RPM," right?06:06
wgrantIt certainly won't create any builds or anything.06:06
jtvOh06:06
jtvThat could make it rather hard for me to Q/A DSD packageset filtering for the debian case by "just uploading a package."06:06
wgrantjtv: Well, you could try.06:07
wgrantjtv: It won't create any builds, but the primary archive shouldn't care about that.06:07
wgrantI'll run the processor so I can watch it blow up, unless you have already.06:07
jtvIf it doesn't work, will I know whether I caused the problem or it failed somewhere else?06:08
wgrantI'll hopefully be able to work that out.06:08
jtvI suppose I don't really need any builds, as long as it generates a DSDJ.06:08
wgrantRight.06:08
StevenKAnd an SPPH06:08
StevenKwgrant: I'm about to IDS up DF06:08
wgrantKeep in mind that this ranks very high on the sick, wrong, and abuse of -C almost-anything scales.06:08
StevenKwgrant: Or I can wait until you're done, just in case06:08
wgrantStevenK: Are you trying to kill Nafallo?06:09
StevenKPffft, IDS only takes 7 minutes.06:09
wgrant... on prod.06:09
StevenKNo, on DF06:09
wgrantHuh.06:09
StevenKI ran it yesterday06:09
StevenKI'm expecting it to be quicker on qas06:10
wgrantjtv: You ran it and it got rejected?06:10
wgrant/srv/launchpad.net/ubuntu-queue/rejected/upload-ftp-20110408-035934-000012/~/ubuntu/libpqxx_3.2-1sid1.dsc06:10
wgrantNot a terribly helpful upload path; you probably wanted /debian instead of /~/ubuntu06:10
jtvwgrant: ran what exactly?06:11
wgrantThe upload has been processed.06:11
wgrantand rejected.06:11
wgrantSomeone ran process-upload.py.06:11
jtvYay.06:11
jtvAh, yes.06:11
jtvBut yes, I wanted to upload to debian.06:11
wgrantWe'll need -C absolutely-anything, I suspect, which is why I want to run it myself.06:11
jtvAhhh, ubuntu is set in "incoming" in my .dput.cf.06:12
wgrantSince Debian has no ComponentSelections or SourcePackageFormatSelections or ArchivePermissions.06:12
wgrantOr even a SectionSelection, for that matter.06:12
wgrantStevenK, jtv: https://code.launchpad.net/~wgrant/launchpad/remove-archivepublisher-config/+merge/56873 would like a review.06:15
jtvwgrant: I'll take it.  Meanwhile, I replaced "ubuntu" with "debian" in my .dput-cf (well, I cloned the "dogfood" section) but that doesn't seem to be right.06:15
wgrantjtv: Do you still have a ~/ in there?06:15
StevenKwgrant: r=me06:15
wgrantStevenK: Thanks.06:15
jtvThat was quick :)06:15
wgrantIt's not a very difficult branch.06:16
StevenKIt's +0/-606:16
StevenKSo a no-brainer06:16
jtvwgrant: yes, I do… just copied what I had for ubuntu.06:16
wgrantjtv: That's for PPAs.06:16
jtv~%(dogfood)s/ubuntu06:16
wgrantPlease don't make me hack non-Ubuntu PPA support onto mawson.06:16
wgrant[df]06:17
wgrantmethod = ftp06:17
wgrantfqdn = upload.dogfood.launchpad.net:2106:17
wgrantincoming = %(df)s06:17
wgrantlogin = anonymous06:17
* jtv backs off slowly, keeping both hands in view06:17
wgrantThat's what I use.06:17
wgrantdput df:debian whatever_source.changes06:17
jtvAnd that'll do both ubuntu and debian?06:17
jtvah!06:17
StevenKwgrant: Bug 753249 makes me sad.06:17
_mup_Bug #753249: +initseries calls deriveDistroSeries() with incorrect arguments <derivation> <Launchpad itself:Triaged> < https://launchpad.net/bugs/753249 >06:17
jtvAnd the %(df)s is the section name?06:17
wgrantjtv: Right.06:17
wgrantjtv: It is replaced with the argument after the colon.06:18
jtvGreat.  Trying the upload again.06:18
wgrantI'm not sure if absolutely-anything will be sufficient, but we'll see.06:18
jtvGrrr package has already been uploaded06:19
wgrant-f06:19
jtvOh, I just edited the changelog and uploaded again.06:20
jtvIt's almost done I think.06:20
jtvAlmost there…06:20
jtvDone!06:20
wgrantThere it is.06:20
wgrant2011-04-08 05:21:47 DEBUG   Unable to find distroseries: unstable06:22
wgrantOverriding...06:22
wgrantNearly there.06:25
wgrantBah.06:26
jtvShould I say "sid" instead of "unstable"?06:26
wgrantP-a-s crashing due to no nai.06:26
wgrant2011-04-08 05:27:19 DEBUG   Thank you for your contribution to Debian GNU/Linux.06:27
wgrantjtv: ^^06:27
jtvwgrant: what is that in English?06:28
jtvSomething crashed, something succeeded?06:28
wgrant2011-04-08 05:27:19 DEBUG   Sent a mail:06:28
wgrant2011-04-08 05:27:19 DEBUG       Subject: [debian/sid] libpqxx 3.2-1sid2 (Accepted)06:28
wgrant2011-04-08 05:27:19 DEBUG       Recipients: "Jeroen T. Vermeulen" <jtv@canonical.com>06:28
StevenKIt broke, and he fixed it06:28
jtvAh.  Thanks!06:28
jtvAnd there's my DSDJ!06:28
jtvWhere's the DSDJ runner?06:29
wgrant(FTR, I changed the upload path to debian/sid, added a ComponentSelection for main in sid, amputated pas.py, then process-upload -C absolutely-anything)06:29
jtvWow, this stuff isn't easy is it?06:30
wgrantThat was actually a lot easier than I expected.06:30
jtvWhat is pas.py by the way?06:30
StevenKjtv: Don't ask06:30
wgrantDo not go there.06:30
StevenKYou don't want to know06:30
wgrantHeh.06:30
jtvStevenK: gee thanks, I already asked didn't I?06:30
jtvOh well, I'm quite happy for the monster to stay under the bed.06:30
wgrantIn this case the monster *is* the bed.06:31
lifelesshmm06:31
* jtv has a brief, swimming vision of Ripley and the child hiding under the bed and the facehugger on top squeaking "oh dear oh dear there's monsters under the bed"06:31
lifelessare bugs 739144 and 701525 dups06:31
wgrantBug #739144, bug #70152506:31
_mup_Bug #739144: Code review comment via email truncated, most content lost! <email> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/739144 >06:31
_mup_Bug #701525: Merge-proposal reply truncated <Launchpad itself:Incomplete> < https://launchpad.net/bugs/701525 >06:31
wgrantI think so.06:31
wgrantI thought someone already duped them.06:32
jtvIs that the same truncation that also happens on the web page?06:32
wgrant.. oh.06:32
wgrantA third instance.06:32
wgrantThat is odd.06:32
lifelessI was looking for a dup for 75430306:32
lifelesswhich I could *swear* I saw06:32
lifelessbut the search eludes me06:32
wgrantI've seen something like it before, yeah... but I can't think of the summary.06:33
pooliei guess it's not news if staging is timing out?06:33
lifelessnope06:33
lifelessI mean06:33
pooliek06:33
lifelessif it doesn't work how ever many times you try06:33
lifelessand it works on prod06:34
lifelessit may be an issue06:34
lifelessbut considering you may need 40 or 50 attempts to seed the cache06:34
pooliesure, but intermittent is ok06:34
poolienp06:34
lifelessyou need rather a lot of patience06:34
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
lifelesswgrant: is bug 51007 really still present ?06:51
_mup_Bug #51007: unnecessary truncation in queue output <lp-soyuz> <soyuz-ftpmaster-tools> <Launchpad itself:Triaged> < https://launchpad.net/bugs/51007 >06:51
wgrantlifeless: I think so. It should be gone in 6 months, though.06:52
wgrant(queue is dying)06:52
lifelesswontfix ?06:52
wgrantNot yet.06:52
wgrantMaybe eventually.06:52
lifelesswell06:52
lifelessif its going to be deleted06:52
wgrantIt hasn't been decided exactly what will happen yet.06:52
lifelessand we're not going to fix in the interim06:52
lifelesswgrant: so queue isn't dying ?06:56
wgrantlifeless: It has to at least change significantly for DDs. But we don't know quite how yet.06:57
lifelesswgrant: so, we'll provide a webUI, one that works ?06:57
wgrantIt will probably die, given that shell access is hopefully going to vanish.06:57
wgrantRight.06:57
lifelessso, lets wontfix.06:57
lifelessits been *7* years06:58
lifelessfor a trivial show-wider-columns problem.06:58
wgrant5 years, but OK.06:58
lifelessbah, yes.06:59
jtvStevenK: having some weird trouble with the dsdj runner.  It doesn't seem to clean up its jobs.07:04
* lifeless closes a 4-digit bug07:05
jtvStevenK: I always forget whether job runners are supposed to do that or not.07:07
StevenKIt is not07:07
lifelessI think bug 674759 might be fixed07:07
_mup_Bug #674759: hide-comments.py is hiding the wrong bug <canonical-losa-lp> <lp-bugs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/674759 >07:07
jtvStevenK: Ah sorry.  Just seeing some aborts in the debug output that mystify me a bit.  It's hard to Q/A "things shouldn't happen."  :-)07:08
StevenKjtv: Oh, like what?07:08
jtvI'm Q/A'ing the packageset filtering of DSDs.07:08
StevenKYes, I know, I'm interested in the output07:08
jtvJesus if these neighbours could just be a _little_ bit quiet…  I got the guy with the truck to turn off the radio on the external speakers, so now the baby kicks in.07:09
jtvUnfortunately I can't snip anything right now; trackpad stopped working.07:09
StevenKjtv: The next door apartment is having their bathroom remodelled, so I got woken up at 8:00am by them removing tiles with a very noisy power tool.07:10
jtvStevenK: kill!07:10
StevenKjtv: Thankfully, they stopped using it at 2:00pm07:10
jtvDue to successful kill?07:10
StevenKSadly, no.07:10
StevenKAnd I got to miss 30 minutes of it while I walked to get lunch.07:11
jtvPersonal tip: if you miss the comforting sound of a power tool being used near you at an ungodly hour, play some Ronald Keating.  Different sound, same feeling.07:12
lifelesshmm07:13
lifeless7 seconds to add a bug comment07:13
lifelessI think the structural filters are slowing things down somewhat.07:13
spivStevenK: I had the pleasure of being one of those residents that inflicted power tool noise on our neighbours, finally.07:16
StevenKHaha07:16
StevenKspiv: Vincent got "My First Power Drill" as a present?07:16
spivStevenK: we had a leaking pipe in the shower wall, so there wasn't really any choice, so I didn't even have to feel too bad about it :)07:16
spivAlthough the week and a half without a functional shower was tiresome (fortunately we also have a bathtub).07:17
spivStevenK: Vincent is quite capable of making noise without power tools…07:18
StevenKHaha07:18
spivSuch as by banging things together that aren't meant for banging, and then he makes even more noise when you take the things away from him!07:18
=== al-maisan is now known as almaisan-away
lifelessbam bam07:30
wgrantI'm on the conflict.08:33
wgrantNon-trivial JS refactors on both branches :(08:36
wgrantAh, maybe it's the one that gary referred to.08:36
jtvAnybody up for a review involving shell quoting?  https://code.launchpad.net/~jtv/launchpad/db-bug-752178/+merge/5671908:40
jtvhi henninge!08:42
henningeHi jtv! ;)08:42
danilosdoes YUI3 have anything regarding string formatting (ala sprintf)?08:55
wgrantdanilos: Y.Lang.substitute may help.08:56
wgrantlib/lp/code/javascript/requestbuild_overlay.js uses it.08:56
daniloswgrant, exactly what I needed, thanks08:58
jtvwgrant: should GNUPGHOME really be unset in the 10-sign-releases script?08:59
jtvOr is that just an example?08:59
wgrantjtv: It needs to be set to some special value on prod.09:00
wgrantOn DF I just unset it to make it work.09:00
jtvwgrant: thanks.  The scripts I implemented were meant for production, so we could just hard-code the production value there if we know what it is.  But what is it?09:01
jtvLuckily I made it easy to use in-tree or out-of-tree scripts, so we could just let IS copy and edit the scripts.09:02
wgrantHe always drops out as I try to answer :(09:05
wgrantjtv: Check cron.publish-ftpmaster for the prod value.09:06
jtvThanks!09:07
jtv(So much for saving my IRC connection by setting my TCP keepalive wait to 1 minute… I'll try with a shorter interval)09:07
adeuringgood morning09:09
jtvhi adeuring!09:10
jtvWill you be reviewing today?09:10
adeuringhi jtv!09:10
jtvadeuring: if you'll be reviewing, then https://code.launchpad.net/~jtv/launchpad/db-bug-752178/+merge/56719  please.  ☺09:11
adeuringjtv: sure, I'll look09:11
* adeuring just needs a bit more coffee09:12
mrevellHello09:13
=== almaisan-away is now known as al-maisan
jtvadeuring: thanks, and enjoy your coffee.  :)09:19
bigjoolsgood morning world09:21
jtvworld julian morning good09:21
bigjoolswgrant: are people really so thick as to repeatedly try to upload using the same unregistered GPG key despite the warning they'll get now?09:22
lifelessbigjools: you are nowhere near pessimistic enough09:23
bigjoolslifeless: ha09:23
bigjoolsthe sun is shining, I am feeling the opposite today :)09:24
wgrantbigjools: Do we know that the "Signing key %s is not registered in launchpad." error is returned properly to the client?09:25
bigjoolsyes09:26
wgrantI know the "no public key" one is, but that is an actual gpg error.09:26
lifelesswgrant: I know something we can do09:26
lifelesswgrant: about tags09:26
bigjoolsunless something broke since I tested it09:26
lifelesswgrant: use the fast query, and do an exists subquery to find *a* bug that is [visible clause]09:26
wgrantlifeless: Hmm. That's not really correct. But something to think about.09:29
lifelesswgrant: http://paste.ubuntu.com/591153/09:30
lifelesswgrant: how is it incorrect?09:30
wgrantlifeless: I can file a bug in any project, tag it with some tag, and magically that tag shows up in lots of projects' portlets despite the bugs all being invisible to me.09:32
lifelesswhy would that happen ?09:33
wgrantOh, I misread.09:33
wgrantThat's not a bad idea.09:34
lifelessneeds testing and result cross referencing09:35
lifelessbut it seems snappy09:35
bigjoolswgrant: so, we need arbitrary pockets09:52
wgrantbigjools: No, we need no pockets.10:03
wgrantbigjools: We will have suites instead.10:03
bigjoolswgrant: that won't work very well with our distroseries model10:03
wgrantI guess :(10:03
bigjoolsoh fuck sake, natty updates this morning are hanging on update-initramgs10:04
bigjoolsupdate-initramfs even10:04
wgrantSuite = (DistroSeries, suffix)10:04
bigjoolsyes, which is basically a Pocket table :)10:04
wgrantMaybe.10:05
adeuringjtv: r=me10:06
wgrantBah.10:06
jtvthanks adeuring!  And got more on the way.  :)10:06
henningewgrant: Hi!10:06
wgranthenninge: Hi.10:06
henningewgrant: Looks like I deleted you mail on xss attacks. Where did you post that so I can go to the archives?10:07
lifelessstub: probably want to unlink that old rosetta bug from your garbo branch :)10:07
lifelesshenninge: canonical-lp10:07
wgranthenninge: It was canonical-launchpad10:07
henningecheers10:07
=== adeuring changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: adeuring | https://code.launchpad.net/launchpad-projet/+activereviews | qastaging down for a schema test, back soon
stublifeless: Yeah, that old annoying bug.10:08
* stub throws away some historical data because MPs are too thick to realize bugs that have been fixed are unlikely to be fixed again.10:09
wgrantbigjools: I guess the table will also need to encompass policies that are hardcoded now :(10:10
lifelessstub: there is a bug open on that too; we should capture bugs against the mp not infer from the branch10:10
lifelessor something like that10:10
bigjoolswgrant: well we need a pocketpolicy table10:12
wgrantbigjools: And SuiteDependency.10:13
wgrantLike ComponentDependency :(10:13
bigjoolsyeah10:13
bigjoolsman this is a deep rabbit hole10:13
wgrantBut the branches are fairly shallow.10:13
bigjoolstalking of rabbit, can we please get rid of rabbit-mq from the lp dependencies10:13
wgrantThere's just an awful lot of them.10:13
bigjoolsits package is a royal pita10:14
lifelessbigjools: how so? [and no, I have a branch enabling it, just needs a little debugging to land]10:14
bigjoolslifeless: I do not want server daemons running on my laptop10:15
bigjoolsso this applies to apache and all the other crap we need10:15
bigjoolsit should start up on demand10:15
lifelessbigjools: disable it10:15
bigjoolsthe rewrite daemon that apache starts uses huge gobs of ram as well10:15
lifelessedit /etc/defaults/rabbitmq-server and set the start command to false; IIRC10:15
bigjoolslifeless: you think I haven't already? :)10:15
lifelessthe test suite will spin up its own rabbit10:16
jtvadeuring: got a very very brief one: https://code.launchpad.net/~jtv/launchpad/db-bug-752179/+merge/5689610:17
adeuringjtv: sure10:17
jtvthanks10:17
jtvI'm also about to propose another small one.10:17
wgrantbigjools: Is there a list of this sort of thing on the LEP?10:18
bigjoolswgrant: I've amended it at a high level, no implementation details at all10:19
adeuringjtr=me10:20
bigjoolswgrant: are you getting problems upgrading rabbitmq-server on natty?10:27
wgrantbigjools: Nope.10:27
wgrantWorks fine.10:27
bigjoolsI get dpk errors every time because the packaging is a PoS10:28
wgrantI haven't disabled it, though.10:28
bigjoolseither way it belly-aches10:28
lifelessbigjools: details10:28
bigjoolsStarting rabbitmq-server: TIMEOUT - check /var/log/rabbitmq/startup_{log,err}10:28
bigjoolsthe logs are empty because I disabled it10:28
bigjoolsbut it still bitches the same if I enable it10:29
lifelessSpamapS: ^10:29
bigjoolsthe package installation also fails if there's no internet connection10:30
bigjoolslifeless: I get that error when doing a manual start so something's fairly hosed!10:39
lifelessbigjools: sure sounds it10:55
bigjoolslifeless: re-installing, and it still failed.... :/10:58
bigjoolsit now sits there as an unremovable package that blocks apt-get dist-upgrade.  Sigh.10:58
wgrantEven after a purge?10:59
lifelessbuggy maintainer script10:59
lifelessfile a bug10:59
lifelessand edit /var/lib/dpkg/info/rabbit*10:59
bigjoolswgrant: can't purge, had to do dpkg remove --force-depends to get rid of it11:00
wgrantNow purge it.11:01
bigjoolsE: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).11:01
wgrantdpkg --purge --force-depends rabbitmq-server11:03
wgrantOtherwise we may have to hack the cache.11:03
bigjoolsok done11:03
bigjoolsre-instally?11:04
bigjoolsre-install? ...11:04
wgrantYeah11:04
wgrantHopefully --purge deleted the database.11:04
bigjoolsStarting rabbitmq-server: SUCCESS11:05
bigjoolsso now I just need to disable it again :)11:06
bigjoolsthanks for the help11:06
jtvadeuring: would you mind another one?  Also quite small…  https://code.launchpad.net/~jtv/launchpad/db-bug-752181/+merge/5690311:06
adeuringjtv: sure11:06
jtvthanks11:07
bigjoolswgrant: so I am trying to come up with a plan to phase in some pocket/pocketpolicy schema11:09
=== al-maisan is now known as almaisan-away
bigjoolswgrant: I think it can be done by making the schema/model and then converting little bits of soyuz one at a time.  When they're all done, then we can have other distros start to use it.11:10
wgrantbigjools: Gradually move bits of policy onto a table which uses the enum, then once they're done replace the enum with an fkey everywhere?11:17
bigjoolswgrant: so first I want to have a pocket table.  Then we need some policies defined, probably enums which map to some code.  Then we have a pocketpolicy table (pocket, policyenum) which gets looked up instead of hardcoding the rules, whereever the rules are currently applied.  They can be gradually moved.11:19
bigjoolsbut this may need thinking over a bit more, we might need to apply policies in order for example11:20
StevenKbigjools: I'd suggest a better name than 'pocket'11:20
wgrantWell, the policies are pretty simple at the moment.11:20
bigjoolsStevenK: pocket is a very strong name in Soyuz11:20
wgrantSuite = (DistroSeries, suffix)11:20
wgrantWe will emulate Ubuntu's pockets using suites.11:20
wgrantWe have to fix a whole lot of stuff, we might as well stamp out pocket.11:21
bigjoolsI'm not convinced suite is the right way11:21
wgrantWhy not?11:21
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: adeuring | https://code.launchpad.net/launchpad-project/+activereviews
bigjoolsI can't articulate it right now but I have a feeling that it'll be hard to make it work with the existing code11:22
wgrantMost stuff treats (archive, distroseries, pocket) opaquely.11:22
bigjoolsOEM still uses pockets, they just don't call them that11:22
wgrantExcept for some views.11:22
bigjoolsif we keep the notion of a pocket it will fit in nicely11:23
wgrantThat satisfies all of OEM's use-cases?11:23
bigjoolswgrant: pretty much - they have a devel, staging and "production" pocket11:24
wgrantBut they do insane things with series, right? Or are we going to model that with separate Distributions?11:27
StevenKbigjools: You already said on the call that it's going to involve touching a lot of code -- to my mind, I still like the idea of wgrant's Suite table.11:27
StevenKWe already call it that anyway11:27
adeuringjtv: r=me again11:28
jtvand thanks again11:28
bigjoolsyes so a suite table would be (distroseries(FK), pocket(text))11:30
wgrantFor now, yes.11:30
wgrantIt gives us the flexibility to change it in future without changing EVERYTHING.11:30
bigjoolswell we need to change everything to use it :)11:31
wgrantRight, but we need to change just about everything anyway.11:31
bigjoolsbut the most important thing is to encapsulate this stuff in *one damn place*11:31
wgrantYes.11:31
bigjoolsthen we can gradually refactor existing code11:31
wgrantIdeally most stuff would just deal with an opaque (archive, suite) object, but that's going to be a bit awkward to model well.11:31
bigjoolsvery awkward11:32
StevenKbigjools: So now you agree?11:32
bigjoolsthis needs to be an evolution not a revolution11:32
* StevenK blinks11:32
bigjoolsStevenK: agree with what?11:32
StevenKThe idea of a suite table11:32
wgrantI guess the DB layout doesn't really matter.11:33
wgrantAs long as the code only sees suites.11:33
bigjoolsStevenK: naming is irrelevant, the idea we had was the same11:33
StevenKbigjools: I was thinking about the multi-inheriance thing while walking to meet Sarah, too. It's fairly easy to model, if we have an id in Suite as well11:34
StevenKThen the parent/child is a Suite, which solves the pocket crap too11:34
=== almaisan-away is now known as al-maisan
bigjoolsStevenK: mmm not sure about that11:34
bigjoolsremember that suites are inherited too11:35
StevenKbigjools: If it's just distroseries as it is now, we11:38
StevenKjust have awkwardness in regards to pockets11:39
bigjoolsStevenK: I need to think this through some more, it might do the trick11:39
bigjoolswe need pocket/suite blacklisting I think11:40
StevenKbigjools: This way, that particular suite is not involved in the dependency chain, so it's elegant11:42
wgrantI think we probably need to do it StevenK's way.11:43
wgrantOr derived series will have to have a matching set of suites.11:43
wgrantOr no derivation will happen.11:43
bigjoolsI don't see how it would need to match11:44
StevenKwgrant: So it sounds fine to you?11:44
wgrantbigjools: What happens if it doesn't match?11:47
bigjoolswgrant: you tell me11:47
wgrantbigjools: Say OEM wants to have stuff inherited from natty-updates into $CRACKFUL-staging, to test updates before pushing them out to customers.11:48
StevenKAt the moment, they can only dervie all of natty11:48
wgrantThey probably want to inherit natty-release into $CRACKFUL-release.11:49
wgrantBut not natty-updates into $CRACKFUL-updates.11:49
wgrantSince copying those blindly would be a really bad idea.11:49
bigjoolsyou've still not explained why they need to match11:50
bigjoolsusing words like "probably" don't fill me with confidence :)11:50
wgrantbigjools: I manage a derivative distro. I want to test natty's updates before I push them out to my millions of users.11:51
wgrantSo I have natty-updates inherited by my crackful-proposed.11:51
wgrantI test them there, then copy to crackful-updates.11:51
wgrantIf there is no explicit mapping, how does LP know to  inherit from natty-updates to crackful-proposed?11:52
wgrantIt will try to inherit from natty-updates to crackful-updates, and all my users will die.11:52
bigjoolsthis is all based on the assumption that you're inheriting from suites11:52
wgrantI would hope you would be.11:52
wgrantBecause OEM doesn't want -backports.11:52
bigjoolsthere are other ways11:53
wgrantOh?11:53
bigjoolssuch as listing all the versions in each suite for a distroseries11:53
wgrantBut I don't care about -backports; I don't want it to show up so I have to dismiss it every time.11:54
bigjoolsunless we blacklist it11:54
jtvStevenK, you probably have better things to do right now but if you don't, got some time to explain something to me?11:55
StevenKRight, so like I said, in this case the backports suite isn't in the chain, so it doesn't show up11:55
StevenKjtv: I'm trying to not think about work, but bigjools seems to have solved that already.11:55
jtvMaybe bigjools can then—it'd be fairer but I saw him in another discussion.11:56
bigjoolswgrant: we don't need mappings for this stuff, we need a mechanism to say put that source (or sources) from that suite into this suite.  Job done.11:57
bigjoolsbut, I would like to explore all ideas11:57
bigjoolshaving many options is rarely bad11:57
wgrantbigjools: I think we probably need defaults, and definitely need to be able to exclude some suites.11:58
bigjoolsexclusion, definitely11:58
wgrantLaunchpad knows it's a security update, but it still makes me explicitly put it in -security :(11:58
StevenKjtv: So, need what explained?11:58
bigjoolswgrant: we need to get more use cases, I'm not convinced (yet)11:59
jtvStevenK: thanks.  The question is what publish-ftpmaster should do when it's moving $distscopyroot/dists to $archiveroot/dists.new and there's an existing dists.new in the way.11:59
jtvOr rather, that's what triggered the question.11:59
StevenKI don't think that should happen.12:00
jtvProbably not, no.12:00
jtvBut weird things can happen.12:00
bigjoolsjtv: doesn't the cleanup prevent that?12:00
jtvIn principle, yes.  But what if the cleanup itself fails?12:01
jtvYet with strange aeons, even Death may die.12:01
bigjoolsthen we need a cleanup cleanup12:01
bigjools:)12:01
bigjoolsat some point we have to rely on shit working12:01
bigjoolsI suspect that overwriting dists.new is never wrong12:01
jtvThat is exactly what I'd like to know.12:02
jtvPlus, what exactly is the role of distscopyroot?12:02
bigjoolsprovided there's transactional integrity12:02
jtv(There isn't, but we try to approximate it.)12:02
wgrantjtv: The dists copy needs to be outside archiveroot when the mirror sync is triggered.12:02
bigjoolswell I mean, the publisher may set the source's status to PUBLISHED, it's there in dists.new, commit() and then boom....12:02
bigjoolswe're fucked12:02
wgrantjtv: And we need to keep a copy of dists or we're copying it every time, and that's slow.12:03
jtvwgrant: okay, but what is it _for_?  What does it hold?12:03
LPCIBotProject devel build #621: FAILURE in 32 min: https://lpci.wedontsleep.org/job/devel/621/12:04
StevenKOh dear12:04
StevenKAh. Slave went bang12:05
jtvAt this time of day, the domain name almost looks like a gentle reminder to StevenK not to bite off more than he can chew.  :-)12:06
wgrantjtv: There are two copies of the dists tree. One lives in the archive root and is used by clients, the other lives in distscopyroot.12:06
jtv"Sleep?  You thought you were getting time off?"12:06
wgrantjtv: The publisher shuffles them around to do atomic updates.12:06
jtvAnd the dists directories dance back and forth between these two?12:07
deryckMorning, all.12:08
jtvhi deryck12:08
bigjoolswgrant, StevenK: the other problem we have is that we want to treat some derived distros as nothing but overlays on the parent.  (like PPAs) which means we need to only publish its changes from the parent12:08
wgrantbigjools: Oh, that's in scope for the initial implementation? :.12:09
wgrant*:/12:09
wgrantI didn't realise that.12:09
bigjoolswgrant: it might be, it depends on what jml decides as chief strategerist :)12:09
wgrantI think that's probably not going to be doable, but we'll see.12:10
wgrantMaybe with excessive pinning.12:10
bigjoolsno, no pinning12:10
bigjoolsstabby stabby12:10
bigjoolswe need 2 ways of deriving basically12:10
bigjoolscopy, or overlay12:10
wgrantAn overlay isn't safe without pinning.12:10
bigjoolswhy?12:11
wgrantYou apply an important patch to $package.12:11
rvbabigjools: by pinning you mean stick with a specific version?12:11
wgrantUbuntu applies a security update.12:11
bigjools(I can guess but..)12:11
wgrantYour users get Ubuntu's version instead.12:11
bigjoolsthat won't happen12:11
bigjoolsbecause we're overlaying only on the release pocket12:11
bigjoolsupdates need to go via the overlay12:12
StevenKWhich we can only do if we have Suites :-)12:12
bigjoolsrvba: yes, it's an apt config thing12:12
bigjoolsStevenK: not necessarily, there are many ways of implemeting it12:12
bigjoolskeep an open mind :)12:13
StevenKBut if we do it for the other ...12:13
wgrantbigjools: Ah, I see.12:15
wgrantSo it relies on having a frozen release pocket. I guess that's a reasonable constraint.12:16
bigjoolswgrant: ah reading the notes from yesterday, what I said can happen and also your way.  I need to ask cody-somerville how they cope with that12:16
bigjoolswgrant: it seems they rely on reporting12:18
bigjoolshmm12:18
bigjoolswgrant: they also create snapshots of release plus some -updates and work off that12:19
wgrantI was about to ask for a forward.12:22
wgrantThanks.12:22
bigjools:)12:23
bigjoolsnot sure why I didn't do that already ...12:23
* maxb is intrigued to see how https://answers.launchpad.net/launchpad/+question/152080 gets answered12:26
jtvbigjools: I may be way behind the discussion on this but… is "multiple distroseries inheritance" really what's needed?  The notes and diagrams I've seen so far seem to be more about a separate "pull PPA packages into distroseries" feature.12:26
bigjoolsjtv: it's both12:27
bigjoolsjtv: they manage composite archives12:28
=== al-maisan is now known as almaisan-away
wgrantmaxb: "Where is the documentation targeted to people who're willing to run their own instance of lp?" suggests a misunderstanding of the situation :(12:29
jtvbigjools: I'll have to read in more detail later then…  It's sad that evidently we thought we were ready-to-code but we weren't.  I wonder if we could reduce this kind of risk with closer "customer" involvement once coding begins.  Or would that just open the bikeshed?12:35
wgrantjtv: Ready to code what?12:39
wgrantjtv: The stuff that is already done?12:39
jtvNo, the LEP that we're implementing.12:40
jtvAs a whole.12:40
bigjoolswe are ready to code the LEP12:40
bigjoolsand were ready12:41
wgrantBut the LEP needs extension.12:41
bigjoolsyes12:41
jtvBut these are new requirements, right?12:41
wgrantPerhaps an extension.12:41
bigjoolsthe changes don't affect existing plans12:41
wgrantYeah, I think the existing Linaro plan is reasonably compatible.12:44
jtvI must be missing something.  What I understood was happening was that we were supposed to include these extra requirements into the initial delivery of the functionality in the LEP.12:45
jtvIf that's not the case, and existing plans are not affected, then that sets my mind at ease.12:46
bigjoolsjtv: right, we're not changing the immediate deliverables, just extending the scope12:49
=== henninge is now known as henninge-lunch
jtvSo I can think of it as an extra LEP building on the current one?12:49
* jtv was traumatized by an extended scope as a child and still flinches when he sees them in the street12:51
bigjoolsjtv: O_o12:51
jtvOkay, okay, I made that up.12:52
bigjoolsjtv: yes, I may even do a sidebar LEP :)12:52
* jtv pictures one of those old bibles with columns of notes about the notes12:52
wgrantI'd always understood that this LEP was just the first phase, to get Linaro and possibly Ubuntu onto the new system.12:54
wgrantWith OEM requiring more complex rules and privacy, in at least two later phases.12:54
wgrantOh seriously.12:54
wgrantMore conflicts.12:54
* wgrant fixes.12:54
bigjoolsdid we land any schema patches yet? if not just merge the damn thing to devel12:55
wgrantYeah, one was landed a few hours ago :(12:56
wgrantI may land the rev before, though.12:56
bigjoolsyes12:56
wgrantI meant to do that, but too many distractions this week :/12:56
bigjoolsthe conflicts I fixed were very odd12:56
wgrantThere's a lot of strucsub-related ones.12:56
wgrantBut this one is me+jtv.12:56
jtvwhawhat?12:57
bigjoolsthe one I fixed was in the distroseries stuff we've been changing but there were no actual conflicts to speak of, it looked like bzr getting it wrong12:57
wgrantarchivepublisher config schema.12:57
jtvah that12:57
jtvyes, sorry, no way around it—I kept mine as far away as I could, which was nowhere near far enough.12:57
wgrantYup.12:57
wgrantJust pqm-submitting now.12:57
wgrantYay, I beat buildbot-poller.13:00
* jtv goes looking for a whiteboard to map out the dists directory dance13:00
=== bac changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: adeuring,bac | https://code.launchpad.net/launchpad-project/+activereviews
wgrantjtv: Is 10383 still qa-bad?13:01
wgrantI presume not, since you reverted cron.publish-ftpmaster.13:01
wgrantAh, not tagged properly.13:01
* wgrant fixes.13:02
bachi adeuring13:03
bigjoolsI'd really like a simpler page explaining how to go about tagging when we have blocking qa failures13:03
wgrantbigjools: Meh, I missed a table addition. Can only merge one rev, due to a qa-bad interlocked with the new table.13:04
jtvwgrant: I'm not sure since it doesn't appear to be documented, but I think the qa-bad tag is appropriate.  I landed the fix with the --rollback option.13:04
bigjoolsballs13:04
jtvwgrant: that also means that that revision is still qa-bad, but that the problem goes away if you also merge the later revision.13:04
wgrantjtv: Need to tag with bad-commit-NNNNNN as well.13:04
jtvArgh13:04
wgrantjtv: This is a bug tag, not a commit tag.13:05
jtvYou mean the bug that was qa-bad13:05
jtv?13:05
wgrantLand with --rollback=NNNNNN, tag original qa-bad bug with bad-commit-NNNNNN13:05
wgrant(is this documented? not sure. does it work? sort of, most of the time)13:05
jtvThere's a lot of documentation but all it seems to say is to, er, fix it the usual way or something.13:06
adeuringhi bac13:06
bigjoolswgrant: hmmm I wonder if we could generalise PPAs into "overlay" distributions.13:08
wgrantbigjools: What does that do?13:09
bigjoolswgrant: the difference is only in the sources.list we use to build with, really13:09
bigjools(ignoring the components thing for now)13:10
wgrantbigjools: Right, so we need to improve archive deps, I guess.13:10
bigjoolsyeah13:10
bigjoolsthat's reasonably well encapsulated13:10
wgrantWe really need to gather all the Ubuntu/PPA/OEM/Linaro/whatever use-cases and work out the sorts of archives we need...13:11
wgrantThe post-Linaro LEP is probably going to have to be fairly revolutionary.13:11
bigjoolswe'll never finish :)13:11
jtvmv red-squad soyuz13:12
* henninge-lunch relocates13:25
=== matsubara-afk is now known as matsubara
jtvbigjools, wgrant: here's the migration pattern of the dists/dists.new/dists.old directories: http://people.canonical.com/~jtv/publish-ftparchive-dists.png13:40
jtvOh, that's still without the cleanup.13:41
wgrantjtv: That looks fine for a normal run.13:42
jtvHmm… I wonder if this isn't a bug in the original script.  If DONE_PUB, then all that the cleanup method does is rename {archiveroot}/dists.old to {distscopyroot}/dists.13:47
jtvBut the next step after setting DONE_PUB, in this simplified diagram, is to move {archiveroot}/dists.old away.13:48
jtvIn fact, that _is_ the next step.13:48
jtvI can't come up with any set of circumstances where that would make sense.13:50
wgrantjtv: Indeed, that is a bit odd.13:50
wgrantPerhaps it is just for consistency.13:50
jtv(Not including situations like "the disk is flapping" where it _might_ make sense but there's no real way of getting a grip anyway)13:50
jtvI think the script just grew out of hand.13:51
* jtv goes to update the online version of that diagram13:51
jtvwgrant: if you refresh now, you'll see a version with the beginning of the cleanup routine marked.13:53
jtvThis is all based on the old shell version, to avoid clay feet.13:53
jtvwgrant: I think this also means that the publish-distro run-parts scripts shouldn't need to know about $DISTSROOT.new; the DISTSROOT parameter should include the .new part.13:58
jtvIt's nice to know that ultimately, $DISTSCOPYROOT/dists and $ARCHIVEROOT/dists change places.14:00
jtvThat was not very obvious from the script.14:00
deryckadeuring, abentley -- I'm on, just mic not working, I guess.14:01
=== almaisan-away is now known as al-maisan
deryckadeuring, abentley -- I'm guessing you guys can't hear me?14:03
jtvwgrant: does this mean that $DISTSCOPYROOT/dists is really just a backup of the previous state?14:03
deryckadeuring, abentley -- let me relog.14:04
wgrantjtv: Right, the idea is to have two copies for speed.14:06
* wgrant grumbles.14:06
benjiPQM is unhappy and I can't tell if I'm the cause.  At one point (about 5 hours ago) it was complaining about a conflict in lib/lp/registry/javascript/tests/test_structural_subscription.js but it stopped and is now complaining about lib/canonical/config/schema-lazr.conf.14:08
benjithe former is mine, the latter is not14:08
wgrant23:06:38 < wgrant> jtv: Right, the idea is to have two copies for speed.14:08
jtvah thanks14:08
wgrantSince it can be pretty big.14:08
wgrant(it has some CD images and stuff)14:09
jtvAh, now I see how the rsync -H works.14:10
jtvIt's an Ouroboros.  The only copying that ever happens is the rsync (with hard-linking) back to another instance of itself.14:10
jtvNow,14:11
jtvwhere did all you zombies come from?14:11
jtv(If the reference wasn't obvious: Robert Anson Heinlein, "All You Zombies," short story)14:12
LPCIBotProject windmill build #150: FAILURE in 1 hr 2 min: https://lpci.wedontsleep.org/job/windmill/150/14:14
gary_posterbenji, thanks for pqm conflict update.  why don't we see complaints on canonical-launchpad?14:25
benjigary_poster: tell me what "canonical-launchpad" is and I'll find out ;)14:26
StevenKbenji: The mailing list14:27
gary_posterright14:27
wgrantPQM does spam canonical-launchpad@ if there's a conflict.14:28
wgrantLots.14:28
gary_poster:-)14:28
benjiI got a message about it an hour ago to launchpad@lists.canonical.com14:28
wgrantI resolved that one14:28
wgrantI possibly should have replied, but it should be reasonably obvious that it's resolved if your inbox isn't flooding every 5 minutes :/14:29
gary_posterheh14:29
benjiwgrant: awesome, thanks14:29
gary_posterthe only way it is not obvious is if you are not familiar with that aspect of the current landing machinery14:29
gary_posterwhich seems conceivable14:29
wgrantI resolved two conflicts this evening: the earlier was strucsub JS tests, which I'm not sure I did correctly, since I don't have Windmill working locally. You might want to check that out.14:29
wgrantHeh.14:29
wgrantYeah, true.14:29
gary_poster:-)14:30
gary_posterok thanks wgrant14:30
benjithen my question becomes, why isn't my revision in devel or listed on https://devpad.canonical.com/~lpqateam/qa_reports/deployment-stable.html14:30
wgrantI'd EOD'd and mostly wanted the spam to stop, but it seemed OK.14:30
wgrantbenji: Which revision?14:30
wgrantbenji: deployment-stable.html should update within 1.5 hours of your rev passing buildbot, after it's on qas.14:30
gary_posterbenji, since those test additions are yours, could you take a glance as he suggests?  I'm going to run make an mp before Graham leaves14:31
benjibzr+ssh://bazaar.launchpad.net/~benji/launchpad/add-edit-tests-2 r1277514:31
wgrantIt wasn't testfixed out?14:31
wgrantOr conflicted out?14:31
benji<shrug>14:31
wgrantCheck for PQM failure emails that are to you, not launchpad@14:32
jtvbigjools, may I invite you to look at how the dists directories shuffle about in publish-ftparchive?  http://people.canonical.com/~jtv/publish-ftparchive-dists.png14:32
benjiI got a direct email about the conflict in lib/lp/registry/javascript/tests/test_structural_subscription.js14:32
wgrantbenji: That was probably rejecting your branch.14:33
benjiok, so I need to freshen my branch from devel so I can resolve the conflict and then use bzr lp-land to get it in? (or do I need to do the whole ec2 land dance again?)14:34
wgrantNo point ec2ing it, since Windmill is turned off now anyway.14:34
wgrantIs the branch targetted at devel or db-devel?14:34
benjidevel14:36
adeuringabentley: r0me14:36
wgrantbenji: Merge, hopefully you'll see the conflict. But it will probably conflict when it tries to merge to db-devel.14:37
abentleyadeuring: marse1lles14:37
wgrantIf you're just adding tests, should be easy enough to resolve.14:37
benjiwgrant: got and fixed the conflict14:40
wgrantGreat.14:41
wgrantCommit, push, lp-land, hopefully PQM won't hate you too much.14:41
wgrantI shall expect a conflict in the morning.14:41
rvbaadeuring: Hi! Could you take a look at this MP? https://code.launchpad.net/~rvb/launchpad/dds-link-to-derivedseries/+merge/5693114:41
adeuringrvba: sure14:41
rvbaadeuring: thx.14:41
henningeabentley: did you run the one-off merging script? I can't remember.14:48
abentleyhenninge: No.  I included it in the RT: https://portal.admin.canonical.com/4515214:50
henningeabentley: ah no, that's not what I meant.14:51
abentleyhenninge: what did you mean?14:51
henningeabentley: wasn't there a merge run of already existing package links before you started coding the jobs?14:52
abentleyNo.  Jobs were the first thing I worked on.14:52
abentleyThen I worked on a one-off script.14:52
abentleyI requested that one-off script to be run in RT 45152.14:53
henningeabentley: ok, thanks14:54
LPCIBotProject windmill build #151: STILL FAILING in 40 min: https://lpci.wedontsleep.org/job/windmill/151/14:54
deryckadeuring, r=me, with some minor comments.14:57
adeuringderyck: thanks!14:57
abentleyhenninge: I determined that it didn't make sense to do the merge until the jobs were being created (or we would miss some Packagings).  And since the release, I've focused on JS instead of getting these scripts run.14:58
henningeabentley: but the jobs only get created when new link are created. But what about the links that already existed when message sharing was introduced?14:59
abentleyhenninge: That's what the one-off script fixes.14:59
henningeah15:00
henningesorry, misunderstood that.15:00
abentleyhenninge: np15:01
henningeabentley: so as of now we have virtually no upstream message sharing going on.15:01
henningeuntil that script is run15:01
abentleyhenninge: correct.15:01
henningedpm: ^^^15:01
henningedpm: we are in a transitional stage here. So some things might not yet work as expected because the data has not been migrated yet.15:02
henningedpm: but that would not explain what happened to synapatic.15:03
wgranthenninge: What's happened? It's not importing POs from the package?15:03
henningewgrant: no, it somehow reverted to old (wrong) translations it seems.15:04
wgrantHuh.15:04
henningebug 74015315:04
_mup_Bug #740153: Translations skewed for synaptic <synaptic> <ubuntu> <upgrade> <synaptic:Triaged> <synaptic (Ubuntu):Invalid> < https://launchpad.net/bugs/740153 >15:04
bigjoolsjtv: looked at the png.15:05
jtvEnough colours?15:05
adeuringrvba: could you please add unit tests for Distribution.derivatives and DistroSeries.detDerivedSeries()?15:06
rvbaadeuring: ok, will do.15:06
jtvbigjools: This should help a lot with figuring out the various error paths.  One question I still have though: is $DISTSCOPYROOT/dists used for anything besides this flow?  Because if not, I'd favour rsync'ing in the new stuff _before_ starting to shuffle directories.15:07
adeuringrvba: Especially, I'd be curious about the new clause "DistroSeries.distributionID != self.id" and the related clause in the distroseries class15:07
adeuringrvba: other than that, your branch looks goos15:07
adeuringgood...15:07
rvbaadeuring: a series is a derivation if and only if it has a parent_series and the distribution of the parent_series is not the same as it's own distribution15:08
dpmhenninge, thanks.  And the other question: on https://translations.launchpad.net/synaptic/main/+pots/synaptic/ca/5/+translate - why did the "In Ubuntu" suggestion did not just get accepted if permissions are correct? Is this how it is supposed to work? I.e. translations done downstream will need to be reviewed and accepted again before they make it to upstream? - I understand that some things might not yet work as expected, I'm just trying to understan15:08
dpmd the expected behaviour15:08
rvbaadeuring: hence the clause.15:08
adeuringrvba: right. what I mean is: A test that this clause is necessary would be great15:08
bigjoolsjtv: NFI.  :(15:09
rvbaadeuring: ok, got it.15:09
bigjoolsjtv: this stuff is seriously crusty15:09
jtvbigjools: the diagram also reveals that the cleanup routine really doesn't do anything once the done_pub point has been passed.15:09
bigjoolsno15:09
wgrantjtv: Do what you want with DISTSCOPYROOT.15:09
jtvwgrant: thanks15:10
henningedpm: the expected behavior is: If you, being a translator for Catalan in both the Ubuntu package and the upstream project, then any translation you do in Ubuntu will be mirrored to upstream *if* they are identical already.15:10
henningedpm: if they are different, they will stay different.15:10
jtvbigjools: "no it doesn't do anything" or "no you're totally wrong, you simpleton"?15:10
bigjoolsjtv: sorry, was agreeing but in a terse way :)15:10
henningedpm: in that case "different" is that upstream is untranslated.15:10
bigjoolsE_TOOMANYSIMULTANEOUSCONVERSATIONS15:10
jtvbigjools: It's okay to say "simpleton"15:11
jtvAh, OK15:11
* jtv trundles off to apply his newfound insight15:11
henningedpm: Although that depends on what the Ubuntu translation was before that.15:11
henningedpm: do you know if it was empty, too?15:12
dpmhenninge, what's the rationale on having to review untranslated strings with translations coming from downstream? I thought that they'd flow in transparently to automate the process. This is no different than having global suggestions and having to click them15:12
dpmhenninge, I'm not sure what you mean by empty, it's untranslated upstream:15:13
dpmhttps://translations.launchpad.net/synaptic/main/+pots/synaptic/ca/5/+translate15:13
henningeempty = untranslated.15:13
henningedpm: that translation was done long before this mechanism came into place.15:13
henningedpm: I think that they are not linked yet.15:14
* henninge tries on qastaging15:14
henningedpm: they seem to be linked. I could change both sides by entering a translation upstream.15:17
henningedpm: which is the expected behavior when upstream is untranslated -> the first translation overides an existing Ubuntu translation15:18
dpmhenninge, yeah, I can understand that, but what's up with the untranslated behaviour? Should ubuntu translations not flow to upstream if the message is linked, upstream is empty and permissions are right?15:22
henningedpm: they should but it may be a bug. OTOH this is done when the translation is entered and this one was entered long before upstream message sharing existed.15:24
dpmhenninge, ok, yeah, that helps, I was just trying to understand the expected behaviour. Do you want me to file a bug on that one?15:27
henningedpm: well ...15:27
henningeI am not sure.15:27
henningedpm: The situation is this: normally both the sourcepackage and the uspstream translation would start out untranslated.15:28
henningedpm: so they are identical15:28
henningedpm: someone with permission translates in Ubuntu and that gets mirrored to upstream.15:29
henningedpm: let me try that out real quick15:29
dpmok15:29
* henninge translate on some obscure untranslated language15:29
henningeeo?15:29
henninge:)15:29
henningenah, that has translations.15:30
henningends?15:30
henningeDe snakt platt!15:30
henningeksh15:31
henningeYeah, nobody speaks Kölsch ... ;)15:31
henningedpm: nope, not working :(15:33
henningedpm: uh oh, tracking does not work ...15:34
LPCIBotYippie, build fixed!15:34
LPCIBotProject windmill build #152: FIXED in 39 min: https://lpci.wedontsleep.org/job/windmill/152/15:34
dpmhenninge, oops15:35
henningedpm: yeah, it only works from upstrem to downstream.15:36
henningedpm: when upstream and Ubuntu are identical, an change in upstream will be reflected in Ubuntu.15:36
henningebut not the other way round although I have permissions on both sides by virtue of being a rosetta admin.15:37
henningedpm: but it may well be that the check for admin priviliges is just missing.15:37
henningedpm: please file a bug so that we look at that more closely.15:37
dpmhenninge, yessir!15:38
dpmthanks for your help15:38
henningeincluding the behavior when untranslated message are involved.15:38
henningedpm: BUT15:38
henningedpm: if upstream is untranslated and Ubuntu is translated then we could assume that upstream chose no to accept the Ubuntu translation.15:39
henningedpm: we might want to keep them different then.15:39
henningedpm: OTOTH that situation would also arise if somebody who is only an Ubuntu translator entered the first translation in Ubuntu.15:40
henningedpm: In that case an override by the might be advised. But we can't tell from the situation.15:41
henningeIn general it might be a better idea to be mare accepting then rejecting about translations.15:41
dpmhenninge, yeah, I'd second that in this particular case (i.e. being more accepting)15:47
=== deryck is now known as deryck[lunch]
henningeHow do I run javascript unit tests?16:18
sinzuihenninge:  --layer=Windmill to explicitly add that layer to the testrunner16:19
henningehm, RegistryWindmillLayer just tried to came up but died horribly ...16:20
wgranthenninge: Doesn't work on Natty at the moment.16:20
wgrant(our mozrunner doesn't like Firefox 4)16:20
henningewgrant: ah yes, that's what it looked like16:20
henningethanks16:21
* henninge will have to let ec2 sort it out.16:21
wgranthenninge: ec2 doesn't run Windmill any more. But Hudson will run them in a separate job once it lands.16:21
henningeargh16:21
henningewgrant: thanks16:21
sinzuiThat reminds me that I want to get pocket-lint to use seed since most users will have that installed16:22
=== al-maisan is now known as almaisan-away
henningesinzui: can you still run windmill tests?16:26
henningei.e. no natty yet?16:26
sinzuiI have been on natty since 201016:26
sinzuiThere was a very painful day with no menus16:27
henningeouch16:27
henningeoh well, I don't expect to have broken anything anyway.16:28
* henninge goes lp-propose16:28
sinzuihenninge: do you need to test windmill page integration or do you want to test yui unittests16:28
henningesinzui: yui unittests AFAICT16:29
sinzuihenninge: yui unit tests work so I just open that page to verify they pass16:29
henningesinzui: the html page that goes with the test?16:29
sinzuihenninge: you can open the test page (the actually harness) in any browser16:29
sinzuihenninge: that is right16:29
henningecool16:29
sinzuiit is faster than the test suite startup too16:29
henningepassed!16:31
henningethanks sinzui16:31
sinzuihenninge: I am glad to be of service. I write js with that test page open. That lets me do test-driven development16:32
benjibac: I have some structural subscription JS test sprucing up for review: https://code.edge.launchpad.net/~benji/launchpad/fix-ss-test-lint/+merge/5697416:42
bacbenji: on it16:42
benjithanks16:42
bacbenji: approved with my condolences.  thanks.16:50
rvbaadeuring: I spoke with bigjools about this ... and I've added a test (the test for getDerivedSeries existed already) ... but I deliberately did not check for the condition (;-)) ... because of 754750. We need to refactor the whole parent/child modelling and deal with existing wrong data. So you're right, the condition should not be needed, but it is for now because of this wrong data (i.e. parent/child relationship where none should b16:50
rvbae there).16:50
benjibac: heh :)16:51
rvbaadeuring: I'll have to EOD soon (and so do you I guess) so maybe you can check it out next week if it's ok with you.16:52
adeuringrvba: np Ii understand the issue with bug 754750. Let me just have a look at the diff again16:52
_mup_Bug #754750: Distroseries' parent_series attribute is misleading. <derivation> <Launchpad itself:New> < https://launchpad.net/bugs/754750 >16:52
=== matsubara is now known as matsubara-lunch
adeuringrvba: r=me. thanks for the additional test and the comments!16:54
rvbaadeuring: great, thanks for spotting this. Have a nice we!16:55
adeuringrvba: thanks! have a nice weekend too!16:55
=== Ursinha is now known as Ursinha-lunch
henningeadeuring, bac: Is either of you up for a JS review?17:04
adeuringhenninge, bac: I am a bit tired (worked quite long yesterday...) so... bac?17:05
henningeadeuring: time for the weekend, I guess. ;)17:05
adeuringhenninge: yeah :)17:05
sinzuibac: will you have time to review https://code.launchpad.net/~sinzui/launchpad/mlist-sync-0/+merge/5646817:16
sinzuibac: do not hesitate to ask questions if you do. It took me a few days to understand what the original test was trying do17:17
=== adeuring changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: bac | https://code.launchpad.net/launchpad-project/+activereviews
=== deryck[lunch] is now known as deryck
SpamapSlifeless: interesting about rabbit. I'm starting to think the only sane way to run it on a roaming machine is inside a vm/container17:35
=== matsubara-lunch is now known as matsubara
=== Ursinha-lunch is now known as Ursinha
bacsinzui: yes, i'll look now18:43
LPCIBotYippie, build fixed!18:50
LPCIBotProject devel build #622: FIXED in 5 hr 23 min: https://lpci.wedontsleep.org/job/devel/622/18:51
bachi sinzui can you explain what test_staging_sync_list_without_team is meant to do?19:35
sinzuiThe team was deleted, the mlist and archive are still on the system19:35
sinzuithe mlist+archive do not create an oops19:36
renatahello everybody! I am new at working with launchpad.. I am starting to work with launchpadlib and the API. I was wondering if anyone could tell me if there is a specific API function to access distribution's packages.19:37
sinzui^ bac19:37
* bac looks19:37
renatafor example, I would like to obtain all ubuntu packages..19:37
renatais it possible to do so only by giving a release name like "natty" ?19:37
bacsinzui: so the fact we only see team-1 means the other is not there...therefore the test passed19:38
sinzuirenata: https://launchpad.net/+apidoc/devel.html distribution has two methods to get source packages,distro series has some too19:40
sinzuibac: correct19:41
sinzuibac: I can update the test to state that mlists+archives without a team are ignored19:41
bacsinzui: yeah, some sort of explanation would be good.  most people reading that test aren't going to have a clue, assuming someone besides you ever reads it again.19:42
bacsinzui: and you have the most interesting typo on the copyright year!19:42
bacusually it is an off by one error, not an order of magnitude19:43
sinzuirenata: source package releases and binary package releases are not supported. You can get source_package_publishing_history from the source_package to learn about versions19:43
sinzuibac: I claim the cough syrup made me do it19:44
bacsinzui: in other tests on ec2 we've seen spurious failures with shutil.rmtree19:45
sinzuihmm19:46
renatasinzui tank you! I was just trying to find a list of packages to a certain distribution. I think that may do it :)19:46
bacsinzui: would it be safe to add the 'ignore_errors' option19:46
bacsinzui: the other tests fail when the dir is not empty19:46
sinzuibac: I will look into it. The other tests will not fail of data is left behind. since each is in their own tmp dir19:48
sinzuioh, well the archive setup is not in tmp, so I will add the 'ignore_errors option19:49
renatasinzui, thanks a lot. your information was very useful!20:11
sinzuinp20:13
benjibac: I have another JS MP for you, this one a bit shorter and with slightly more meat: https://code.edge.launchpad.net/~benji/launchpad/bug-750573-move-overlay/+merge/5699920:17
bacbenji: ok20:17
lifelessbenji: hi20:26
lifelessbenji: I'd like pointers at how the api server side glue goes about making a batchnavigator for a collection20:26
lifelessbenji: I want to glue lazr.batchnavigator 1.2.3's shiny new range_factory in20:27
benjilifeless: hmm, let me see if I can come up with some pointers20:28
bacbenji: thanks for the fixes.  however, when i click on the 'submit' i still see a two-stage disappear on the overlay20:28
bacbenji: it is working for you w/ff4?20:28
lifelessbenji: if what I'm talking about sounds mysterious, I can point you at the BN changes, or describe the concept directly20:30
benjibac: yeah, it looks fine in FF4 and Chromium; are you seeing the overlay dissapear and then the filter controls or the other way around?20:31
benjiunfortunately I think we have to choose one or the other, and I /think/ the former is slightly better20:31
bacbenji: other way.  when fully opened, the accordion, et al, go away leaving a smaller overlay which then disappears20:32
benjilifeless: I believe I understand the root of your request.  You've been working on removing the explicit start indices from batching requests.20:33
bacbenji: i see the same with FF4 on os x.20:33
benjibac: darn, that's what I was trying to eliminate; I may need to find a way to run this on FF3 so I can reproduce20:33
bacthe cancel button causes it to go away cleanly but submit shows as above20:33
lifelessbenji: yes, well, adding data so the query doesn't use OFFSET; the start index still stays for cosmetics20:34
benjibac: oh! I can fix that, one second20:34
=== almaisan-away is now known as al-maisan
benjibac: ok, it'll take more than a second, I'll let you know20:37
benjilifeless: I think lazr/restful/_resource.py line 640 is what you're looking for20:39
lifelessgreat20:41
lifelessbenji: now, leonard said that in url generation20:41
lifelessjust changing the next/prev links should be enough20:41
lifelessor do I need to change some compilation metadata too ?20:41
benjilifeless: That's a good question; I don't know off the top of my head.  Let me see if I can find anything out real quick.20:43
benjilifeless: It looks like just changeing the batch links should work.20:48
lifelessbenji: wicked21:01
benjibac: I believe I've fixed the two-step overlay hide problem, the diff is up to date on the MP21:10
bacbenji: cool, grabbing it now21:11
bacbenji: works great!21:14
benjicool!21:14
=== al-maisan is now known as almaisan-away
cr3hi folks, what's the launchpad practice for naming classes containing acronyms? HTTPFoo or HttpFoo?22:09
lifelessyes22:09
lifelessI suspect we have both22:09
lifelessIf I was guessing - e.g. to grep, I'd expect HTTP22:09
cr3lifeless: grepping around has indeed returned both practices, which is understandable for such a large code base, any reason to use one practice over the other?22:10
cr3it just occured to me, which is strange since I've been doing this for a while, that two acronyms in a row would suck with all caps: APIWSGIWTF22:11
lifelessI think changing the case on acronyms is more surprising than not22:11
lifelessOTOH theres little excuse for more than ~ 2 classes with the name of a given standard in them22:13
lifeless[outside of the actual implementation of said standard]22:13
=== bac changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
=== matsubara is now known as matsubara-afk
lifelesssinzui: still here?23:00

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