[00:02] * NCommander feels like this entire system is pretty much an undocumented blackbox [00:04] It's undocumented, but not really a blackbox :) [00:04] I'm trying to figure out where the files returned from gatherResults() go [00:06] NCommander: That's on the slave, right? [00:08] Yeah [00:09] sourcepackagerecipe is easy, it generates a _sources.changes and uploads it normally. I'm at a loss on how translation-templates does its magic [00:11] * NCommander has kinda figured out where in LP the translations build magic is, but is still trying to grok is [00:11] *it [00:14] currently my code managed to install livecd-rootfs, build the image, bombs on gatherResults() and goes to chrootFail() :-) [00:14] huwshimi: yea, give me a sec, just got to the coffeeshop [00:15] rick_h_: It's ok if this is a bad time. I can even annotate your mockups if that's easier. [00:16] huwshimi: https://plus.google.com/hangouts/_/5b5b820d6987551f9545ee30c79ed37cd5c3e30a?authuser=0&hl=en-US# [00:36] wgrant: Do I need to rip out part of IBug.transitionToInformationType()? [00:36] StevenK: For the bug supervisor stuff? Not yet. [00:37] wgrant: So it's just what is listed in the bug? That's +1/-45, and from what I can see, only 1 failed test. [00:37] StevenK: Did you also remove the helper methods on the notificationrecipientset>? [00:38] wgrant: Yah, and dropped it from the ZCML [00:38] Great. [00:38] Just waiting on test -vvm bugs [00:39] Oh, now to find the code that gives the bug supervisor a structural subscription [00:39] Ok, good, my code now executes all the way through without crashing anything [00:39] Now to figure out how t get files to go somewhere [00:41] wgrant: Right, I guess the self.addBugSubscription(bug_supervisor, user) can die too [00:42] StevenK: That's a second branch, but yeah [00:42] StevenK: Once that dies, the limitation on setting the value can die [00:42] In the second branch? [00:42] Since it will just convey privilege, not INFINITE SPAMMAGE [00:42] Right. [00:42] Right, I'll not worry about that bit yet. [00:48] wgrant: .... No failed tests [00:49] StevenK: Heh [00:57] * NCommander finally found a translations buildjob (https://launchpad.net/~vcs-imports/nautilus/master-git/+translation-templates-build/24952), but still can't tell what it uploaded [00:59] NCommander: The job's gatherResults implementation calls slave.addWaitingFile, which causes it to be returned when buildd-manager asks what files are waiting. [00:59] Right, that part I got [00:59] * NCommander is trying to work out the interface for BuildFarmJob, and where in LP said jobs are scheduled; its not in buildmaster according to grep [01:00] wgrant: https://code.launchpad.net/~stevenk/launchpad/no-more-add-bug-supervisor/+merge/119818 [01:03] NCommander: The buildfarm infrastructure requires three classes from you on the master side: an IBuildFarmJob (eg. BinaryPackageBuild), an IBuildFarmJob (eg. BuildPackageJob -- as the name suggests, it's deprecated but still required), and an IBuildFarmJobBehaviour (eg. BinaryPackageBuildBehaviour) [01:03] right [01:05] I can see that [01:05] * NCommander is *slowly* beginning to wrap his head around the monster [01:05] Its actually not that bad once you know where all the pieces are I suppose [01:07] wallyworld_: Since wgrant is such a bad person, can you review https://code.launchpad.net/~stevenk/launchpad/no-more-add-bug-supervisor/+merge/119818 ? Should be incredibly difficult. [01:07] so I need to implement the correct classes (I'm guessing in soyuz/model unless you can think of a better place), and then pin out to launchpadlib so I can trigger said builds [01:08] wgrant: am I roughly on the right gametrack? [01:08] NCommander: Yup [01:08] StevenK: ok [01:08] wgrant: seems relatively straightforward. What's the catch? :-) [01:08] NCommander: You have to touch our code :) [01:08] Hahah [01:08] as long as I don't need to deal with the UI bits, I'll live [01:09] Soyuz isn't as bad as other code bases I dealt with [01:09] (i.e. dak (before I destructively rewrote it a large chunk of it) [01:10] * NCommander is wondering how hard adding a new launchpadlib API will be ... [01:11] Not very [01:11] StevenK: done [01:11] Depends where you want to staple it in [01:11] Not just less code -- less email :) [01:12] email? [01:12] Talking about StevenK's branch [01:12] NCommander: My branch, not your stuff [01:12] oh [01:12] * NCommander wonders if someone has already ripped out the old bounty code [01:12] NCommander: https://code.launchpad.net/~stevenk/launchpad/no-more-add-bug-supervisor/+merge/119818 if you want to celebrate [01:12] The bounty tables are long dead, wgrant and I killed them last year [01:12] StevenK: I would, except LP just timed out on me :-/ [01:13] Or my browser did, not sure which [01:14] NCommander: Diff against target: 98 lines (+2/-48) 3 files modified [01:14] Net -46 LoC, woo [01:14] * NCommander can't even remember if the old bounty system was ever actually used [01:15] I now have 4 branches in ec2. [01:16] +54, +9, +1, and now -46. [01:16] I get to rip a little more out [01:18] what's the handy-dandy bzr command to see how many LoC lines have changed? [01:18] bzr di | diffstat -s [01:18] Or bzr damage, which is an addon [01:18] mcasadevall@perdition:~/src/launchpad-buildd$ bzr di | diffstat -s 3 files changed, 168 insertions(+) [01:19] And that's just for a bare minimium implementation [01:19] * NCommander groans [01:19] That doesn't really count, it's in -buildd [01:19] oh [01:20] Thought it was still considered for part of the LoC cost to LP [01:34] * NCommander decides its now a good time to take a break from banging my head on a wall [01:35] wgrant: I can't figure out where the code that restricts setting bug supervisor is [01:37] StevenK: It's possible that I was misremembering, and the problem was that there was no restriction. [01:38] Ahhh [01:38] It's in the view [01:39] BugRoleMixin.validateBugSupervisor [01:39] I thought it was in the view, but ProductEditView is sort of ... empty [01:43] Right, another +3/-61 [01:56] when was the neutral LoC policy put in place anyway? [02:03] * NCommander returns [02:19] wallyworld_: Heh, bug #1037364 [02:19] I thought there'd be some stupid-long titles :) [02:22] wgrant: examples work for me, but i have a wide monitor. sigh 2012 and people still use narrow screen resolutions [02:22] i can make the number of lines before truncation 3 or 4 [02:22] just for bug titles [02:34] Sigh, ec2 needs a timeout for connecting to an instance [02:38] StevenK: It does [02:53] wgrant: I guess most or all of TestBugSupervisorEditView can die [02:54] StevenK: I haven't looked, but probably. [02:54] StevenK: It becomes a thoroughly thoroughly boring edit view. [02:55] wgrant: So we need to test it works, but the oddball tests of "You can't set that team" just die. [02:55] Right [03:41] wgrant: less-sourcedeps == 17481 tests run in 4:12:31.684115, 0 failures, 0 errors [03:43] StevenK: Nice. [03:44] wgrant: So, how do I run the bzr-svn tests? [03:45] StevenK: Not sure. [03:46] Oh my god, can I delete lib/lp/bugs/tests/has-bug-supervisor.txt for being hideous. [03:47] Yeah [03:47] The only thing that still looks relevant is the ForbiddenAttribute [03:47] Well, and I guess setBugSupervisor might not be tested elsewhere [03:48] setBugSupervisor just sets the attribute, what the heck is to test? [04:14] wgrant: self.assertRaises( [04:14] Sigh [04:14] self.assertRaises( [04:14] ForbiddenAttribute, setattr(self.target.bugsupervisor, None)) [04:15] That doesn't work, but ForbiddenAttribute is thrown [04:15] StevenK: self.assertRaises(ForbiddenAttribute, setattr, self.target.bugsupervisor, None) [04:16] wgrant: http://pastebin.ubuntu.com/1150046/ [04:16] wgrant: It run the tests for the mixin :-( [04:17] StevenK: Stop the mixin from inheriting TestCase [04:24] wgrant: Right, I think I have mostly everything passing, but ec2 can pick that out. [04:24] wgrant: does this look ok for adding InfoType embargoed? https://pastebin.canonical.com/72290/ it needs a mechanism to decide which projects are allowed to be configured to use it, not sure what the rules should be for that [04:25] wallyworld_: The proposed mechanism is that we just don't show Embargoed sharing_policies in the UI unless they're selected [04:25] The PES setup script will set it through the API [04:26] wgrant: ok, so i just remove the entry from POLICY_ALLOWED_TYPES and it's ok then? [04:26] wallyworld_: No, you need that. [04:27] And you need POLICY_DEFAULT_TYPE for that too [04:27] Those two dicts define what the model will allow branches to be if that setting is selected [04:27] Not which branch_sharing_policies are shown in the UI [04:28] what about POLICY_REQUIRED_GRANTS [04:29] Default should be Embargoed, required should probably be Proprietary, I think [04:29] It's possible required should be Proprietary OR Embargoed, but that's easy to change later if we need to [04:30] that's what i was wondering [04:30] i'll start with just proprietary [04:30] Yeah [04:31] and i fixed getInformationTypesToShow so that it doesn't show up in the ui, removed embargoed from shown_types [04:31] wallyworld_: I think Embargoed should be in shown_types [04:32] Whenever it's available [04:32] Just like Proprietary [04:32] yes, but that is done near the botton of the method [04:32] The only difference between the two should be that one of the sharing_policies isn't shown in the UI [04:32] the current product policy is added in [04:32] That doesn't sound like getInformationTypesToShow [04:33] You mean the thing to get the sharing policies to show? [04:33] it's in BranchEditFormView [04:33] yes [04:33] Right [04:33] def getInformationTypesToShow(self): [04:33] """Get the information types to display on the edit form [04:33] That sounds sensible [04:34] What's the change you've made? [04:34] cool, i'll add some tests and do a mp, thanks [04:34] 14:31:19 < wallyworld_> and i fixed getInformationTypesToShow so that it doesn't show up in the ui, removed embargoed from shown_types [04:34] That's the wrong way around [04:34] It should be in shown_types, just like Proprietary is [04:35] shown_types defines what the options are in the UI, assuming that the branch is able to have those types [04:35] if a project has Embargoed enabled, Embargoed should be shown on Branch:+edit [04:36] ah, getting myself confused jumping between irc and code. i know what i need to do [04:36] Switch to vim? [04:37] how would that help anything? [04:38] It surely would. Both wgrant and I can agree on that. [04:38] Definitely. [04:38] Vim solves world hunger [04:38] Vim even stops the boats. [04:39] a sensible refugee policy would stop the boats [04:39] wgrant: https://code.launchpad.net/~stevenk/launchpad/no-structsub-for-bug-supervisor/+merge/119831 [04:40] wallyworld_: Now you're getting it. Therefore vim is a sensible refugee policy. [04:40] StevenK: +55? What is this? [04:40] wallyworld_: Well, they don't travel to the US, because they know that all the US is going to do is ship them right back. We just detain them for a while. [04:40] maybe if we forced refugees to use it they might not want to come over [04:41] StevenK: What sort of notifications do other similar edit forms show? [04:41] we detain them and give them big ass tvs and mobile phones and health benefits [04:41] StevenK: I wonder if we can drop these ones. [04:41] Just drop the notifications entirely? [04:41] Trying to think what we have like it. [04:43] StevenK: Also, since it's probably not exposed, you might be able to remove setBugSupervisor entirely [04:43] It is [04:43] Since the new implementation is pretty boring [04:44] Is it exposed as setBugSupervisor? [04:44] it's probably a mutator [04:44] @mutator_for(bug_supervisor) [04:44] Yeah [04:44] So it can be removed. [04:45] Should I do that in this branch? [04:45] Might as well [04:45] Lots of places call setBugSupervisor [04:45] Will mitigate the tests you added. [04:45] (by rendering them redundant) [04:45] (and failing) [04:45] Both of them, in fact [04:45] (and removable) [04:48] 15 files changed, 17 insertions(+), 359 deletions(-) [04:49] Now to delete every setBugSupervisor call ever [04:51] :) [04:51] wgrant: Hmmm, how does the ZCML change? [04:52] setBugSupervisor is listed seperately [04:53] StevenK: setBugSupervisor is probably in the launchpad.Edit attributes= section. Replace it with bug_supvisor in set_attributes [04:53] Obviously spelt with enough letters [04:56] wgrant: Like so? http://pastebin.ubuntu.com/1150072/ [04:56] StevenK: That's the one. [04:58] Er, what [04:58] def _create_scenario(self, user): [04:58] with person_logged_in(user): [04:58] logged_in_user = getUtility(ILaunchBag).user [04:58] ... [04:58] user=logged_in_user) [04:59] wgrant: Is it just me, or that just pointless and user=user would be fine? [05:00] StevenK: LaunchBag.user may not always be the logged in user. [05:00] Twitch [05:00] * StevenK leaves it alone for being magical [05:00] It should be the same, but I suspect it isn't always [05:16] 39 files changed, 84 insertions(+), 477 deletions(-) [05:21] wallyworld_: :-( [05:21] huh? [05:22] wallyworld_: I was seeing if we could go a full day with only me landing branches and you wrecked it. [05:23] oh, i thought i had broken the build or something [05:23] you just made me load buildbot [05:23] Hahahaha [05:23] bastard! [05:24] StevenK: my branch in bb now is a diff of one character :-P [05:24] Heh [05:25] my other ones had a merge conflict in ec2 i didn't notice :-( [05:30] Come on, diff! [05:30] Damn it [05:36] wgrant: If you're done watching *redacted* for the moment, that diff is updated. [05:37] StevenK: Thanks, looking [05:38] wallyworld_: I think you're overstating your work a bit. [05:38] wallyworld_: It was a single *bit* of diff :) [05:38] yes, so it was :-D lol [05:38] Really? [05:38] 3-6 is not one bit [05:38] 2 became 6 [05:39] 010 goes to 110 [05:39] Oh, so it is [05:40] I thought it was 3, bleh. [05:46] StevenK: Did you look at the notifications? [05:47] wgrant: I did not -- what do you think? [05:50] I forget what other forms do [05:50] I suspect that a lot of them don't notify. [05:54] wgrant: Kill it or leave it for sinzui? [05:55] We can always remove it later :) [05:55] Sorry, looking at your MP again now [05:55] Distractions abound [05:57] It's you, so duh. :-) [06:17] wallyworld_: Hm, actually, Embargoed's addition will also need a small DB patch (since we hardcode (3, 4, 5) in a couple of places), though it can be applied live whenever so it isn't blocked by the current fdt embargo [06:17] wgrant: i can land the branch first i think [06:18] Yeah [06:18] Embargoed branches just won't be visible to anyone but admins in searches [06:18] And if any exist on production we'll need to poke them with a stick after the patch to make them work. [06:18] wgrant: No review? [06:18] StevenK: pgkillactive ate my homework [06:18] Sure sure [06:19] in that case i might do the db patch first [06:20] wallyworld_: No need. Embargoed can't be set unless the sharing_policy allows it, and only commercial admins can set sharing_policy [06:21] So unless One of Us™ does bad things, Embargoed can't exist on prod yet [06:21] ok. it should be a very simple db patch, so hopefully can be done soon [06:21] Yeah [06:21] Just need to find things that hardcode (3, 4, 5) and replace them with (3, 4, 5, 6) [06:22] wallyworld_: Change the comments too [06:22] I suspect we'll eventually keep a private flag around to eliminate that, but we don't have such a flag atm. [06:22] in the db patch, sure? [06:23] BAH [06:23] Firefox [06:23] stop crashing [06:24] Oh [06:24] I reenabled Firebug [06:24] That's right [06:24] Haha === spm is now known as stevemci [06:31] wgrant: Still no review? [06:31] StevenK: r=me, but you should be able to delete a bit more [06:31] Heh === stevemci is now known as spm [06:37] Heh, there's another +7/-41 [06:38] StevenK: What'd you do? [06:38] makeProduct? [06:38] And dropped the two tests you suggested. [06:40] wgrant: http://pastebin.ubuntu.com/1150152/ [06:41] StevenK: Great. [07:04] wgrant: Oh, is there a bug for this bug supervisor mess? [07:08] StevenK: Bug #483521, bug #595933, bug #688956, bug #855121, bug #1029724, bug #113825 are possibly relevant [07:08] You've fixed at least some of them [07:11] wgrant: Indeed, let me link some of them [07:26] good morning === almaisan-away is now known as al-maisan [11:15] oww, landing Launchpad branches in an environment that disallows outgoing ssh is an unpleasant experience [11:15] * cjwatson tries to cobble together something with paraproxy before giving up and sorting out an all-out VPN === al-maisan is now known as almaisan-away === almaisan-away is now known as al-maisan [12:45] gary_poster: what is a stretch goal, longer than a week ? [12:47] czajkowski, officially, it means that we don't expect to get it done this week, but it's possible we could get to it if we do particularly well--if we stretch ourselves. unofficially, it means that I set the goal before I realized how little staff availability we had this week, and adjusted the goals after the fact as I was writing the blog post. ;-) [12:48] gary_poster: ahh :) [12:48] sounds good to me [12:48] :-) [12:49] gary_poster: shall me telling mrevell this in future :) [12:49] czajkowski lol [12:49] :) [13:05] Morning, all. [13:05] deryck: ello [13:09] morning [13:41] stub,lifeless: it's wound up being unclear in +activereviews due to benji's null code approval, but https://code.launchpad.net/~cjwatson/launchpad/db-process-accepted-bugs-job/+merge/119320 is pending a db review [13:41] cjwatson: sorry if I messed that up a little by doing that [13:43] I don't know either way - just occurred to me that the DB reviewers might be skimming over it [13:45] Nah, I just have a crap filing system. [13:45] 3 [13:45] bah [13:47] I guess we want the id column purely because we share code with existing job stuff [13:54] That may actually have been inertia/cargo-culting on my part [13:55] But AFAICS all other job tables have id [13:56] Do you want me to try removing it? [13:57] adeuring, rick_h_ -- will have to be offline for 25 minutes here shortly, to catch ride with Wendy into the shop. [13:57] deryck: ack [13:58] deryck: rgr === jcsackett changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: jcsackett | Firefighting: - | Critical bugs: 4.0*10^2 [14:58] NCommander: FWIW I don't think it will make sense to put all of cdimage in LP even in the long term. I think the right long-term approach is a web service to control image build scheduling (perhaps offspring) that uses LP for auth and for livefs builds. The rest of it wouldn't gain much in the way of benefit from being in LP; we'll be more agile outside it. [14:59] NCommander: (Also, you may not be aware that we've had quite a few discussions about this recently in UE; and furthermore that I'm in the process of rewriting cdimage in Python for related-to-this and other reasons.) === mpt_ is now known as mpt [15:25] stub: OK. Does http://bazaar.launchpad.net/~cjwatson/launchpad/db-process-accepted-bugs-job/revision/11832 look OK on top of your previous review? My SQL is way weaker than it should be, but this passes tests. [15:28] cjwatson: That looks fine to me. You ran all the tests? [15:28] cjwatson: I'm happy for you to land either version. [15:31] I ran the tests in my code branch that'll go with that DB branch [15:31] Well, the ones that were added/changed [15:32] But nothing else should be referencing that new table so that should be good enough [15:32] Yeah, I don't think we have any code discovering job tables and doing stuff with them. [15:32] ... I hope [15:34] If there is something insane, EC2'll catch it anyway [15:34] you hope :) [15:35] is the 'merge queue' stuff on branches ever used by anyone? [15:36] I don't think so. [15:40] in launchpadlib, is there a way to get the underlying dict of the object? [15:42] x._wadl_resource.representation seems to do the trick === al-maisan is now known as almaisan-away === salgado is now known as salgado-lunch [15:58] jml: that is exactly what I do in my python that feeds my js scripts [15:59] yeah [16:00] jcsackett, got any time for a review ? I have an MP to lp-dev-utils [16:00] I have an update to lp-dev-utils that allows page-performance-reports.py (PRR) to parse Apache Access logs. I'm trying to get it deployed this week for some account services apps. [16:03] sinzui: I was just sitting here thinking, wouldn't it be great if launchpadlib were just about dicts and functions [16:04] +1 [16:05] cgoldberg: sure. link? [16:13] cgoldberg: nm, found the MP. [16:13] jcsackett, thanks. https://code.launchpad.net/~coreygoldberg/lp-dev-utils/ppr-access-parser/+merge/119409 [16:13] jcsackett, back in a few mins if you wanna discuss anything === salgado-lunch is now known as salgado [16:39] cgoldberg: ping. [16:39] jcsackett, pong [16:39] cgoldberg: so, if i'm understanding this correct, you're adding this functionality to get performance reports from entirely different services? it seems like it might be cleaner to just create a new script. [16:41] jcsackett, my thoughts at first also.. but lifeless thought it should just be integrated with a new [parser] option... 90% of the script is the aggregation and stats logic.. [16:42] cgoldberg: fair enough. in that case, i'm writing up some notes i'll post to your MP. [16:42] jcsackett, great thanks! [16:50] cgoldberg: comments on your MP. needs a bit of fixing, but nothing major. [16:50] jcsackett, k.. will look and fix up === cjwatson_ is now known as cjwatson [17:24] jcsackett, regarding MP comments. the create_request_class function was done for exactly what you described [17:25] the servers this will run on will not have launchpad or dependent code installed.. so importing from zc isn't really possible === deryck is now known as deryck[lunch] [17:39] cgoldberg: that seems like another really strong reason to not use lp-dev-utils. [17:41] jcsackett, i don't disagree :) I'll talk to lifeless [17:42] cgoldberg: i don't want to block you longer on this; if lifeless has already indicated this should be part of lp-dev-utils, i would say just fix the other import issue i highlighted and leave an XXX comment on create_request_class indicating it needs to exist for the zc import reasons but could be cleaned up if we separated these functions out, ok? (XXX comment style can be found here: https://dev.launchpad.net/PolicyandProcess/XXXPolicy) [17:43] jcsackett, thanks much.. that sounds good. [17:43] i'll add comment and re-push [17:43] cgoldberg: yw. ping me when you've done that and i'll mark as approved. also: you can skip the bug part, since there's not a clear bug to my mind, it's just a non-ideal setup. [17:44] (the bug=nnn bit in the comment) [17:44] gotcha === deryck[lunch] is now known as deryck [18:18] I am a horrible person: http://paste.ubuntu.com/1151164/ [18:18] sinzui: ^^ [18:20] jml: I think that style is easier for most developers to adopt. [18:21] sinzui: if I did it right, the number of HTTP requests would be deadly obvious, or at least easily discoverable. [18:22] jml: the sharing service we wrote ignore the model. It focuses on your intent and lets you perform bulk actions on collections. Our js just pulls dicts from urls [18:22] sinzui: "sharing service"? [18:25] The API service we wrote to share information types with people. Visit the +sharing page of any of you projects. The page doesn't have data in it. The js pulls what it needs to get just what it needs quickly [18:25] sinzui: oh cool. [18:25] sinzui: I was secretly hoping it was actually a separate service [18:27] I guess lifeless would say that my API should probably also specify which scalar values I want [18:27] from previous conversations about DB querying [18:30] Maybe. We wrote our methods to return the dicts we knew were needed. The service is not arbitrary. Your does not need to be arbitrary, and maybe it should not expand everything given API my change and your script will slow down [18:57] jcsackett, hi there. I have a branch for review if you have time. [19:57] jml: mail me about your API, if you want an eyeball cast on it [20:07] lifeless: ok. [20:27] flacoste: http://bmfiddle.com/ [20:29] That must be an American company. "Fiddle Now!" [20:29] jcsackett: do you have time to review https://code.launchpad.net/~sinzui/launchpad/change_branch-info-type/+merge/120011 [20:30] sinzui: yes. [20:31] deryck: btw, missed your earlier ping, but your branch is r=me. [20:31] sinzui: looking at yours now. [20:35] jcsackett, thanks! [20:36] sinzui: r=me. [20:36] thank you jcsackett === jcsackett changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: 4.0*10^2 [23:12] cjwatson: I was aware of the efforts to rewrite cdimage in python, and I knew that having LP doing livefs builds were discussed (as far back as a few years ago). [23:20] cjwatson: generally when it comes to web-based infrastructure I like to have as few different tools as possible. Launchpad is responsible for packages (and soon livefs building), I rather not split it out into another tool that has to existed in a void. Launchpad is the proper place for it, if anything offspring should be merged into LP for an intergrated experience