[00:17] * mwhudson nom nom nom === mbarnett changed the topic of #launchpad-dev to: Launchpad Development Channel | Week 4 of 3.1.12 | PQM is closed; RC only (https://dev.launchpad.net/CurrentRolloutBlockers, RM: danilos) | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in #launchpad-reviews | Use http://paste.ubuntu.com/ for pastes [00:39] So, the source format 3.0 code is there now. But do the Soyuz machines have the new dpkg, and are the buildds running lp-buildd 54? [00:40] wgrant: no and yes [00:40] bigjools-afk: Argh and yay. [00:41] it will happen in due course then we can turn on the wotsit selection [00:41] Right. [00:48] bedtime, g'night [00:48] Night. [01:09] mwhudson: so... when are we going to flick the switch on the "never succeeded" svn branches? [01:31] mwhudson, where is your pyflakes branch that makes working with lazy imports not be terrible? [01:31] mwhudson, and would you like me to land it to trunk for you? [01:33] thumper: i guess there's little harm in flicking the switch now [01:33] thumper: we shouldn't mass retry them all [01:33] mwhudson: limit 5 each time? [01:33] mwhudson: how many where there? [01:33] jml: https://code.edge.launchpad.net/~mwhudson/pyflakes/support-lazy-imports [01:34] mwhudson, thank you. [01:34] jml: if you like; i've never proposed it as it seems very bzrlib specific [01:34] jml: want a quick chat now? or after you have lunch? [01:34] thumper, I just had lunch. [01:34] thumper, it's all I can do to prevent my parent's from serving it before breakfast. [01:34] thumper: well, by flicking the switch i meant "update codeimport set rcstype = ..." [01:34] s/'// [01:35] mwhudson: yeah, that's what I was thinking too [01:35] mwhudson: add a "limit 5" on the end of the query [01:35] thumper: not sure off hand about how to retry them with straight sql [01:35] thumper: most of the never-succeeded ones are marked FAILED, they won't be retried without intervention [01:35] mwhudson: set the status to reviewed [01:35] mwhudson: ah, bugger [01:35] mwhudson: the code adds the job when it becomes reviewed [01:36] thumper: yeah [01:36] mwhudson: so direct editing of reviewed would be a 'bad idea' [01:36] i think it's probably just "insert into codeimport where ..." but yeah [01:36] *into codeimportjob rather [01:36] "some care required" === mwhudson_ is now known as mwhudson [03:02] hi mwhudson! you've been working on the recipe builds, right? [03:03] jtv: howdy! no long no see! [03:03] spm: g'day! [03:03] spm: how's life? drop bear attacks not too bad? [03:04] spm: I've been doing some traveling... no mobile coverage most of the time, let alone internet. feel like a different person [03:04] heh [03:08] jtv: i have, for my sins [03:08] * jtv resists to urge to ask about those :) [03:09] mwhudson: I was wondering... how does one go about writing tests for that sort of thing? [03:09] jtv: i don't really know, i haven't got to that point yet [03:09] jtv: just bashing out the content class code and tests for same [03:10] mwhudson: in our case we separated the "set up an execution environment" work from the "build the payload" work, so I'm facing that part a bit earlier [03:11] jtv: well, i guess the interface to between the build and the master is xml-rpc [03:12] jtv: so you don't need to run the build inside a vm to be able to test that... [03:13] the last time I did anything with xmlrpc it was to protect against a virus that exploited a PHP implementation... then told the inventor of xml that it was all his fault. [03:13] but the principle sounds sensible :) [03:14] mwhudson: that's another part I couldn't figure out easily: where does the payload fit in? I saw mention of a build() method on the slave, but couldn't quite match it up to an implementation [03:15] jtv: what do you mean by payload? [03:15] the actual work that we want to do on the slave [03:15] i.e. our own equivalent of "build the package" [03:15] jtv: code or data? [03:15] oh, our "build" is a pure data thing [03:16] very simple compared to the other stuff [03:16] compared to the other forms of build, I mean [03:17] jtv: so there are two ways you can get data onto a build machine [03:17] (currently) [03:17] I think we'll be wanting to add a third: check out a publicly available branch [03:17] jtv: as an argument to an xmlrpc method, and a file from the librarian [03:17] jtv: yes indeed [03:18] I think you're talking about the "cacheFileOnSlave" stuff, right? [03:18] (and ultimately, check out a non-public branch too) [03:18] jtv: yeah [03:18] for the files that aren't on the public librarian [03:18] jtv: i think "cacheFileOnSlave" applies to the public librarian doesn't it? [03:19] jtv: public librarian files are accessed by sha1sum, restricted librarian files by url which has credentials embedded in it [03:19] mwhudson: I could easily be wrong, but the buildfarmjobbehavior code I looked at said it was going to the trouble to deal with private files [03:19] jtv: wgrant knows far more than me about this sort of thing btw :-) [03:19] * wgrant looks. [03:20] I guess the Pacific side of the planet is the place to be for these things :-) [03:20] hi wgrant! [03:21] jtv: which code are you looking at? [03:22] mwhudson: I'm not looking at code now but IIRC there is one existing concrete implementation of IBuildFarmJobBehavior; it has a private method with a name like _cacheFilesOnSlave that does this stuff [03:22] * wgrant tries to work out how this new split works. [03:23] jtv: i haven't looked at this since the soyuz guys moved all the code around [03:23] jtv: YOou mean BinaryPackageBuildBehaviour._cachePrivateSourceOnSlave? [03:24] wgrant: that's our baby [03:24] but I don't care too much about this part anyway because what I need to do is pass the branch URL to the slave, then have the slave check out the branch [03:25] jtv: in builder.py, i reckon self.slave.ensurepresent is calling some xmlrpc method [03:25] I see now that we've been talking at cross purposes [03:25] mwhudson: It is. [03:26] jtv: lib/canonical/buildd/slave.py, def ensurepresent [03:26] Er, mwhudson ^^ [03:26] wgrant: right [03:26] ahhhh, and all this time I was looking only in lib/lp/buildmaster and lib/lp/soyuz [03:27] jtv: And you should stay there until you really have to leave. [03:27] jtv: oh, you hadn't had the delight of lib/canonical/buildd yet? [03:27] lp-buildd is *not* pretty. [03:27] * mwhudson goes away until the screaming becomes loud enough to disturb him again [03:27] * jtv looks worried and puzzled at the contrast between wgrant's and mwhudson's take [03:28] jtv: basically, i guess we'll need to add an xmlrpc method "getbranch" or something [03:28] mwhudson: But you're going to be using bzr-builder to grab the branches, aren't you? [03:29] wgrant: *I* am i expect, yes [03:29] mwhudson: you've been adding slave-side stuff... have you been doing that by extending this part, or by adding new classes somewhere? [03:29] So it may prove better to just let the Translations code inside the builder take a branch path in extra_args, check it out itself. [03:29] jtv: i haven't added slave side stuff yet [03:30] what's bzr-builder btw? [03:30] jtv: wgrant has a point here [03:30] it rings a bell [03:30] jtv: slave.py defines an abstract class BuildManager [03:30] jtv: debian.py in the same directory defines a subclass DebianBuildManager [03:31] wgrant: that's what I had in mind, yes... it'll mean some IS changes, but it's by far the "narrowest" channel I think [03:31] jtv: we'll both be wanting to define new subclasses i think [03:31] ah, buildmanager was that thing that sounded like it lived master-side but actually managed the build client-side? [03:31] I mean, slave-side? [03:31] jtv: No, no. [03:31] hee hee [03:31] There is buildmanager, and buildd-manager. [03:31] And slave-scanner, and builddmaster. [03:31] there is buildd-manager an [03:32] "oh of course, how could I be so _stupid_?" :-) [03:32] buildd-manager and slave-scanner are both instances of this 'builddmaster' concept. [03:32] They live on the master. There is only one of them. [03:32] buildmanager is part of lp-buildd, and lives on the slave. [03:32] lp-buildd? I don't think I've been introduced to that one [03:33] jtv: launchpad-buildd is the thing that lurks in lib/canonical/buildd [03:33] jtv: the stuff in lib/canonical/buildd is turned into a debian package called launchpad-buildd (?) which is installed on the build machines [03:33] but this _does_ sound like buildmanager is the one that sounds like it runs on the master but actually runs on the client, just like I said, no? [03:33] It's self-contained, except for tac-related stuff. [03:34] jtv: yeah [03:34] tactical air command? [03:34] type approval code? [03:34] jtv: Nasty Twisted thing. [03:34] twisted application configuration [03:34] thrust asymmetry compensation? [03:34] Ahh. [03:34] wgrant: better than taps! [03:34] mwhudson: Yeeeees. [03:37] coffee's ready [03:37] coming back from Laos with a few bags of the stuff was the perfect excuse to get a proper machine [03:37] hang on [03:38] ahhh [03:39] with that taken care of, back to that code :-) [03:42] How scheduled is this work? [03:43] (ie. do we know what people will be doing in Wellington?) [03:43] wgrant: still a big unknown afaik [03:43] wgrant: this is exactly what we'll be working on in wellington [03:43] mwhudson: 'this' is a very big domain. [03:43] what precisely we will do depends on what we get done between now and then i guess [03:43] wgrant: well yes [03:44] wgrant: hence our different answers :) [03:44] aiui, the plan is "find something to do. do it" [03:44] But I guess it is closer than I had previously thought, what with Christmas in the way. [03:45] mwhudson: would "clean up l/c/buildd a bit" be a good point for the agenda there? [03:45] one of the goals on the internal wiki page for the sprint is "# Hack on code like crazed bunnies " [03:45] mwhudson: Heh. [03:45] jtv: That code is normally hacked by infinity/lamont/whoeveritisnow [03:45] But I suspect a lot will need to be done in Wellington. [03:46] what ever happened to "everyone owns all code"? :-) [03:46] getting fresh, freshly-frustrated eyes on code is often what drives good cleanup [03:46] jtv: This code primarily lives in a tree outside LP. [03:46] Occasionally getting copied back in. [03:46] Although that appears to have changed in the past few weeks :D [03:47] * jtv hates hidden dependencies between projects [03:48] jtv: part of it (i guess) is that this code has to run on architectures that launchpad probably doesn't run on [03:48] like hppa [03:50] fair enough, but does that mean that I'll have to go to this other source tree when I need to work on slave-side code? [03:51] i don't think that's completely settled, but i'd lean to "yes" [03:51] lamont was last week doing the latest lp-buildd changes in a normal Launchpad branch, so the days of the separate tree may be over. [03:53] i think that more or less has to happen [03:58] wow, the hotel we're staying in in wellington doesn't get very good reviews on tripadvisor [03:58] (but i think it'll be fine for us actually) [03:59] mwhudson: the cynic in me is tempted to say "maybe there's just 1 competing hotel and they like to review each other" [03:59] jtv: new zealand is a small country, but there's more than one hotel in it's capital :-) [03:59] or two [04:00] mwhudson: "oh you're from New Zealand? Do you know Gerald?" [04:00] I presume the sprint itself will be somewhere in the hotel too? [04:00] you presume too much sir! [04:01] * jml goes back to his box [04:02] wgrant: yeah [04:03] Oh good, their website wants me to install QuickTime. [04:37] thumper: did you want to talk today? i guess it's getting late [04:37] mwhudson: I think tomorrow is better [04:37] mwhudson: I'm about to make hamburgers for dinner :) [04:37] thumper: ok [04:38] thumper: have fun :) [05:32] wuuu [05:32] adsl2 [05:42] jml: feel the bits! [05:43] "DownStream Connection Speed 9829 kbps" [05:52] mwhudson, heh [05:52] i think i'm on adsl2, but on the other hand i'm also in new zealand [05:53] mwhudson, speedtest says 17.5 Mbps [05:53] jml: that's pretty fast [05:53] 0.83 up. [05:53] mwhudson, I may be the only person on this exchange with adsl2 [05:54] mwhudson, given that the town has 1,700 people. [05:55] Which ISP was crazy enough to put an ADSL2 DSLAM down there? [05:55] internode probably [05:56] yep [05:56] despite being in canberra, I support the fact that they put dslams in remote SA towns. big +1 from me. [05:56] spm, SA? [05:56] TAS, wasn't it? [05:56] South Aust [05:56] spm, I'm in even _southier_ Australia [05:57] jml: I know, but they really focus on SA - in particular. for a small company, that's impressive [05:57] spm, oh, right. [05:59] heh. was funny at one event Simon was talking, one of their network ops was seeing all sorts of funky stuff from telstra. just before T went to full ADSL1. was like random testing of lines and stuff. [06:00] in some ways, I'm glad the government didn't split telstra up before privatizing [06:00] every story needs a bad guy. [06:01] :-) [07:15] abentley, with ampoule jobs, what happens if a process dies due to an unexpected error? === joey is now known as Guest18577 [10:06] mwhudson: around? [10:06] or thumper? [10:35] I think bug 316192 has regressed, should I reopen it or file a new one? [10:35] Bug #316192: bzrlib.plugin.load_plugins() loads system plugins even for non-system bzrlib [10:35] I got test failures because LP's 2.1b3 bzr egg doesn't like my bzr-gtk (from .deb) or bzr-rebase (in ~/.bazaar/plugins/) === jelmer__ is now known as jelmer === jelmer is now known as Guest85315 === Guest85315 is now known as jelmer === salgado-afk is now known as salgado [11:32] hi. I'm having some problems with xpath trying to get the row (tr) element hosting a link. I'm using //table[@id='languagestats']/descendant::a[text()='French']/parent::td/parent::tr [11:32] but it's not getting the right row [11:57] maxb: opening a new bug is usually best. it's easier to keep track of things that way. there's value in seeing that this issue was fixed once before. [11:57] I wondered. OK. [14:19] james_w, i'd like to talk to you about your lazr.restfulclient branch [14:19] https://code.edge.launchpad.net/~james-w/lazr.restfulclient/fix-caching/+merge/15635 [14:19] hi leonardr [14:19] the branch itself looks fine, but i think the process is broken, because it hasn't been landed for a week [14:20] and i only noticed it because jml was complaining about a launchpadlib backlog [14:20] so: what did you expect would happen after the branch was approved? [14:20] ah, I can't land it, so abel said that he would [14:20] aha [14:20] it obviously slipped his mind [14:21] or got rejected or something [14:21] it wouldn't have been rejected, it's not pqm-managed [14:21] this was on IRC, so it's not recorded in the MP [14:22] all right. the simplest way to solve the problem would be for me to monitor the review list and push branches that are stuck in the process === Guest18577 is now known as joey [14:44] Hi all . [14:46] Short question: I'm currently trying to get my private copy auf Launchpad working, including Codehosting and so on. Everything except codehosting seems to work fine. But when I try to push to a lp://dev/ repository, the repository gets created in the root folder (/) of the server launchpad is running on. It fails, even, if this is not done with root rights (for obvious reasons). Any clue... [14:46] ...what might be wrong, or where I should start looking into ? [14:47] Apart from that, pushes to that repository don't get picked up by the webapp, even if I "make sync_branches" [14:55] Chex: Can you merge lp:~sinzui/launchpad/spam-eggs-bug-495250 on staging? We want to verify this branch for a CP to hinder spammers [14:59] sinzui: sure, hang on [15:00] updown is down [15:00] erf misfire [15:03] andrea-bs: ok, i know why you're getting the cofiguration conflicts [15:03] intellectronica, great [15:03] andrea-bs: in line 159, you allow everything in ISpecification [15:04] andrea-bs: then in line 188 you try to require permissions for newMessage and setCommentVisibility [15:05] andrea-bs: zope doesn't like that. you can't override attribute configuration, it has to be given only once, and a catch-all allow for an interface counts as all its attributes already configured [15:05] it's a PITA! [15:07] andrea-bs: the obvious (and somewhat unpleasant) solution is to change the allow declaration to use attribute names instead of the interface, and include only those attributes that you really want to allow [15:07] andrea-bs: let me see if there's a better solution i can think of, but it may be that you simply have to do the above [15:09] andrea-bs: as you can see, that's how we do it for IBug too [15:09] sinzui: the staging tree already has a bunch of stuff cowboyed in, won't let me pull in your branch.. should I do a revert and try again? === salgado is now known as salgado-lunch [15:10] Chex: Yes, I think staging should be reverted since we released code [15:11] intellectronica, thanks. I'm allowing all ISpecification's attributes (except newMessage & friends) by hand. I think this will require some time :) [15:13] andrea-bs: i know. it's no fun. sorry :( === jamalta_ is now known as jamalta [15:18] james_w: sorry, i have more questions about https://code.edge.launchpad.net/~james-w/lazr.restfulclient/fix-caching/+merge/15635 [15:18] i'm trying to see how difficult it would be to write a test for the branch [15:19] and whether it will really help you [15:19] what named operation are you calling that's not being cached, that you think should be cached? [15:19] I saw it with lots of things [15:19] distro_series.getSourcePackage for instance [15:20] were these all named operations that returned specific objects? [15:20] rather than collections? [15:21] and when you made the change locally, did you see that the cache was actually being used? [15:21] i wouldn't expect it to be used because right now launchpad doesn't serve caching directives [15:22] maybe that's the cause then [15:22] while looking in to it I discovered that it wasn't actually the lack of caching that was the limiting factor in the script [15:23] so I eyeballed the bug and submitted the change before moving on to fix the other issue [15:23] it's not just caching though [15:23] all right [15:23] i'm going to land the branch because it makes sense and will help us in the future [15:23] httplib skips all the stuff it normally does on GET [15:23] but i don't expect it to improve performance immediately, if it only affects named operations [15:25] actually there might be a way to test it regardless... [15:33] Chex, gary_poster, rockstar, bigjools, danilos, sinzui, allenap: production meeting in 28 mins @ #launchpad-meeting [15:33] Ursinha: al-maisan is covering for me today [15:33] * al-maisan waves [15:33] sinzui: sorry for the delay, all set now with that lp branch on staging [15:34] oi, thanks bigjools and hi al-maisan :) [15:34] s/oi/ok/ [15:34] hellau Ursinha :) [15:55] stub, Chex, gary_poster, rockstar, al-maisan, danilos, sinzui, allenap: production meeting in 5 mins @ #launchpad-meeting [16:01] stub, Chex, gary_poster, rockstar, al-maisan, danilos, sinzui, allenap: production meeting now @ #launchpad-meeting [16:02] bac: danilo: I think the webkit CSS problem is related to: http://pastebin.ubuntu.com/343618/ === salgado-lunch is now known as salgado [16:03] bac: danilo: We can put some of these rules back, but we should not use ids [16:07] bac: danilos: The first rule and the second rule in the removed CSS are the most likely causes. [16:07] sinzui, the only thing that was not old CSS but what I introduced as a bug fix 2 months back was #maincontent { clear: both; }, and that's the first thing I'd add back [16:08] sinzui, margin-right: -25% probably helped with other issues people are seeing [16:36] danilos: i'm confused about the CSS problem. for me it is only appearing on staging not edge. is that consistent with what others are seeing? [16:36] bac, not that I know, it appears on everything now that we've rolled it out [16:37] danilos: very odd. on my webkit browser edge looks fine [16:37] bac, what is it that you are seeing? is main content indented for the logo width? [16:38] danilos: no. on a team page the portlets that should be top right are bottom left, below the map. [16:39] bac, right, so that's one part of the problem... if you reduce the font size, does the main content get indented (i.e. floats around the top-left logo) [16:39] no [16:40] bac, see bug #493518 [16:40] Bug #493518: Side portlet moved again below the main content on wide-screen displays (1920x1200) [16:41] bac, ok, so you are being bitten by only part of the bug :) [16:44] bac, I am bitten by both parts, and first one is that I get https://devpad.canonical.com/~danilo/screenshots/css-issues.png [16:46] danilos: i've added a comment and two screenshots to that bug [16:46] bac, cool, thanks [16:46] danilos: note that i'm seeing the portlets on the bottom LEFT, not the same as emmet's screenshot where they are just pushed down [16:48] bac, right, everybody else sees them at bottom right, so it's interesting to note [17:22] BjornT, around? [17:23] bac, is that on staging? [17:24] bac, staging's currently broken; we need to 'make clean' there [17:24] mbarnett, can you revert pending merges on staging and do a 'make clean' there? [17:27] salgado: sure === fjlacoste is now known as flacoste [17:43] salgado: mbarnett: We need to QA my spam branch on staging. It is a CP/reroll candidate. When can we remerge my branch? [17:46] sinzui: ok, it sounds like thre is some contention over staging... [17:46] salgado: things have been reverted and the appserver restarted. [17:46] mbarnett, thanks! [17:47] sinzui: whenever is fine by me, it just depends on what is going on with other devs on staging [17:48] salgado: are you testing anything on staging? [17:48] sinzui, not anymore [17:48] Is there a need to declare on the LP API the return type of a method that returns a string? [17:49] mbarnett: can you merge this branch into staging and restart it: lp:~sinzui/launchpad/spam-eggs-bug-495250 [17:49] sinzui: i believe salgado is currently running some tests. is that true salgado? [17:50] mbarnett, nope, I'm finished [17:50] salgado: ok, great. thanks [17:50] sinzui: ok, give me a few (on a phone call), then i will merge that in for you [18:39] sinzui: ping [18:42] Hi EdwinGrubbs [18:44] sinzui: I have a new idea for solving the addMember() status confusion. Salgado had added a True/False return value just for the REST API, but it would be better to return the actual status. Then, the UI can do the right thing no matter what the model decides to do. [18:44] EdwinGrubbs: That is a great idea. I agree we should do it [18:54] salgado: great, the problem i saw on staging is gone [18:55] danilos: [18:55] danilos: ^^ [19:06] bac, thanks [19:46] sinzui, ping [19:46] bigjools: here now... [19:47] mwhudson: I am not :) [19:47] bigjools: congrats [19:47] I just wanted to catch up about how you're doing [19:47] but it's late, I'm tired, and fed up with 12+ hour days [19:50] bigjools: i finally got something reviewable yesterday, thudding my way along i guess [19:52] hi mars [19:57] mwhudson: \o/ === salgado is now known as salgado-afk [22:15] Who knows about GPG key? [23:43] EsatYuce: many people who have stopped working for the day [23:43] thumper, : but i haven't done