=== wgrant changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: wgrant | Firefighting: - | Critical bugtasks: 4*10^2 [00:54] Nice easy one: https://code.launchpad.net/~wgrant/launchpad/html5-charset/+merge/100541 [00:55] wgrant: Meh, self-review :-P [00:57] wgrant: r=me [00:58] Thanks [02:54] No Production OOPSes? Oh dear. [02:54] carob may have been rebooted [02:55] It has not. [02:55] But we have Soyuz, qas and staging mails, just no prod. [02:59] oh [02:59] it will be chewing on fdt probably then [02:59] For an hour? [03:01] has on extreme cases in the past [03:21] StevenK: It's contending with prune. [03:21] postgres is not very happy. [03:21] It's later than normal today, but still going. [03:21] (you'll see it's been like an hour late for a few days) [03:24] It's also eating a lot of RAM, oddly. [04:19] lifeless: 12MB OOPSes make bson sad. [05:12] Ah [05:12] So that's why the report was so slow. [05:12] Something is terribly broken. [05:13] Although given the UA it might just be someone trying to exploit us. [05:13] Who knows. [05:13] It looks almost like someone assumed that every quoted string on the page was a URL [05:14] ... Odd. [05:14] Yeah [05:14] It's an archival crawler. [05:14] Which seems to be misbehaving. [05:15] Yay [05:15] No new bug write timeouts. [05:15] I am safe. [05:15] wgrant: Still can't figure out what to do in terms of Bug:+secrecy and multi-pillar bugs. [05:15] StevenK: Oh? [05:16] StevenK: I hadn't heard about this. [05:16] wgrant: Currently, the UI omits private if it's a multi-pillar bug. [05:16] Heh. Write robust code and forget WTF it does. [05:16] StevenK: Ah [05:17] wgrant: But that won't help given IBug.transistionToInformationType() will toss an exception no matter what you choose if the bug is multi-pillar. [05:17] StevenK: That needs to stop. [05:18] wgrant: And we do what instead? [05:18] only proprietary ones cannot be multi-pillar [05:18] StevenK: In the end only PROPRIETARY is forbidden to have multi-pillar [05:18] What he said. [05:19] Should I change that now, then? [05:20] Probably. You can remove the FF at the same time. [05:20] Right. === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away [06:24] wgrant: https://code.launchpad.net/~stevenk/launchpad/forbid-proprietary-multi-pillar/+merge/100557 [06:31] StevenK: What's with line 33? [06:31] The new cancel_url. [06:33] wgrant: Bug:+secrecy doesn't have a cancel link, it has annoyed me while I was working on the UI and it's one line. [06:33] Heh [06:33] k [06:33] + def test_hide_private_option_for_multipillar_proprietary_bugs(self): [06:33] StevenK: Oxymoron [06:35] Right, but it will change when the UI does to show information_type. [06:36] StevenK: The idea is that you can't make a multipillar bug proprietary. [06:36] StevenK: The starting condition for that test is that there is a proprietary multipillar bug. [06:36] That's invalid state. [06:37] Hmmm. [06:39] Morning [06:40] wgrant: Sadly, we can't test that with the UI having not switched. [06:45] StevenK: Indeed. [06:49] StevenK: Anyway, that test is invalid. Fix it if you can, otherwise delete it. [07:42] good morning [08:04] wgrant: But no approval? :-( === gmb changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: gmb | Firefighting: - | Critical bugtasks: 4*10^2 [09:24] Well, today's going to be a fun one if I've got only a partially-working desktop. [09:24] Sigh [09:25] (Also, what's the word for that feeling you get when you encounter a bit of Launchpad that you're largely responsible for and wish fervently that you'd had the time to make it less clunky?) [09:26] gmb: guilt [09:27] lifeless: Yeah. At least it's fleeting, because I have no actual soul. [09:27] gmb: see this is why I wanted people to reply to my thread on low bugs so I could get people to help [09:27] bu nobody replied :( [09:27] czajkowski: well, I thought about replying [09:27] but you saw to many low bugs :) [09:27] czajkowski: see, do you mean low as in 'unimportant' or low as in 'easy' / 'approachable' ? [09:28] czajkowski: Scheisse. I actually meant to, and then got sidetracked. But my question was the same as lifeless's. [09:28] czajkowski: if you mean 'unimportant', well, it seems odd to motivate people to work on unimportant bugs. [09:28] lifeless: the latter [09:28] czajkowski: look for bugs tagged trivial or easy. [09:28] ideally what I want to do is well get 5 bugs that people would love to see done in LP, but dont ahve the time and I could try and get people more involved and woarkign on patches [09:28] czajkowski: there are many - hundreds - of those that are also 'high' importance. [09:28] nods [09:29] but thought i'd start with low first adn see if some of the smaller tweaks could get people involved and interested [09:29] and a place to start [09:29] czajkowski: 'low' importance does not mean small. [09:29] it means less important. :) [09:31] czajkowski: but perhaps we're talking at cross purposes. Let me ask instead, why are you talking about 'low' bugs: what is attractive about them, and do you mean the same thing as I do when I say 'low' ? [09:32] hmm [09:32] so imo low was small tweaks to lp that people would like to see like the example I gave about cc'ing someone when you send a contact this person mail [09:32] lifeless: I was also just looking to get people talking and for people t suggest bugs [09:33] but that didn't happen :/ [09:33] assertion: there are small tweaks that are important, and small tweaks that are less important. What association do you see between 'low' importance and 'small tweak' ? [09:34] lifeless: I just started with low as a starting point, if you found me bugs that were high I'd also promote them :) [09:35] czajkowski: so, I'm a bit like a terrier here :) [09:35] why did you start with low; do you perhaps assume that low importance has some correlation with size of effort to fix the bug ? [09:35] lifeless: nope no correlation [09:35] I start with low as a place to start [09:36] I find that fascinating [09:36] anyhow, the place I suggest you start is the tag 'trivial' [09:37] lifeless: care to suggest a bug then :) [09:37] at least you;ve entered into discussion [09:37] which is fascinating :) [09:37] https://bugs.launchpad.net/launchpad-project/+bugs?field.tag=trivial [09:38] bug 869309 [09:38] <_mup_> Bug #869309: If folders in repository have unicode names, sometimes I get KeyError < https://launchpad.net/bugs/869309 > [09:38] lifeless: thank you [09:40] czajkowski: I would suggest bug 353097 and bug 249471 as good ones to tackle. The second might be slightly more complex, IDK. [09:40] <_mup_> Bug #353097: Marking a Bug as "Requiring Forwarding" text is missleading... < https://launchpad.net/bugs/353097 > [09:40] <_mup_> Bug #249471: Reporting a bug with an attachment produces two info alerts < https://launchpad.net/bugs/249471 > [09:40] nn all [09:40] lifeless: nn [10:21] lifeless: IME Launchpad's low importance doesn't always imply that the bug is of low importance to the user or group who reported it (and rightly so; Launchpad has to prioritise) [10:24] lifeless: for instance, bug 930217 is likely to be of considerable use to Ubuntu, but it was triaged as Low, and I think that was reasonable for LP to do (we could have used up some stakeholder credit to escalate it to Critical, but I think it's better to use such credit for things we can't fix ourselves) [10:24] <_mup_> Bug #930217: Make proposed pocket useful for staging uploads < https://launchpad.net/bugs/930217 > [10:28] cjwatson: Don't get lifeless started on multitenancy :) [10:28] Haha [10:29] Heh, well, my other argument would be that if you want to get more people involved then the message of "these are things we aren't currently planning to fix at all, but you can" is stronger than "these are things we're planning to fix eventually, but you can make it happen sooner" [10:38] cjwatson: perhaps we just need to spread the message that "not Critical" means "not planning on fixing at all" [10:39] And "Critical" means "planning on fixing eventually but it'll never actually happen" :) [10:40] "'The matter is under consideration' means we have lost the file. 'The matter is under active consideration' means we are trying to find the file." === almaisan-away is now known as al-maisan [10:47] Yes Minister++ [10:47] or was that Yes Prime Ministere? [10:47] -e [10:47] Both. [11:12] cjwatson: I think it was Yes Minister. [11:53] salgado, lost you [11:54] yep, trying to reconnect [12:09] let me check my notes [12:09] ...for which channel I want to be in [12:56] Morning, everyone. [12:56] deryck: ello [12:59] benji!! [13:00] StevenK!! [13:00] * benji hears string music well up in the background. [13:00] StevenK: you still around? I wanted to chat with you. I broke the convoy build setup you had by adding a makefile :/ [13:00] benji: Oh, just that you fixed the unclean reactor terribleness with a branch of awesome [13:01] I hope I got it all. I'm not very... twisty [13:01] rick_h: Ish. Chatting with friends and trying to avoid work. [13:02] StevenK: ah, gotcha. Nvm then. I'll send an official email and all that [13:02] go get more wine! [13:04] rick_h: Chatting with friends on *IRC* [13:04] rick_h: So I'm here at the computer, so you can ask if you wish. [13:04] StevenK: just wanted to have the conversation on updating hte packaging and see what needs to be done. I figure I need to update the Makefile I added to not bork whatever needs to go on [13:05] we've filed an RT to get it on production so figured I should unbreak things before that happens, but not sure what you had in mind when you mentioned 'unsucking' the packaging [13:06] rick_h: We should fix the packaging before we go forward to production. [13:06] StevenK: rgr, so I wanted to ping and get a list of what we need to do so that we can get it done. [13:07] rick_h: So I think you should organise a call/hangout with you, me, the Landscape guy that admits to knowing what convoy is, and the same for U1. [13:08] ok, I'll put together an email. I know sidnei is brazil-ish, not sure on the landscape guy. Will try to find some common time ground. [13:08] do any of you have any tricks for pairing on LP hacking? [13:08] rick_h: It's a one time call, so I'm happy to take a hit if I need to -- like 10pm or so. [13:09] StevenK: rgr, thanks. Don't think it'll be necessary, but will see [13:09] jml: I thought some people did some shared desktop stuff in hangouts recently that worked ok, but not really [13:11] rick_h: ta [13:11] How do I run ec2 from lp-dev-utils? [13:12] jml: you have to add it to your path. I symlinked the stuff into my ~/bin dir [13:12] had the same question myself heh [13:13] rick_h: thanks. [13:18] I symlinked into ~/bin, it was easier [13:24] please remind me what set_schema in zcml means [13:24] That you have permission to set the attributes exported by that class [13:26] interface [13:27] ah ok. [13:27] so, IIUC, you only need view permissions on IPerson to call createPPA? [13:28] That seems to be correct. [13:29] wgrant: where's the logic that prevents me from creating a PPA in ~wgrant? [13:30] jml: There probably isn't any. [13:32] Aha [13:32] It's not my fault after all [13:33] I apparently reviewed the commit that exports the method (despite it being before I started), but it was not added to ViewRestricted [13:33] When did that change... [13:36] wgrant: but ViewRestricted means "you need launchpad.View", right? surely createPPA should require launchpad.Edit? [13:36] jml: One would certainly think so. [13:36] I'm saying that your analysis is correct. [13:36] Not that the current state of things is in any way justifiable. [13:36] wgrant: oh ok. [13:37] wgrant: as some context, james_w and I are exploring the LP code base, hoping to make whatever changes we need so a bot can create private, commercial PPAs. [13:38] jml: Didn't you land a change recently to permit creating private ones? [13:38] wgrant: maybe. I tend to forget things like that. [13:38] Or Cody did. [13:38] [r=julian-edwards][bug=814567] Add an API to create private PPAs, [13:38] rather than changing privacy status post creation. [13:39] 'twas jml [13:39] yeah, found the branch. [13:39] right. that was clever of me. [13:40] I guess it's the 'commercial' bit that we need now. [13:42] You know, as an interview question, SteveA asked me how I would build a permission system. I wish I had had a really good answer. [13:42] ZTK's is terrible. [13:42] But it's one of the better ones I've seen. [13:42] Oh, it doesn't serve as a warning? [13:44] jml: One of my interview questions with mdz was him asking me which VCSes I had experience with, and I commented that I had a few personal projects in tla, which prompted him to say "You've done ... *real* work ... with tla?" [13:49] james-w is not allowed to make private PPAs [13:49] it's hard to judge ZTK's permission system based on LP [13:50] which is is not allowed to make private PPAs [13:50] except that you learn that it's not easy for developers to use [13:50] james_w: yeah, that's from Archive.validatePPA [13:50] james_w: which does a *manual* check for celebrity membership [13:50] james_w: rather than asked if person has launchpad.Commercial on something [13:53] StevenK: haha, that's a great question :P === al-maisan is now known as almaisan-away [14:06] basically, LP doesn't really have an internal language for "this user is allowed to make private stuff" [14:11] maybe it should have something like launchpad.AppendRestricted [14:18] how do I shell into the ec2 machine that the ec2 script creates? [14:18] as in, what key do I use? [14:21] jml: I think it creates the key and in the log it mentions the name? not 100% sure thogh [14:28] rick_h: there's a *lot* of log [14:28] jml: yea, but when you run it dumps out to terminal the startup bits as it builds up for the ec2 instance [14:29] it's in there before the instance fires up I believe [14:29] jml: if you look at the instance in the ec2 web tools I htink it lists what the key is that it's using? bah, I got this to work once, but not needed to do it again [14:30] hmm. nope. [14:31] I mean, there's a key there, but I can't get at it. [14:31] right, but does it give a hint for the filename to look for locally? [14:31] * rick_h goes to peek at the aws console [14:33] rick_h: no, it doesn't. [14:34] jml: so when I click on my running instace in the ec2 web console it says the key pair name on the left? [14:35] rick_h: yes. where am I expected to find that on my laptop? [14:35] I don't recall, but if you updatedb/locate does it come up? [14:36] rick_h: no, it doesn't. [14:36] bah sorry, don't recall then. Maybe someone else knows. [14:37] rick_h: well, thank for trying. === matsubara-afk is now known as matsubara [14:44] rick_h: the trick is to ssh in as the 'ec2test' user [14:45] jml: doh, thanks [14:46] we need an ec2 ssh command. [14:46] well, maybe not need. [14:47] james_w: ssh -A ec2test@ec2-184-73-132-244.compute-1.amazonaws.com [14:47] jcsackett: it'd be pretty easy to do. [14:48] jcsackett: I remember asking myself "why didn't I do that when I first thought of it?" when I added ec'2 list' [14:48] ec2 list, btw, is a fantastic command. :-P [14:48] * rick_h goes to look up ec2 list [14:48] jml: yeah, it doesn't strike me as that difficult. might look at it when i next have slack time. [14:48] rick_h: it lists all your running instances. handy way to make sure you don't leave something running. [14:49] ah, very cool then. I tend to hit the webui which can be a pita [14:50] rick_h: yeah. and the verbose options tell you which branches are running with what instance ids. which is handy when you then want to `ec2 kill` something. [14:50] ooh, json decode backtrace :/ [14:50] basically, the less i have to jump to the webui, the happier i am. [14:50] yea, definitely [14:52] jml, http://www.debian-administration.org/article/Using_GNU_screen%27s_multiuser_feature_for_remote_support [15:02] gmb: a bit of reading if you get some time please? https://code.launchpad.net/~rharding/launchpad/email_notice_959482/+merge/99995 [15:02] rick_h: Sure thing. [15:02] gmb: first real change in this area, so feel free to be a bit brutal to show me the ropes and beat proper things into my head. [15:02] Okidoke. [15:02] * gmb cracks knuckles [15:02] * rick_h runs and hides [15:41] :( [15:56] https://code.launchpad.net/~jml/launchpad/create-commercial-ppa/+merge/100635 up for review [15:57] danhg: ping, my MP with the email and updated wording is here https://code.launchpad.net/~rharding/launchpad/email_notice_959482/+merge/99995 [15:57] danhg: the reasoning/etc are tied into the bug and MP description, I think that'll answer most of your questions you had via email === deryck is now known as deryck[lunch] [16:17] rick_h: Approved with comments (all about tests and documentation). [16:21] gmb: ty much will peek at the damage [16:22] rick_h: The code looks fine; good work! [16:22] gmb: thanks, I might understand how this stuff works yet! :) [16:22] :) [16:23] gmb: if you have a minute, I have a small branch for review: https://code.launchpad.net/~benji/launchpad/bug-972456/+merge/100645 [16:23] benji: Sure [16:24] abel: could you please review https://code.launchpad.net/~abentley/launchpad/celery-job-feature-flag/+merge/100647 ? [16:25] benji: Approved. [16:27] gmb: thanks [16:37] gmb: Could you please review https://code.launchpad.net/~abentley/launchpad/celery-job-feature-flag/+merge/100647 ? [16:37] abentley: Sure [16:37] Merge proposals are like buses... [16:37] Anyway. [16:50] abentley: Approved; nice work. [16:50] gmb: Thanks. === gmb changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 4*10^2 === deryck[lunch] is now known as deryck [17:52] hi, using python-launchpadlib to retrieve messages the date_created field are unicode strings instead of datetime objects, is this expected? [17:53] the parent bug will return a datetime object so i was curious [17:55] stokachu: update your version of waddlib, that was fixed a week or two ago I think [17:56] rick_h: ok ill do that, i saw the bug where the date_created field in a bug was fixed not sure if it extended to messages [17:56] I think it was fairly general [17:56] ok [17:58] did the fix make it into pypi? [17:58] believe so [17:59] yea, 1.3.1 mentions the datetime bug [17:59] i have waddlib 1.3.1 installed [17:59] ok, then you might submit a new bug on it with the steps to reproduce please (or a patch :) ) [18:00] ok sounds good, just making sure it was an oversight [18:02] rick_h: im going to file a bug and hopefully get a patch but just for my sake could you look at this snip: http://pastebin.ubuntu.com/913394/ [18:03] hmm, you're not accessing it via the object interface so not sure you'll get anything but that string [18:03] I think what the wadllib and such do is convert that dict access to message.date_created or something [18:03] based on the object definition from the wadl file [18:04] at least that's my understanding [18:04] ah makes sense, so im probably just calling it incorrectly [18:07] all the tests are doing things like xx.get_parameter('a_date').get_value() [18:07] which return a datetime object [18:08] hmmm ok ive been looking through the collections doc but im sure im doing something wrong [18:08] yea, well you're at the lplib layer which uses wadllib underneath so not sure how it exposes it [18:15] yea im not totally sure either, every way i slice it comes back as dict [18:16] bug.message is a collection object [18:18] when doing a bug.messages.resource_type_link [18:18] u'https://api.launchpad.net/1.0/#message-page-resource' [18:18] that doesn't exist in the api [18:20] sec, trying something out [18:21] cool no worries [18:21] sorry, not quite an api pro heh [18:21] me either, took me a week to understand that person and team were the same thing :X [18:29] andd my internet craps out [18:31] is there a way to do sequence unpacking in TAL? I thought there was but can't seem to find out how [18:32] stokachu: hmm, so what comes back to you is really just a dict plain and simple. It seems like there shuold be a way to get a real object out of there but don't see it with casual print dir()'ing [18:33] rick_h: ok, yea im getting that same impression [18:35] given a set of bug ids, is there a set based way to feed them to bug search? i see bugparams can take a bug param, but that looks like a single thing, not a set thing. i'd rather not iterate over the whole set. [18:38] stokachu: http://pastebin.ubuntu.com/913443/ [18:38] ok, so that's some playing, it doesn't support negative indices [18:38] and that comes out as a datetime object [18:38] not a string [18:38] ah [18:38] http://pastebin.ubuntu.com/913444/ [18:38] is a bit better with the output [18:39] ok cool, thanks! :) [18:39] so hopefully that helps a little bit, sorry [18:44] rick_h: thats perfect [18:44] rick_h: wish it allowed negative indices [18:46] guess i could do message = bugs.messages[len(bugs.messages.entries)] [18:46] stokachu: yea, not sure if there's a way to get the length and guess the right index off of it [18:47] there's a property for count or size I saw while dumping out dir() of things [18:47] try dir(bug.messages) [18:47] ah lemme look into that [18:50] rick_h, do you know if there's a way to do sequence unpacking in TAL? [18:54] salgado: sorry, I know next to nothing of tal [18:54] rick_h, heh, ok. no worries [19:12] cjwatson: so, I agree; you'll note I didn't end up recommending 'start with trivial+high', just 'trivial', once I felt I understood czajkowski's desire a bit better [19:12] cjwatson: and yeah, we have actually speculated about a very einsteinian model for importance and sorting :) [19:16] right, more important to be fixable easily than to be important, in this case [19:17] of course there's also the importance/urgency inequality [19:17] fortunately we don't have urgency, it doesn't exist :P [19:18] it gives you a simpler and probably more usable model, certainly; still leaves you mapping two not-quite-parallel dimensions onto one :) [19:19] I agree that that trade-off was worthwhile, but it's something contributors will likely be thinking about === ajmitch_ is now known as ajmitch [21:59] hey folks [22:23] hi [22:24] StevenK, hey there. it'd be great if you could review https://code.launchpad.net/~linaro-infrastructure/launchpad/team-engineering-view-ui/+merge/100707 for us (it seems like you're the on call reviewer today?) [22:25] salgado: On the phone, I'll look afterwards. [22:26] StevenK, thanks a lot! [22:27] Are there any examples in LP of something whose DB/Python representation is multiple levels, but which we collapse down to one level for exposure in the web service API? Say the Python representation is Foo.Bar.attribute, but I'd like to have the API be more like foo.attribute. [22:27] I'm not quite familiar enough with the patterns and so it's hard to grep for. [22:28] cjwatson: SPPH does that when it exports things from SPR. [22:28] Ah, of course. Thanks. [22:28] return self.sourcepackagerelease.<> [22:29] So just exported() in the interface and a @property in the model. Great. [22:29] With a test, that should be great. [22:29] I'm trying to do something similar in PackageUploadSource. [22:32] has anyone here got any experience with intltool-update? I am trying to generate a .POT file for a .desktop like file I can import into Launchpad [22:33] Only in conjunction with autoconf/automake, where you do @INTLTOOL_DESKTOP_RULE@ in Makefile.am and declare the files in desktop* targets and it takes care of the rest. [22:33] That's a fair bit to pull in if you aren't already using automake, though. [22:34] cjwatson, from what I understand i I have POTFILE.in in my po/ dir and just run intltool-update --pot --gettext-package=foobar it should process my file and generate a .POT file [22:34] INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' [22:34] the problem is that it is not generating the file [22:34] possibly helpful if you want to unpick all those expansions === salgado is now known as salgado-afk [22:35] I have no idea what that is :-) [22:35] Ah, that's the other end, that merges the translations into an output .desktop file [22:36] gotcha [22:36] so I have the following in foo.desktop: [22:36] [Desktop Entry] [22:36] Encoding=UTF-8 [22:36] _Name=MyApplication [22:36] _Comment=A useful application that does useful things [22:37] something like what you said sounds right, though it needs to be POTFILES.in, not POTFILE.in [22:37] and then in a po/ dir I have POTFILES.in with foo.desktop in it [22:37] and I run: intltool-update --pot --gettext-package=foobar [22:37] but then there is no output [22:37] it has a --verbose [22:38] ahhh [22:38] it says: None of the files in POTFILES.in contain strings marked for translation. [22:38] -- which is odd as I have underscore before the keys in the .desktop file [22:39] jono: -> #launchpad, I suspect you'll get more help there [22:39] lifeless, it was pretty quiet earlier when I asked, but will try again [22:39] thanks cjwatson