/srv/irclogs.ubuntu.com/2012/03/28/#launchpad-dev.txt

wgrantlifeless: Hi00:29
lifelesshi00:29
wgrantlifeless: Can you try to outsmart the planner for me? :)00:29
lifelessthere is no try00:29
lifelessonly do, or do not00:29
wgrantlifeless: http://paste.ubuntu.com/903111/00:31
wgrantWith seqscans forbidden it takes 950ms, but when permitted it applies them liberally and takes 3500ms.00:31
wgrantI can get it down to 1100ms by employing the perplex-a-planner strategy of pushing everything out into CTEs.00:32
lifelessqastaging ok for this?00:33
wgrantJa00:33
wgrantAh00:33
lifelessgrah unity00:33
wgrantYou'll need different AccessPolicy IDs.00:34
lifelessI *so* hate the 'raise all windows of an app' behaviour00:34
wgrantSELECT id FROM accesspolicy WHERE distribution=1;00:34
lifelessit breaks me every time I alt-tab00:34
lifelessso much more fiddly than metacity00:35
lifelesswgrant: two rows00:35
lifeless65 type 400:35
wgrantThose are the IDs that the query needs.00:35
lifeless66 type 300:36
lifeless Total runtime: 1094.256 ms00:36
lifeless(17 rows)00:36
lifelessdefault behaviour00:36
lifelesshow fast do you need this?00:36
wgrantorly00:37
wgrantUm00:37
wgrantAs fast as possible :)00:37
lifelesshttp://paste.ubuntu.com/903115/00:37
lifelessthats with grantees AS (...00:38
wgranthttp://paste.ubuntu.com/903116/ is the perplex-a-planner strategy.00:38
wgrantHow does that perform?00:38
lifeless730ms hot (the first one I tried, looking at your new one now)00:38
wgrantHm, not bad.00:38
wgrantThat's almost acceptable, in fact.00:38
lifeless719ms for the perplex00:39
lifeless711ms hot00:39
wgrantThat's more sensible.00:39
wgrantBecause it's saving a lot of TP lookups.00:39
lifeless770ms00:39
lifelesssome variation00:39
wgrantCan has explain analyze?00:39
lifelesshttp://paste.ubuntu.com/903118/00:39
wgrantAnd one of the hot original query?00:40
lifelesshttp://paste.ubuntu.com/903120/00:40
wgrantThanks,.00:40
lifelessthis is showing the expanded out list of people right? The crazy thing.00:42
* lifeless thinks we're failing to make it usable00:43
wgrantlifeless: Yeah, the filterable expanded audit view.00:44
lifelessbtw00:44
lifelessperson_sort_key -> 24 seconds00:44
wgrantEr, really?00:45
wgrantIt wasn't that bad last I checked.00:45
lifelessyup00:45
wgrant2500ms here00:45
wgrantStill far worse than expected.00:46
wgrantBut not 24s...00:46
lifeless1440ms for the confuddle-the-planner query00:46
lifelesshttp://paste.ubuntu.com/903125/00:46
lifelessso I really think we shouldn't do this at all00:47
lifelessWho do I need to speak to to steer this00:47
lifelessCurtis?00:47
wgrantHe's probably the first point of contact.00:47
lifelesspagination 180K rows of anything is pointless.00:48
lifelessThere is /no/ way its usable.00:48
wgrantOh yes.00:48
lifelesssinzui: ^ hi. I'd like to arrange time to talk about this.00:48
wgrantBut for sensible projects it should be fine.00:48
wgrantThere might be a hundred in total.00:48
* StevenK tries to find an API method that takes an enum as a parameter.00:48
wgrantStevenK: searchTasks00:48
lifelessStevenK: searchTasks00:48
wgrantStevenK: addMember00:48
wgrantlifeless: THe auditing view is only meant to be useful for sensible projects.00:49
wgrantlifeless: And potentially for auditing All sharing in Ubuntu.00:49
wgrantWhich will be much smaller sets.00:49
wgrantHowever, I needed to find out whether it would vaguely work on the full Ubuntu set.00:49
wgrantOr if we'd have to take evasive action.00:50
poolielifeless, your comment on 95665500:51
poolie> It configures it to talk to the *host side address of the libvirt00:51
pooliebridge*.00:51
pooliewhat's the result of that?00:51
poolieisn't it that the packets are passed through to the guest?00:51
poolieo/ wgrant00:51
wgrantMorning poolie.00:51
lifelesspoolie: no, libvirt runs a dnsmasq there00:51
wgrantpoolie: No, the host has an interface on the bridge.00:51
lifelesspoolie: as part of it running dhcp etc for the containers/vms00:52
poolieok00:52
lifeless(well, I say libvirt, I'm not 100% sure *what* is responsible for starting that dnsmasq up, but thats orthogonal to it existing :))00:52
poolieso i think the echo is actually between the host's general dnsmasq and this one00:52
poolieso i was inaccurate to say 'in the guest'00:53
wgrantlifeless: (also, there's only 20000, not 100000 :P)00:59
lifelesswgrant: oh, read the wrong row out? Still. Its more than 200.01:00
wgrantlifeless: Right. There's about 19000 explicit grants, expanding to 20000 when team members are included.01:01
StevenKSo paginating more than 200 items is wrong?01:01
wgrantEr01:01
wgrants/explicit grants/distinct people and teams with explicit grants/01:01
wgrantlifeless: http://people.canonical.com/~curtis/audit/ are mockups of the UI01:01
lifelessStevenK: for usability, yes.01:02
lifelessStevenK: some folk say more than 30 or 4001:03
StevenKlifeless: Reading it that, that makes our critical bug list, and Ubuntu's bug listing is unusable.01:04
wgrantNobody would argue that they're usable.01:04
lifelessStevenK: they are01:04
lifelessStevenK: we do two things with them commonly: we data mine to extract patterns that are much shorter - human scale01:04
lifelessStevenK: and we provide a search facility to let folk find things that interest them within the big pile01:04
lifelessStevenK: how would you answer the question 'is ~somebodyinlotsofteams in ~ubuntu-members' ?01:06
lifelessStevenK: and how would you *like* to be able to answer that?01:06
StevenKHmmmm.01:06
StevenKlifeless: So to be fair, I was trying to troll you. Clearly, I failed epically. :-)01:07
lifelessthe key to a good troll is to say something thats totally outrageous in a way that sounds plausible, or something thats *nearly* plausible but really actually silly.01:08
lifelessSpeaking the truth, not a troll!01:08
StevenKwallyworld_: So I think I've made bugs-remove-old-privacy safe enough to land whenever, but I'd like a second set of eyes.01:12
wallyworld_StevenK: sure, can you remind me of the link?01:13
StevenKIt flips CreateBugParams() to using information_type and keying private and security_related off of it.01:13
StevenKwallyworld_: It will be a few minutes, I need to push and wait for the diff.01:13
wallyworld_ok, np01:13
StevenKwallyworld_: https://code.launchpad.net/~stevenk/launchpad/bugs-remove-old-privacy/+merge/98974 -- diff updated, and I've rewritten parts of the description, so glance at that too.01:22
* wallyworld_ looks01:22
StevenKwallyworld_: But you were happy with it before, so I'm okay with it if you want to 1) just read the diff for r14994, and 2) read the big diff to see how those changes fit into the big picture.01:23
wallyworld_sure01:24
wallyworld_StevenK: why are we adding the individual private/security attributes back? waiting for db patches to land?01:39
StevenKwallyworld_: So it's safe to land no matter the state of the DB patches, and so I can base the UI branch off that work.01:40
wallyworld_StevenK: and because we have allow multi-pillar private bugs for everyone via the feature flag, that extra exception won't matter01:43
wgrantStevenK: Why do you unprivate the bug in lib/lp/bugs/doc/bug.txt?01:44
StevenKwgrant: For the reason I gave in the description -- without the feature flag turned on, we will now always complain in transistionToInformationType()01:45
wallyworld_StevenK: will the extra complaining be temporary?01:47
wgrantStevenK: I don't see an explanation of that.01:47
StevenKwgrant: "This slightly changes the behavior of the function, since it will now always complain about multi-pillar private bugs whereas it used to only care if you were flipping the privacy flag."01:47
wgrantAh.01:48
StevenKwallyworld_: That is the 64-million dollar question, isn't it?01:49
StevenKwallyworld_: I'm not sure about the timeline of multi-pillar private bugs complaining.01:50
wallyworld_StevenK: so once all the legacy stuff is removed, we only want to complain if the info type transitions to embargoed sucurity or user data or proprietary?01:50
wallyworld_or did we decide to allow such things now and remove the fflag and check entirely?01:51
StevenKThere was talk of a footgun.01:51
wallyworld_so why can't we fix the errouneous complaining in the current branch?01:51
wgrantThe multi-pillar restriction only applies to PROPRIETARY01:52
wgrantBut the code has not yet been fixed.01:52
wallyworld_ok. i was thinking it applied to user data etc also01:52
StevenKI can do that in this branch if you like, but we haven't defined what the heck PROPRIETARY means for bugs.01:52
wgrantuserdata potentially.01:52
wgrantBut applying it to embargoedsecurity was vetoed.01:53
wgrantIt needs to be a separate branch.01:53
wallyworld_let's land this then since it's moot given the current sdtate of the fflag01:53
StevenKSo you two are happy with it as it stands right now, and we can fiddle it later?01:53
wallyworld_i think so01:54
wgrantI'm only half done, but happyish so far.01:54
StevenKwgrant: Anything I can do to flip you from happyish to happy?01:54
wgrantStevenK: lib/lp/bugs/mail/commands.py is confusing and buggy01:55
wgrantAnd it's using 'is' instead of '=='01:55
wgrantWhat happens if I set a bug private when it's UNEMBARGOEDSECURITY?01:56
wgrantSeems like it will become PUBLIC01:56
wgrantAlso if I try to make  USERDATA bug private, it will become public.01:56
StevenKwgrant: I plan on reworking that in a later branch when I add a information_type flag.01:56
wgrantYes, but this is fail-open buggy.01:56
wgrantcannot land.01:56
StevenKwgrant: So currently you can't have UNEMBARGOEDSECURITY in the mail handler.01:57
StevenKSo we're only tracking three states.01:57
wgrantStevenK: Ensure that.01:58
wgrants/else/elif blah/01:58
wgrantAnd else: raise AssertionError("shit is broken")01:58
StevenKwgrant: Yeah, I was reading over the diff and shaking my head a little at what I wrote in mail commands.01:59
wgrantSetting it to public because it was proprietary sounds bad.01:59
wgrant393- # BugSet.createBug() requires new security bugs to be private.01:59
wgrant394- context.private = True01:59
wgrant395+ context.information_type = InformationType.EMBARGOEDSECURITY01:59
wgrant396+ else:01:59
wgrant397+ context.information_type = InformationType.PUBLIC01:59
wgrantIs also a bit odd01:59
wgrantI suspect it defaults to PUBLIC01:59
wgrantSo it might be nice to avoid explicitly setting it.01:59
wgrantFor the same reason.02:00
StevenKwgrant: 'security no' -> PUBLIC, unless private is true02:00
wgrantSure, but the old code didn't do anything in that case.02:01
wgrantThe old code purely overrode to security_related=True if security=True02:01
wgrants/security_related/private/02:02
wgrant621+ if self.information_type is information_type:02:02
wgrantShould probably be ==, again02:02
wgrantYou can't spell 'privileged'02:05
wgrant(line 741)02:05
StevenKWhich line number?02:05
lifeless74102:05
wgrantA tonne more 'is'02:05
wgrant803+ bug_privacy_filter = 'AND Bug.information_type IN (1, 2)'02:06
wgrantThat shouldn't be literal.02:06
wgrantAnd in bugtasksearch.py02:07
wgrant1134where=And(02:08
wgrant1135- Bug._private == True,02:08
wgrant1136+ Bug.information_type in PRIVATE_INFORMATION_TYPES,02:08
wgrantAlways True02:08
wgrant1144+ where=And(Bug.information_type in PRIVATE_INFORMATION_TYPES,02:08
wgrant1145+ BugTask.assignee == self.id)),02:08
wgrantLikewise02:08
wgrant1166+ SELECT Bug.id FROM Bug WHERE Bug.information_type IN02:08
wgrant1167+ (1, 2)02:08
wgrantMore literals where the enum should be.02:08
wgrantwtf is there a createBug in lp.systemhomes02:09
wgrantOtherwise looks good.02:09
StevenKI have no re systemhomes02:09
StevenKno idea02:09
StevenKwgrant: I can't use Bug.information_type in PRIVATE_INFORMATION_TYPES in storm?02:09
wgrantNo02:10
wgrantYou might recall that I nuked lots of the Ubuntu archive like that once.02:10
StevenKHaha02:10
StevenKwgrant: What's the right pattern, then?02:12
wgrant.is_in(blah), probably02:12
StevenKRight02:13
lifelesscjwatson: how did you go w/LoC?02:33
cjwatsonlifeless: Clawed it down to +56/-57.02:45
cjwatson(I refactored the tests a bit.)02:45
lifelesscool02:45
cjwatsonAlso submitted a +0/-531 branch to store up some credit ;-)02:45
lifelesshah :)02:48
cjwatson(Is there a graph somewhere of the Launchpad line count over time?)02:52
lifelessflacoste has muttered about making one02:57
lifelessfor every project we have02:57
spmspads did a very nice bubbles of code/person over time viewy thingy of our puppet branch. rather amusing to see. I don't recall the proper name for those offhand; but he may have some advice to offer there?02:58
cjwatsoncode_swarm?02:59
cjwatsonhttp://code.google.com/p/codeswarm/03:00
wgrantcjwatson, lifeless: https://www.ohloh.net/p/launchpad03:19
wallyworld_wgrant: what's the verdict on the sharing team participation query?03:21
wgrantwallyworld_: http://paste.ubuntu.com/903111/ works well on qastaging03:23
cjwatsonwgrant: ah, cute03:23
wallyworld_wgrant: thanks, will use that as a starting point03:24
lifelesswgrant: as long as you don't use person_sort_key03:24
lifelesswgrant: where it goes to 24 seconds03:24
wgrantlifeless: I still don't believe that.03:24
wgrantBut we can't anyway due to SRF.03:24
wallyworld_lifeless: at the moment, we can't use person_osrt_key anyway03:24
lifelesscheck the explain analyze I gave you :)03:24
wgrantwhat the postgres03:26
wgrantHow could it think that was a good idea?03:27
wgrantOh03:27
wgrantThe sort index03:27
wgrantIt uses the bloody sort index.03:27
* wgrant drop index and retries.03:27
wgrantMagical, 1s.03:28
wgrantPostgres, you are a moron.03:28
StevenKwgrant: Do you want to recheck that MP? I think I've addressed all of your concerns.03:30
wgrantStevenK: In a few, once I've lunched.03:30
StevenKI'll start putting together a UI branch03:30
StevenKSince I'm mostly happy with that one.03:30
lifelesswgrant: so, I'll leave that happy thought with you03:39
wgrantlifeless: You're so kind :)03:40
wgrantIts estimates aren't even that far off :(03:40
lifelesswgrant: I aim to please.03:42
lifeless(time to do my allhands stuff. \i/.03:43
wgrantThat reminds me03:43
wgrantI have more of that wondrous task to do03:43
lifeless'am I wonderful? Yes I am!'03:44
StevenKcjwatson: If you're still around, I've approved all three of your MPs, do you want to toss them at ec2?04:13
StevenKcjwatson: Or shall I?04:13
StevenKBah, I hate how I can figure out what I want the portlet to say, but don't know enough about the privacy portlet or TAL to express it :-(04:53
wgrantStevenK: Sorry, looking at your MP again now.05:01
StevenKHah.05:01
wgrantStevenK: I'd do sqlvalues(PUBLIC_INFORMATION_TYPES)05:01
wgrantRather than spelling out '(%s, %s)05:01
wgrant' % (InformationType.blah.value, blah, blah)05:02
StevenK%s' % sqlvalues() is it, I guess?05:02
wgrantShould work05:02
wgrantPossibly needs manual parens, but I don't quite remember.05:02
wgrantI use native Storm parameterisation where possible now, but it's a bit harder here.05:02
wgrantlifeless: Can I set the 5s timeout on Product:+sharing and Distribution:+sharing now?05:03
StevenKwgrant: I didn't change the tests, so they're still looking for "IN (1, 2)" in the text05:03
wgrantStevenK: The bug search query changes should be feature-flagged.05:06
wgrantStevenK: They have the potential to completely destroy bug search performance.05:06
StevenKHaha, PUBLIC_INFORMATION_TYPES doesn't exist.05:06
wgrantCorrect.05:06
wgrantBut it can easily be brought into existence.05:06
StevenKwgrant: I can revert the bug search query changes and we fix it with BugTaskFlat?05:08
wgrantStevenK: That might be best.05:10
wgrantIt should be fairly safe.05:10
wgrantBut you never know, and there's hundreds of cases.05:10
StevenKwgrant: I figured that I didn't want to play with bringing up a feature flag and playing with that function more when you're going to rip it to pieces in a week or two.05:11
StevenKHmmmm, it's taking a very very long time to save MP comments today.05:24
StevenKwgrant: Perhaps something in the NDT we did today is to blame?05:25
StevenKwallyworld_: Your two MPs are approved05:26
StevenKwgrant: Do you have any other comments?05:27
wgrantStevenK: Commenting is fast for me.05:28
wgrantStevenK: commands.py is still unintelligible.05:29
StevenKPerhaps it was the nine MP pages I had open, but approving one of wallyworld_'s MPs took 200 seconds.05:29
wgrantAnd you can't spell 'Unknown'05:29
wgrantThat would be the nine MP pages, yes.05:29
wgrantLongpoll connection exhaustion.05:29
StevenKBut approval doesn't require longpoll?05:30
wgrantThe limit is a general browser per-domain connection limit.05:30
StevenKwgrant: What about commands.py is still unintelligible?05:30
wgrantStevenK: What's wrong with:05:35
wgrantif information_type == UNEMBARGOEDSECURITY: information_type = EMBARGOEDSECURITY05:36
wgrantelif private and information_type == PUBLIC: information_type = USERDATA05:36
wgrantelse: wtf05:36
wgrant(ideally the first branch wouldn't be required, but I suspect it might be)05:36
StevenKwgrant: security_related just sets to EMBARGOEDSECURITY if it's set. But I don't want to just set it to USERDATA if the next command is private yes05:38
StevenKHmmm, the current tests trip that assert.05:39
wgrantAh, so this is only for creation.05:39
StevenKYes.05:39
StevenKwgrant: If the bug exists, the mail handlers just call set{Private,SecurityRelated} and job done. If the context is CreateBugParams, it needs to be kept in a sane state since it's used to file the bug.05:40
StevenKAh ha.05:42
wgrantStevenK: So, if it's PUBLIC or USERDATA, it goes to PUBLIC or USERDATA depending on value. If it's UNEMBARGEODSECURITY or EMBARGOEDSECURITY it goes to EMBARGOEDSECURITY05:42
wgrantIf it's proprietary, it crashes.05:42
StevenKAt the moment, it doesn't do that.05:42
=== almaisan-away is now known as al-maisan
wgrantThis is the behaviour that the command has in the new world.05:43
wgrantIt may not be how it's currently implemented.05:43
StevenKWhat's going on is the test creates a params with EMBARGOEDSECURITY and then executes private no, which asserts05:43
wgrantBut that's how it is.05:43
wgrantActually, I guess on creation UNEMBARGOEDSECURITY should crash now.05:44
StevenKI think that assert lives on.05:44
StevenKSadly.05:44
StevenKwgrant: This is why I force to EMBARGOEDSECURITY with security_related, it's what we're currently expecting.05:45
wgrantIt should be impossible, but indeed, I guess that makes sense.05:46
wgrantSo, case information_type of (PUBLIC, USERDATA) -> {False: PUBLIC, True: USERDATA}[private]; (UNEMBARGOEDSECURITY, EMBARGOEDSECURITY) -> EMBARGOEDSECURITY; otherwise -> error05:48
lifelesswgrant: please do06:02
wgrantlifeless: Thankyou sir.06:03
wallyworld_StevenK: thank you06:08
=== al-maisan is now known as almaisan-away
danhgMorning07:44
adeuringgood morning07:50
lifelessstub: hey07:55
lifelessstub: reminder: hr stuff is due today07:55
stublifeless: I'm a few days ahead of you. All tasks done (although I didn't get requested for peer reviews? Maybe because I don't have any peers with the new structure, or is that next cycle?)07:56
lifelessstub: oh excellent07:57
lifelessstub: the system doesn't make it terribly clear what reports have/haven't done.07:57
lifelessstub: thanks!07:57
lifelessstub: peer reviews are done by doing 'select peer' in the UI07:57
lifelessstub: if you haven't been asked to do any, noone has asked you is all.07:57
lifelessstub: feel free to reach out and ask for reviews from e.g. folk you've helped, whatever team they are in.07:58
lifelessstub: 2 or 3 is probably a good number07:58
lifelesswgrant: so what did you think of the checkmarkable thing ?08:01
=== lcanas_ is now known as lcanas
lifelesswgrant: if we were for instance, to ditch some of our policy and process wiki pages for such checklists, would it be good, or bad, or meh?08:02
wgrantlifeless: It looks like a good idea.08:02
wgrantlifeless: Seems pretty incomplete and somewhat awkward at present.08:02
wgrantBut promising.08:02
lifelessI'll show flacoste and statik and get their thoughts08:05
cjwatsonStevenK: I don't believe I have access, or at least if I do I don't have it set up; so please do lob them at EC2, thanks.08:17
=== almaisan-away is now known as al-maisan
StevenKcjwatson: You could probably ask for PQM access -- but in either case, I'll land remove-archive-override-check directly and throw the other two at ec2.08:30
gmbdanhg, Morning. Just wanted to update you on the blog post I've written about Yellow + Juju: I'm redrafting it because it repeated large swathes of what Benji said; should have it to you by EOD though.08:32
gmb(Completely forgot to send it to you on Monday; apologies)08:32
cjwatsonStevenK: yeah, Francis suggested that at one point.  Maybe I'll think about it around my next LP hacking spree :)08:39
czajkowskialoha08:39
* StevenK kicks pqm-submit08:40
StevenKGetting very close to just drafting a signed message08:40
danhgHey gmb, thanks so much for that - will ping you now...08:41
StevenKcjwatson: Victory, finally.08:54
cjwatsonCool.08:57
jtvhuwshimi: are you eod?09:00
huwshimijtv: Just on a call and then I'll be free09:00
jtvGreat, thanks09:00
huwshimijtv: I'm back09:25
jtvHi09:25
jtvI'm trying to get a handle on the workings of nodes_chart.js.09:26
jtvWhether I get to fix the bug or not, I though adding some nodes would be useful.09:26
huwshiminodes or notes?09:26
jtvnotes, sorry!09:26
huwshimi:)09:26
jtvMy fingers form habits.09:26
huwshimiyeah...09:26
huwshimijtv: I need to go back and refactor a bunch of that js09:26
jtvThe raised middle finger earlier was accidental as well.09:26
huwshimihaha09:27
jtvI figure I could do some of that.09:27
jtvOh, you didn't notice the middle finger?  It was, er, hypothetical.09:27
jtvYeah, that's the ticket.09:27
huwshimijtv: You're more than welcome to, but I'm happy to fix up what I started :)09:27
jtvOkay, if you're motivated to do it, then I can leave it at this.09:28
jtvWith gratitude, even!09:28
huwshimijtv: There are already a bunch of notes on the MP from Raphael09:28
jtvIf you're not, well, I'm here to help.09:28
huwshimijtv: Yeah, really it's all good. I understand the code pretty well09:28
huwshimiand I know you guys are busy!09:28
jtvThen my advice is: write it all down before you forget!09:28
huwshimiIt's on my list of things for early next week09:29
jtvOK, perfect.  Then I'll just drop this whole issue like a hot potato!09:29
jtvThanks.09:29
huwshimijtv: Great, no problems :)09:30
* jtv goes browse car pictures09:30
huwshimijtv: OK, I'm off too, catch you later09:30
cjwatsonStevenK: remove-archive-override-check didn't need a [no-qa] or something?09:30
jtvnn!09:30
cjwatsonOr have the rules changed?09:30
cjwatsonStevenK: oh, never mind, I see the commit message that actually landed in devel had [no-qa].09:31
=== al-maisan is now known as almaisan-away
=== wgrant_ is now known as wgrant
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Firefighting: - | Critical bugtasks: 4*10
=== almaisan-away is now known as al-maisan
deryckrick_h, hey.  also.... it seems you took an action from the last TL call.  I'm assuming you didn't look at that yet?13:44
abentleyadeuring: In your regular expressions, ".*?" looks equivalent to ".*" to me.  Am I missing something?13:45
adeuringabentley: it's just the non-greedy variant. SHould be slightly faster13:46
adeuringI simply prefer this one ;)13:47
rick_hderyck: ah right. let me pull that back up13:47
deryckrick_h, don't loose any time over it today, since we've lost a bit to convoy lately.... but let's chat about it in our call later.13:47
abentleyadeuring: Oh, I didn't realize that was a thing.  I thought you were using ? to mean optional.13:47
rick_hderyck: ok, trying to find the email on that. Honestly forgot all about that after I handed over notes13:48
deryckrick_h, yeah, no worries.  it was new for you.  let's just chat about how to investigate those sorts of things, and then you can finish it this week, after you've gotten further on the email bug.13:49
adeuringabentley: >>> re.search('(.*?)a', '123aabab').groups()13:50
adeuring('123',)13:50
adeuring>>> re.search('(.*)a', '123aabab').groups()13:50
adeuring('123aab',)13:50
rick_hderyck: ah I remember now. Yea, I got the bug number from StevenK. Let me find that bug. That's all I did with it was to follow up and find the bug.13:50
rick_hderyck: https://bugs.launchpad.net/launchpad/+bug/724750 for your notes13:52
_mup_Bug #724750: launchpad redirects pack files to https://launchpad.net (while repacking?) <Launchpad itself:Triaged> < https://launchpad.net/bugs/724750 >13:52
rick_hty giant irc logs13:52
deryckrick_h, ok, we'll look together during our call.  Thanks!13:53
abentleyadeuring: r=me.13:54
adeuringabentley: thanks!13:54
=== salgado is now known as salgado-lunch
=== al-maisan is now known as almaisan-away
rick_his there a way in tests to specify a single test? using nosetests for instance I can do a --with-id xx to run a single test14:31
deryckrick_h, couple ways....14:49
deryckrick_h, either use the -t option and specify a very explicity regex, or drop the -t and full dotted path to test, i.e. lp.bugs.tests.test_xxx14:49
rick_hderyck: right, so that's to the file, but not a test within the file14:50
rick_hderyck: I think for now I just moved my test to its own file to speed things up14:50
rick_hand will clean up once things are going ok, just curious if there was a way to get at a single test within the file14:50
deryckrick_h, so this kind of thing works for me:14:51
deryck./bin/test -cvvt lp.bugs.browser.tests.test_bugtask.TestDistributionBugs.test_mustache_cache_none_for_feeds14:51
rick_hderyck: ah, gotcha awesome14:51
deryckrick_h, you can also just pass the final test name to -t, but if there's more than one test with that name it will run them all.14:52
rick_hok, I thought it was only file based, awesome to know it's more than that14:53
deryckjcsackett, hey man.  are you able to qa bug 933797 today?15:31
_mup_Bug #933797: Cannot see the Some things that are shared with a user <disclosure> <qa-needstesting> <ui> <Launchpad itself:In Progress by jcsackett> < https://launchpad.net/bugs/933797 >15:31
benjirick_h: anyother little test runner tidbit: you can use -m to speed up test runs; it specifies the module(s) that should be scanned for tests, so if you're running lp.foo.bar.TestBaz.test_baz, you can add "-m lp.foo.bar" to the command line to tell the test runner to only look there for tests15:46
rick_hbenji: ooh, ty15:46
benjion my box it makes test runs about 6 or 7 seconds faster15:46
=== deryck is now known as deryck[lunch]
abentleyrick_h: You can also omit the -m, but this gives substring matches rather than regular expression matches.16:11
=== danhg_ is now known as danhg
=== matsubara is now known as matsubara-lunch
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
jcsackettderyck: would've replied earlier but didn't see the highlight.16:53
jcsacketti'm about to start qa-ing it right now.16:53
barrywe have a user who is changing bug statuses against our will.  is there anything we can do to prevent this?17:05
barryflacoste or sinzui ^^ perhaps?17:11
sinzuibarry, czajkowski, can contact the user and ask him to desist. She might choose to suspend the user first so that he understands we mean it17:12
sinzuioh, but I think she EODed17:13
barrysinzui: cool, i've done the former.  if he continues i'll ask czajkowski to do the latter17:13
barrythanks!17:14
sinzuibarry, report the issue as a question at https://answers.launchpad.net/launchpad and provide the user's Lp Id and an example bug id17:14
sinzuiI will start action17:14
=== deryck[lunch] is now known as deryck
deryckjcsackett, cool, thanks man!17:17
barrysinzui: https://answers.launchpad.net/launchpad/+question/19195517:18
=== matsubara-lunch is now known as matsubara
czajkowskisinzui: wahts up sorry was just on bus home17:27
sinzuiczajkowski, I just sent a warning email to the user mentioned in barry's question17:29
sinzuiLooking at the user's Lp profile, I think he is confused about what Lp is17:30
czajkowskisinzui: just ack the lp17:30
czajkowskihave seen that person at it already before17:30
=== salgado-lunch is now known as salgado
barrythanks guys!17:32
czajkowskibarry: np17:33
lifelesssinzui: hola17:56
sinzuihi lifeless17:56
lifelessdo you have time for a quick skype/hangout? I want to talk about a bit of the sharing UI & usability17:57
lifelessyou may have seen your name in scrollback :)17:57
lifelesssinzui: ^17:59
sinzuiyes. I never promised that feature to Ubuntu. only oem wants it because they will murder us if we do not allow them to continue auditing their projects18:00
lifelessflacoste: I've sent you an invite to a shared-checklist/process thing, would like to know what you think about it18:00
lifelesssinzui: so, skype or hangout, or $other/18:00
sinzuihangout18:00
sinzuiI am ready18:00
lifelessinvite sent18:01
sinzuiI got the invite right away, but the button will not show.18:03
* sinzui continues to kick google18:03
lifelesshttps://plus.google.com/hangouts/a3baf4b8edd991e0d6fdd61b85d31012c81a2a69?lm1=1332957654772&authuser=0&hl=en#18:03
sinzuiinteresting, google will show me notifications when it is not even certain I am logged in to interact with them18:04
lifelessdifferent service endpoints I suspect18:05
deryckabentley, hi there.  I've got one for review if you are available.18:40
abentleyderyck: sure thing.18:40
deryckabentley, thanks!  https://code.launchpad.net/~deryck/launchpad/person-latest-bugs-listings-921366/+merge/9980018:40
abentleyderyck: I think you could avoid re-indenting all that code by doing "if getFeatureFlag('bugs.dynamic_bug_listings.enabled') and not FeedsLayer.providedBy(self.request)"18:45
deryckabentley, I thought the same, but I thought it was more obvious what the code would like look once the feature flag check goes away.  I'm not picky though.  I can change back to that if you think it's better.18:46
abentleyderyck: I guess I thought it was better because it makes it obvious that none of the contained code has changed, but it doesn't matter now.18:48
deryckabentley, yeah, it's a fair point.18:49
abentleyderyck: Did you consider making getFeedViewCache a function?  That way you don't need to create another class.18:50
deryckabentley, no, I didn't actually.  I'm okay with making it a function.18:52
abentleyderyck: Cool.18:52
abentleyderyck: I could swear we had a general-case version of _createView, but I'm having trouble remembering exactly where it is.18:54
deryckabentley, yeah, I couldn't find it either.  Code feeds had basically what I added to bug feeds, so was following the pattern there.18:55
abentleyderyck: I think it is lp.testing.views.create_view / create_initialized_view18:59
deryckabentley, do you mean to replace what I did in the test or what I did in the feed classes?19:00
abentleyderyck: Oh, I see.  I thought that was test code.19:01
deryckabentley, ah, ok.  no, it's just meant to make the feed classes easier to test.19:02
abentleyderyck: Okay, never mind, then.19:04
abentleyderyck: r=me19:05
deryckabentley, awesome, thanks.19:06
abentleyderyck: np, it19:06
abentley's what I'm here for.19:06
lifeless-> my monthly allergy shot, back in a while (wil mis the TL meeting)20:19
salgadohmm. the work items field has vanished20:59
salgadoabentley, do we deploy stable to production?21:01
abentleysalgado: yes.21:02
salgadothen the last deployment was a big fuckup, it seems: http://bazaar.launchpad.net/~launchpad-pqm/launchpad/stable/revision/14860 is what got deployed21:02
salgadoand that's a month old21:03
abentleysalgado: So, I don't recall the details, but it's plausible that FDT rollouts are from db-stable, or that they involve merging db-stable into stable.21:07
salgadoabentley, it magically went from r14860 to r15027 now21:08
abentleysalgado: That's what the last NDT rollout was.21:08
salgadoabentley, right, but for some time it was at r14860 and the workitems field had vanished: http://people.canonical.com/~salgado/lp-blueprints-without-workitems.png21:09
salgadoabentley, looks like some appservers somehow have r14860.  discussing that in lp-ops21:12
poolielifeless, hi22:10
lifelesspoolie: hi23:17
=== matsubara is now known as matsubara-afk

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