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

wallyworldsinzui: huwshimi: wgrant: standup?00:06
sinzuiI think my mic is dead. I will restart00:06
huwshimisinzui: wallyworld: was just on the phone, back now.00:12
pooliegood morning00:17
huwshimipoolie: Morning00:22
wallyworldwgrant: want a review? https://code.launchpad.net/~wallyworld/launchpad/poppy-sftp-gpgconf/+merge/5915400:27
wgrantNot of that, but OK.00:28
* wgrant looks.00:28
wallyworldwgrant: you don't have to if you don't want, just asking :-)00:29
wgrantNo, no, I'll do it, it's just a bad problem with no good solution.00:30
* wallyworld nods00:30
wgrantlifeless: Could you mentor https://code.launchpad.net/~wallyworld/launchpad/poppy-sftp-gpgconf/+merge/59154?00:39
wallyworldwgrant: with the time.sleep() in the test, we need that because we need to give the job a chance to trigger and execute. simply setting the times in the past won't test that aspect01:22
wgrant:( OK'01:23
lifelesswallyworld: while you're looking at it01:24
lifelessthe inner function isn't needed, just make it a normal instance function and call self.touch..01:25
lifelesssecondlyt01:25
lifelessyou appear to do this unconditionally whether its in a twisted environ or not01:25
lifelessthat seems likely to fail hilariously, or perhaps I misunderstand the context01:25
wgrantIsn't that OK?01:25
lifelesslastly, should touch the dir as well, just to be fireproof01:25
wallyworldlifeless: we do touch the dir as well. wrt the inner function, i didn't want to expose the code on the object. is there a reason why you don't like the inner. wrt twisted, yes you are right but i though twisted was part of our deployment and hence could be assumed?01:27
lifelesswallyworld: in reverse order01:27
lifelesswallyworld: we use gpghandler in the zope environment too, with no reactor running, and we create them transiently01:27
wallyworldlifeless: ok. no twisted. will fix01:28
lifelesswallyworld: you are basically creating a [slow] memory leak of incomplete looping calls per instance with the current code01:28
lifelesswallyworld: in fact, thinking more about it01:28
lifelessyou need to cancel the looping call01:28
lifelessat some point as well01:28
lifelesson the function01:28
lifelessuhm, style. I prefer not to curry things that don't need currying01:29
wallyworldlifeless: the looping call is cancelled in the atexit handler or when the job is rescheduled. is that not enough?01:29
lifelessit makes them more testable01:29
lifelessoh, and you ar makeing _touch_home_call a mixed attribute01:30
lifelessset it in __init__01:30
lifeless-or-01:30
lifelessassign to it via self.__class__._touch_home_call01:30
wallyworldlifeless: i guess it's a matter of opinion. i prefer to enforce encapsulation in this case. i don't think the inner hinders testability here but will move it out01:30
lifelessso in terms of cancellation, the following will leak:01:31
lifelessahehm01:33
lifelesshow does the buildmaster use this01:34
lifelessas a secured utility01:34
wgrantbuildmaster doesn't.01:34
lifelessor via instances ?01:34
wgrantpoppy does.01:34
lifelessblah yes that thing01:34
wgrant            sig = getUtility(IGPGHandler).getVerifiedSignatureResilient(01:34
wgrantsecuredutility01:34
lifelessok01:34
lifelessso, we shouldn't be leaking01:35
wgrantThat's what I thought. There's only ever one instance.01:35
lifelessbut the touchiness won't work on zope01:35
lifelesswgrant: one per thread, no ?01:35
wgrantHmm, I guess it probably does use a thread-local site manager, true.01:36
wallyworldi didn't know that. i though sm was global to a zope instance01:37
wallyworldbut then again my zope foo is not that high01:37
lifelesswallyworld: it is global01:37
lifelessbut its allowed to follow any old policy for what it hands out01:37
lifelessI'm pretty sure the default which we use is thread local utilities01:38
wallyworldok01:38
lifelessso that folk don't have to deal with concurrent mutation of instance attributes01:38
lifelessanyhow01:38
lifelesswe're solving a bug in the twisted environment01:38
lifelesswe should only run the loop in the twisted environment01:38
lifelessbut always in the twisted env01:38
lifelessI've no idea how to make that true.01:39
wallyworldlifeless: i could just do it another way without twisted and remove the dependency01:39
wallyworldbut you'd think there would be an api to see if a reactor were running01:40
wallyworldin the current environment01:40
lifelessOne way would be a different class (e.g. a subclass) for the twisted case and either different zcml or ask for a different utility Iface01:41
lifelesswallyworld: there is an api to see if there is a running reactor, but do we know that the reactor is running when zcml is parsed during startup of poppy-sftp01:42
wallyworldlifeless: so if i did getUtility() with  a different interface, i'd only need to do it in the one place - lib/lp/poppy/twistedftp.py  ??01:45
lifelessyes01:47
wgrantINotBrokenGPGHandler?01:47
lifelessand perhaps any tests that are testing lib/lp/poppy/twistedftp.py01:47
wallyworldcool. i'll do that. keeps all the other pgphandler instances nice and clean. and i hadn't forgotten about any twistedftp tests :-)01:48
lifelesshmm01:48
lifelesswonder if a class action against sony is appropriate (for forcing disclosure of birthdate to sign up and then not protecting it properly per UK data protection act rules)01:49
wallyworldwgrant: perhaps best to just change the known broken use case initially?01:49
wgrantlifeless: They're already being sued in the US.01:49
wallyworldi don't think i'll use your suggested iface name :-)01:49
wgrantNot sure if it's class action, though.01:49
* wallyworld hates sony even more than apple if that's possible01:49
wgrantwallyworld: Hmm. I think they're pretty similar.01:50
wgrantApple has some good aspects, but they are also far more effective at their evil than Sony is.01:50
wgrantBut Sony has no good aspects...01:50
wgrantSo hm..01:50
wallyworldi don't think apple has any good aspects either. i hate their dumbed down, locked down, retarted pos ipads, iphones and app store01:51
wgrantThey turned KHTML into an awesome WebKit.01:51
wgrantThat's at least one good thing.01:51
wallyworldand the rapid fanbois whole bend over for steve jobs like he is some sort of deity01:52
wallyworldi guess so01:52
lifelesswallyworld: its his massive..innovations they like01:53
wallyworldlifeless: you say innovations, i say merely refining concepts developed by others01:53
lifelesswgrant: is it a bug or feature that the upload works after gpg verification fails01:57
lifeless760 timeouts02:00
lifelessreality sets in02:00
wgrantlifeless: Both.02:01
wgrantlifeless: It's intentional that they're let through for now, in case it breaks.02:01
wgrantlifeless: I wonder how many of those timeouts are from edge.02:01
wgrantThis OOPS report is indeed much more plausible.02:03
lifeless 17 https://bugs.launchpad.net/ubuntu/+bugtarget-portlet-bugfilters-stats (Distribution:+bugtarget-portlet-bugfilters-stats)02:10
lifeless       OOPS-1943AQ100, OOPS-1943AZ499, OOPS-1943BA451, OOPS-1943CD170, OOPS-1943CK44202:10
lifeless      6 https://bugs.edge.launchpad.net/ubuntu/+bugtarget-portlet-bugfilters-stats (Distribution:+bugtarget-portlet-bugfilters-stats)02:10
lifeless       OOPS-1943EDGEA955, OOPS-1943EDGEB1120, OOPS-1943EDGEB1422, OOPS-1943EDGEE1002, OOPS-1943EDGEE89702:10
lifeless      3 https://launchpad.net/ubuntu/+bugtarget-portlet-bugfilters-stats (Distribution:+bugtarget-portlet-bugfilters-stats)02:10
lifeless       OOPS-1943AO372, OOPS-1943DT447, OOPS-1943L44402:10
lifelessso more from edge as a %, less as an absolute count02:10
wgrant  53 SELECT BugTask.assignee, BugTask.bug, BugTask.bugwatch, BugTask.date_assigned, BugTask.date_close ... e AND BugTask.bug = Bug.id )) ORDER BY BugTask.importance DESC, BugTask.id LIMIT $INT OFFSET $INT:02:12
wgrant    GET: 53 Robots: 0  Local: 102:12
wgrant      23 https://api.edge.launchpad.net/1.0/ubuntu (Distribution:EntryResource:searchTasks)02:12
lifelessfind the user. Point them at prod.02:16
lifelessok02:19
lifelessI'm going to nose down on these triggers02:19
lifelessunless anyone needs more from me?02:19
wgrantsinzui: Hi.02:44
wgrantlifeless: Hmm, 99% under 1.45.04:23
wgrantlifeless: That's not bad.04:23
lifelesscool04:38
jtvlifeless: thanks for that review -- you're a lifesaver.  Our OCR system has basically collapsed.05:07
lifeless:(05:08
lifelessI have a killer headache05:08
lifelessa freaking sore arm05:08
lifelessand triggers to write05:08
lifelessI think today will be a writeoff05:08
jtvlifeless: a sore arm is a warning.  Heed it!05:13
lifelessjtv: I was injected with 1ml of stuff I'm highly allergic too05:14
lifelessjtv: not rsi05:14
lifelesss/too/to/05:14
jtvOkay... a warning not to let people do that then I guess.  Wow that sucks.05:15
StevenKlifeless: That sounds like a punishment. What did you say to Lynne? :-P05:15
lifelesshttp://en.wikipedia.org/wiki/Allergen_immunotherapy05:16
StevenKUgh05:16
StevenKJust reading that article makes my skin crawl05:17
wgrantHi stub.05:29
stub    UploadFailed: Server said: 20005:30
stubYo05:30
stubHaven't seen that failure before in buildbot, but subsequent builds worked so looks spurious05:31
wgrantstub: Yeah, known spurious failure.05:31
wgrantstub: Did SSO fork the emailaddress table?05:31
stubSo occasionally the librarian succeeds, which is considered a failure? :-)05:32
wgrantYup.05:32
stubwgrant: Yes. They have their own email address list.05:32
wgrantstub: It is full of cruft :(05:32
wgrantstub: It contains eg. team email addresses.05:32
wgrantWhich don't make sense in SSO.05:32
wgrantAnd cause crashes (since it assumes all emailaddresses have an account)05:32
stubI guess they need to clean it up or ask me too.05:33
wgrantTheir table even still has a person column.05:34
stubwgrant: Have you opened a bug?05:34
wgrantNo.05:34
wgrantShould I?05:34
stubYes. canonical-identity-provider I think.05:34
wgrantThat's the right project, but I wasn't sure if it was worth a bug.05:35
stubCrashers are worth bugs :)05:35
wgrantI guess it means their schema is buggy, true.05:35
stubTheir schema is a pile of cruft because they inherited it from us and only needed 10% of the fields.05:37
stubThey also have a number of Django defined tables which is the stuff  they created.05:37
wgrantYeah.05:38
stubeffort/reward for fixing the crufty schema is low (high effort due to high availability requirements), but cleaning out bad data is little trouble.05:39
lifelessstub: hi05:45
stublifeless: Morning05:45
lifelessstub: I only got a tiny bit done so far - monthly allergy shot messed me up :(05:47
stublifeless: Sure. Want me to continue working on my branch or pull in yours again? I wasn't sure if using the BugSummary composite type was a good idea or not.05:48
lifelessstub: I think it is05:48
lifelessstub: have your morning coffee, check for dba bugs, reviews etc05:48
lifelessI have a bit of structure I want to stab at this05:48
stubcool.05:48
stubI gotta book me a flight to Dublin.05:49
stubNot sure exactly why I'm needed at a UI focused sprint, but Ireland should be cool :)05:49
lifelesscause abstractions leak :)05:54
stubWho you calling an abstraction???05:54
lifelessI don't know, do you leak ?:P05:55
lifelessstub: http://www.slideshare.net/selenamarie/managing-terabytes-when-postgresql-gets-big may interest you06:14
lifelessstub: 400K tables06:15
jtvlifeless: selena may want to consider not using WordPress MU then.  :)06:37
wgrantAnyone want to review https://code.launchpad.net/~wgrant/launchpad/bug-761439/+merge/59317?06:38
stubpg gets really sucky with huge numbers of tables, but some people do it anyway - just cloning the one set of tables over and over for every customer06:40
jtvwgrant: loading06:40
StevenKjtv: I was about to approve it06:40
jtvStevenK: then don't let me stop you06:41
wgrantStevenK: You managed to not vomit?06:41
StevenKOnly just.06:42
stubGeez this current flash player sucks06:44
jtvlifeless: perhaps you're up for mentoring a review by william?  I need an interretur(*) for https://code.launchpad.net/~jtv/launchpad/db-bug-766807/+merge/5902706:47
jtv(*) Which I hope is Latin for something like "imprimatur" except for landing instead of printing.  Hope it doesn't mean "let it be buried."06:48
jtvDoes Latin even have terms for landing?  Control towers?  Re-entry shields?06:48
StevenKjtv: cronscripts/create-distroseries-indexes.py is pointless, run_jobs.py can do it06:50
jtvStevenK: does run_jobs.py run on the right host?06:50
StevenKjtv: Note that IDistroSeries.deriveDistroSeries() doesn't use i-f-p, so you'll need to create a job at the end of IDS, not i-f-p06:51
StevenKjtv: Er, what? How is that even related?06:51
jtvI don't know.  You started it.06:51
StevenKjtv: I see the comment in it, but the generic run_jobs.py cronscript can handle it, and it stops our tree getting tons of small mostly-identical cron scripts.06:52
jtvOkay, how do I use the generic run_jobs.py cronscript?06:52
wgrantStevenK: Oh, you mean like add it to a new source group and run run_jobs over that group on cocoplum?06:52
StevenKjtv: You add the interface to schema-lazr.conf and 'run_jobs.py create_distroseries_indexes'06:53
StevenKAs much as I hate perpetuating that antipattern, it's what we have.06:54
jtvNever mind, I'll look for it in the wiki.06:54
StevenKjtv: I could create a diff quicker than this argument :-P06:55
jtvStevenK: I'm not sure what argument we're having, but if a diff is the easiest way to explain what you're trying to tell me, then please do!06:55
jtvNo documentation on the wiki.  :(06:56
StevenKjtv: There is a generic job running cronscript: cronscripts/run_job.py06:57
jtvOkay, that part I had figured out by now.06:57
jtvI'm now looking for documentation.06:57
StevenKjtv: It is almost identical to the new cronscript you've added in your branch.06:57
StevenKI'm not sure it is documented.06:58
jtvIt doesn't seem to be.06:58
StevenKjtv: http://pastebin.ubuntu.com/600158/07:00
jtvStevenK: so this is part of, but not mentioned in, the job-system documentation?07:01
jtvWould be worth updating that page.07:01
StevenKjtv: It's certainly part of the job system, but I doubt it is documented.07:02
jtvWell there's no mention anywhere on the dev wiki.07:02
jtvTwo places in the test suite mention the script.07:02
StevenKOne of them would be the IDSJ job runner07:02
jtvYes.07:02
StevenKSince I ripped out it's cronscript when I learnt about run_jobs07:03
jtvAnd there's 1 mention in the production crontabs.07:03
jtvWhat's the point in writing reusable code if there's no way for people to find out about it?07:03
StevenKThen fix the documentation? :-)07:04
jtvThe documentation is just bad enough that I'm afraid to touch it.07:04
StevenKYes.07:05
jtvBy the way I am grateful to you for pointing this out.07:05
lifelessstub: jtv: cheatsheet - how do you declare a variable to how a set of rows ?07:37
lifelesss/how a/hold a/07:37
lifelessjtv: sorry, not just now (review); I can do it later, or any other dev can mentor wgrants review; I'm not picky07:38
stub'setof record' or 'setof bugsummary'07:38
stuboh... you want an array I think07:38
lifelessdeclare tags setof bugtag; ?07:38
stubrecord[] or bugsummary[]07:38
lifelessa setof is being returned from a helper function07:38
stubSo returning from a helper, you want RETURNS SETOF bugsummary07:39
stubThen in the helper, you want to do 'RETURN NEXT a_bugsummary;' which works like yield in python generators07:39
lifelessyes, I have that07:40
stubI think I had this in my stub bugsummary_sources()07:40
lifelessthis is in the function that calls that07:40
lifelesshttp://pastebin.com/cVajbkq307:40
lifelessis the helper07:40
stubSo you can just loop over the result of that doing RETURN NEXT is one way. Or else you should be able to assign the result of that method to a 'bugsummary%ROWTYPE[]' array and iterate over that07:42
lifelessgrwat, thanks07:42
stubOr we could do this in Python :)07:42
* stub wonders if we care about the speed hit07:42
stubplpythonu I mean07:43
lifelesspsql:test.sql:157: ERROR:  syntax error at or near "["07:54
lifelessLINE 6:     tags bugtag%ROWTYPE[];07:54
lifelessstub: pushing now; got time for a weekly catchup call?08:13
stublifeless: sure.08:14
stublifeless: you got the syntax working?08:14
lifelessstub: I did some reading08:14
stubwhat is the syntax?08:14
lifelesslooks like an immutable cursor or some such is a better fix08:14
lifeless*fit*08:14
lifelessit really wants just 1 row (select into) or a cursor usage.08:15
pooliei'm getting a proxy timeout on +filebug, ie 'please try again' with no oops08:15
lifelessstub: however I'm barely a trained monkey here08:15
wgrantOh no not again.08:15
wgrantpoolie: How long does it take?08:15
wgrantAnd what'08:15
wgrants the URL?08:15
lifelessstub: I've achieved what I wanted which is a structure that is auditable and parallels the loader.08:15
poolieit was /bzr/+filebug08:15
lifelessstub: its pushed; skype ?08:15
poolieit worked on the 3rd attempt08:15
stubfoo integer[]; works fine. bugsummary%ROWTYPE[] should too... but it doesn't.08:16
stubskype - sure08:16
poolieuh, it took quite a while08:16
wgrantlifeless: Do we have visibility into queue depth yet?08:16
pooliemaybe 20s?08:16
lifelesswgrant: no; losa time08:16
wgrantspm: Hi.08:16
pooliethe successful run says it completed in 0.64s, and it was probably really a couple of seconds08:16
lifelesspoolie: 30 seconds would be haproxy08:16
spm...08:16
wgrantspm: What's the queue depth like on the haproxies?08:16
poolieis there anything that distinguishes different types of failure short of an oops?08:17
poolieie haproxy vs apache ?08:17
pooliei mean, anything visible in the page08:17
wgrantThere are slight differences in the HTML. But otherwise not really, AFAIK.08:17
spmwgrant: currently 0 down the line, but has had a max of 65. banana.08:17
wgrantHmm. Not so bad.08:18
poolieperhaps something subtle would generate better bug reports? i don't know08:18
wgrantThe appserver request graphs are a little empty.08:19
danilosrvba, r=me on your branch from yesterday08:53
danilosrvba, not sure about str(enum), so please check with someone else (though this seems right)08:53
rvbadanilos: great, thanks ... the str(enum) works, but I wonder if it's the Right Way to do it. I'll ask around.08:54
lifelessa'voir (maybe back later)08:56
rvbadanilos: I'll wait a bit to land this branch since StevenK's branch which is depends on is still in the works ...08:56
danilosrvba, understood :)08:57
StevenKrvba: I was going to mention that to you. One column, using an enum08:58
adeuringgood morning09:07
mrevellMorning09:23
jtvhi mrevell09:32
mrevellhey jtb09:37
mreveller, jtv09:37
jtv:)09:40
lifelesspoolie: hi10:23
lifelesspoolie: an unthemed 503 is a complete fail in the zope stack (error handler barfing)10:23
lifelesspoolie: a themed oops is a regula fail in the zope stack10:23
lifelesspoolie: a themed 'could not connect' is haproxy/apache (I forget the exact difference, 504/503 I think respectively10:24
lifelesspoolie: and a browser-themed page implies a networking /ssl error10:24
lifelessstill a little excessive 1183  OOPS-1943EC114  POFile:+translate10:35
jtvStevenK, lifeless: I updated the jobs documentation.  If I got anything horribly wrong then please let me know, that future generations may be entertained and edified.  Look for "run_jobs."  https://dev.launchpad.net/Foundations/JobSystem10:45
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews
jtvallenap: could I trouble you for a review?  It's large, but wgrant's already gone over it once and StevenK also made suggestions.  The only _really_ new part compared to what they looked at, apart from their suggestions, is some documentation for JobCronScript.11:12
jtvIt's this one: https://code.launchpad.net/~jtv/launchpad/db-bug-766807/+merge/5902711:12
allenapjtv: Sure :)11:12
jtvGreat, thanks11:12
allenapjtv: Just revision 10479 then?11:22
allenapAh, no revision 10477 too.11:23
jtvallenap: well william's review also needs mentoring.11:23
allenapjtv: Okay.11:23
jtvBTW I updated the job-system docs on the wiki to match what I did here, so you may not want to trust it too much as validation for this branch.11:23
pooliecan you no longer request another review from someone who already commented?11:26
poolieor was it always thus?11:26
pooliealso, could i get another review on <https://code.launchpad.net/~mbp/launchpad/mail-cleanup/+merge/58867>11:27
rvbawgrant: Hi! Steven suggested me to request your opinion/suggestions about a task I'm working on ... would you have some time to help me with that?11:28
rvbaI need to change the perm check for syncing packages (from the +localpackagediff pages) from lp.Edit on the series to lp.Append on the archive.11:28
wgrantrvba: Sure.11:28
rvbaThe tricky part is that this check cannot be done in a security adapter because it requires the pocket and component to be available and it's not the case in a security adapter.11:28
rvbagreat, thanks11:28
wgrantlp.Append on the archive does not use the pocket or component, and is not what you want.11:29
rvbawgrant: here a (very much in the works) mp https://code.launchpad.net/~rvb/launchpad/change-perm-sync/+merge/5934111:29
wgrantYou mean you want it to respect actual upload privileges?11:29
rvbait's how I understand it yes11:29
rvbathe tickets says 'syncing packages should be lp.append on the archive, not lp.edit on the series'11:30
wgrantRight. We currently use launchpad.Append in parts of the code as a hack to very roughly approximate that.11:30
wgrantAh.11:30
wgrantSo, probably easiest to use lp.Append to start with, if that's all Julian wants for now.11:30
wgrantThat doesn't need the pocket or component.11:30
wgrantWhich bug is this?11:31
rvbabut he also told me that I will need pocket and component ... and this won't be able to use a security adatper.11:31
rvbathere is no but for this yet.11:31
wgrantHe probably didn't mean launchpad.Append, then :/11:31
rvbathat's wht I figured11:31
wgrantYou may want to look at package branches.11:32
rvbawgrant: perhaps you could have a look at the partial diff on the MP and tell me what you think11:32
rvbaI guess the tricky part is that I not only have to figure out a solution for this ... but also what the problem is :)11:33
wgrantrvba: Do you have a quote of what Julian said? I saw a bug to use launchpad.Append some time ago, but this sounds like far more than that.11:33
* rvba scans the logs11:34
rvbaavril 27 10:46:55 <bigjools>    rvba: and the permission change11:34
rvbaavril 27 10:47:09 <bigjools>    but that one is hard because of the problem we encountered before11:35
rvbaavril 27 10:47:28 <bigjools>    (we need more info than available in the security adapter)11:35
rvbaavril 27 10:49:04 <bigjools>    I think we can do it, but it will mean not doing it in the security adapter11:35
wgrantRight, so it sounds like he wants it to go all the way.11:35
rvbaand also (from an email)11:35
wgrantrvba: You'll want to make use of Archive.canUploadSuiteSourcePackage.11:35
rvbaThe security adapters only have the context archive and the user.  Far more is11:35
rvbaneeded to ascertain upload privileges. So no, it isn't.  ;)11:35
rvbaIt can be worked around by doing the security in the model layer though (not11:36
rvbathe browser layer - so it also works for the API).11:36
wgrantrvba: That takes a person, suite and source package name, and does the rest for you.11:36
rvbawgrant: I reckon this is sort of what I did ... but I called directly Archive.checkUpload ... which is what canUploadSuiteSourcePackage seems to do11:37
wgrantrvba: Also, this probably needs to be flagged. syncSource must not be used to copy into a primary archive yet.11:37
wgrantrvba: You're using the source component instead of the destination component, but apart from that it looks OK.11:38
rvbawgrant: how can I get the destination component?11:41
wgrantrvba: canUploadSuiteSourcePackage has a reasonable example.11:41
rvbawgrant: (flag) all I do here is add a perm check to existing code ... and this perm check will only be performed if a not None person is passed, which is something that will be done only in flag protected code11:42
rvbawgrant: so I guess I should be covered don't you think?11:42
rvbacomponent = sourcepackage.latest_published_component11:42
wgrantrvba: Ah, you're not also doing this through the API? Sure.11:43
rvbawgrant: not yet, but I've got another task waiting to expose the sync operation on the api11:43
wgrantrvba: syncSource is already exposed.11:44
wgrant(but restricted to launchpad.Append)11:44
rvbayes, I got confused: I meant doing the same check for the api call11:44
wgrantThat's a long way off.11:44
rvbaand remove the lp.Append protection11:44
wgrantIt needs to do overrides and announcements and respect the queue first.11:45
rvbaI see11:45
rvbawgrant: I think I'll wait for Julian for the api stuff then. At this stage I just wanted to make sure that my changes will be compatible with this future api refactoring.11:46
rvbawgrant: I think I'll change the call from checkUpload to canUploadSuiteSourcePackage ... looks like it's more consistent to use most high "level code".11:48
rvbawgrant: thanks a lot for you help ... I guess I'll have a good time writing tests for this :).11:48
rvbas/you/your/11:48
wgrantrvba: It looks reasonable. Although I wonder how it's going to behave for anonymous requests; self.user will be None, so person will be, so it will skip the check.11:49
rvbawgrant: well spotted ... I'll have to find a way around that ...11:50
rvbawgrant: in my experience (that is with other systems) the classic work around is for the infrastructure to pass a singleton AnonymousPerson and not None when dealing with anon requests11:51
wgrantrvba: Yeah :(11:52
rvbawgrant: I'll find a way ... thanks again for you time ... I might be back tomorrow with more questions ;)11:53
rvbasigh s/you/your/11:53
wgrantHeh.11:53
rvbaStevenK: you might want to have a look at the above conversation :)11:58
jtvallenap: still reviewing?13:03
gary_posterallenap, hi.  https://code.launchpad.net/~gary/launchpad/bug771232/+merge/59302 could use a review if you have time.  If not, lemme know; I can ask someone on yellow to look at it.13:05
allenapgary_poster: Sure I'll look at it after I've finished jtv's review.13:15
gary_posterstub, forgive my paranoia, but buildbot blessed my db branch 15 hours ago and it is on db-stable but not on staging yet.  Should it be there already--is this indicative of a potential problem in the patch?13:15
gary_posterallenap, thanks!13:15
* stub shrugs13:17
gary_posteruh, ok :-)13:18
* stub has a look at the staging logs13:18
gary_posterthank you13:18
gary_posterI could do that too13:19
stubMight be faster... my net is the suck.13:20
stubI think some twats using our data centre have released an operating system or something.13:21
gary_posterheh13:22
gary_posterallenap, another favor I could ask you is to go to https://launchpad.net/launchpad/+subscriptions and tell me if you see any subscriptions now that you are in ~yellow (you definitely should see the one from now Launchpad Bug Contacts, and if you don't that is a bug).  You could also take a look at https://launchpad.net/launchpad-project/+subscriptions .13:23
stubgary_poster: What was the patch number? Looks like the update happened today but there were no patches to apply.13:24
gary_posterstub, 65 I think.  checking13:24
stubNot there. Last patch applied was -61 on 24th.13:24
gary_posterstub, ok, I'll try to hold off on the paranoia some more than.  Thank you!13:25
stubr10480 of db-stable13:25
jtvallenap: no questions so far... is that good or bad?  :)13:44
allenapgary_poster: On launchpad/+subs I see the ~launchpad-bugs subscription, and on launchpad-project/+subs I see my "Triage" subscription, so all seems well. Thanks for following up on that.13:44
allenapjtv: I have some comments, but no breakage.13:45
jtvSweet.13:45
gary_posterallenap, yay!  thanks for looking13:46
allenapjtv: I started out doing a full review because I'm not used to mentoring, but I'm just skimming through now.13:46
jtvallenap: one design worry is that we haven't got the full initialization procedure together yet for derived distros, so we're not sure yet how to slot this in there.13:48
jtvThe actual code should be distro-agnostic though.13:49
jtvThe main concern for the procedure is that there be no concurrent regular publisher runs.  We'll probably develop different ways of solving that anyway.13:49
=== Ursinha-afk is now known as Ursinha
wgrantjtv: The great more-extra overrides mystery is solved.13:51
jtv?13:51
wgrantjtv: The symlinks are indeed dangling for the first run, and the dists/ comparison ignores the headers that are missing because of it.13:51
wgrantSo we can just leave them dangling and everything will be fine.13:52
jtvGood to know.  (I don't think it'd have affected my code because that's only kicked off after the links have been created).  Might be worth noting somewhere if this wasn't previously known.13:52
henningeallenap: Hi!13:52
allenaphenninge: Hi!13:52
henningeallenap: Can you please review my branch? ;)13:53
henningeallenap: https://code.launchpad.net/~henninge/launchpad/devel-766955-fix-forwardCheckAuthenticated/+merge/5936413:53
allenaphenninge: Sure.13:53
allenaphenninge: I've just started a review for Gary, so I'll do yours right after that.13:53
henningeallenap: thanks!13:55
=== jcsackett_ changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
jtv1thanks allenap!14:05
allenapjtv1: No worries.14:05
=== barjavel.freenode.net changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap | https://code.launchpad.net/launchpad-project/+activereviews
=== issyl0 is now known as Guest23776
* henninge relocates14:38
gary_postermrevell_ (_?) hi .  You assigned yourself https://bugs.launchpad.net/launchpad/+bug/770315 .  Thank you! Will you have a chance to look at this today or tomorrow?  You are on holiday Monday, right?14:49
_mup_Bug #770315: Help for bug muting uses unfamiliar terminology <exploratory-testing> <story-better-bug-notification> <Launchpad itself:Triaged by matthew.revell> < https://launchpad.net/bugs/770315 >14:49
mrevell_gary_poster, Hi! Not sure why I have an underscore. Yeah, I'll deal with that this afternoon.14:49
gary_posterawesome, thank you mrevell_14:49
=== mrevell_ is now known as mrevell
=== jcsackett_ is now known as jcsackett
jcsacketthenninge: can i bug you for some info on reviewing translation imports?15:00
henningejcsackett: sure ;)15:01
jcsacketthenninge: excellent. i am looking at https://translations.launchpad.net/+imports/5469865, and trying to verify the project is set up appropriately.15:02
jcsackettthe page tells me there is no translatable series, but i see that it is targeting a series. i believe i am confused by what that all means.15:03
henningejcsackett: "translatable series" refers to a series for which a template has been imported.15:05
jcsackettah, so approving this would create a translatable series, henninge?15:05
henningejcsackett: so this tells you that this is the first template import ever for this project.15:05
henningejcsackett: yes15:05
jcsacketthenninge: okay, that makes sense.15:05
jcsacketthenninge: there is also a thing in the wiki saying that i should look at the product under translations, and check links for release-series to make sure things are setup.15:07
jcsackettin this case, looking at translations.launchpad.net/libravatar, i see nothing that looks like what the wiki is talking about.15:07
mrevelldanilos, Hey, do you have a moment to talk about bug 770345?15:24
_mup_Bug #770345: When muting a bug your name disappears from the subscribers list but doesn't re-appear when unmuting <exploratory-testing> <story-better-bug-notification> <Launchpad itself:Triaged by yellow> < https://launchpad.net/bugs/770345 >15:24
danilosmrevell, sure thing, though note that gary_poster is writing a comment as well :)15:24
danilosmrevell, want to do voice?15:24
danilosmrevell, (though, mumble is broken for me, so skype would be better)15:25
mrevelldanilos, I'll wait and see what Gary's comment says :)15:25
danilosmrevell, I also think you've raised most of the important comments in 770342 as well, fwiw15:25
mrevelldanilos, Did I? Oh, good. /me tries to work out what.15:26
gary_posterdanilos, mrevell, I made my comment.  I don't like the situation at all, but I've said what I thought. :-) https://bugs.launchpad.net/launchpad/+bug/77034515:29
_mup_Bug #770345: When muting a bug your name disappears from the subscribers list but doesn't re-appear when unmuting <exploratory-testing> <story-better-bug-notification> <Launchpad itself:Invalid by yellow> < https://launchpad.net/bugs/770345 >15:29
gary_postermrevell, we can tackle the internal change, but IMO we need approval from Jono and Francis to do so.15:30
* gary_poster needs to run to dr appt. biab15:31
jcsackettsinzui: you triaged a bug right out from under me. :-P15:31
snowdreami want to uninstall launchpad ,what can i do?15:31
danilosmrevell, if you still want to chat about it, just ping me :)15:32
snowdreamanybody can help me unistall launchpad15:33
henningeallenap: thanks for the review. How strongly do you feel about assertVectorEqual?15:38
allenaphenninge: I'm not going to fight if you really want to land it :) I agree it's probably useful to get the full state of something when a test breaks, rather than just the first failure, but I don't think assertVectorEqual is a good way to go about it.15:41
mrevelldanilos, Okay, ta15:41
henningeallenap: So, you are ok with agreeing to disagree on that point?15:44
allenaphenninge: Something like that :)15:45
henningeallenap: thanks ;-)15:45
henningeNooo!15:56
jcsackettsinzui: have a few to mumble?15:56
jtv1henninge: what happened?15:56
=== jtv1 is now known as jtv
henningeI lp-landed my branch but I meant to ec2-land it ...15:56
jtvhenninge: if you "ec2 test" it now, you'll probably still be just ahead of buildbot to patch up any failures.15:57
henningejtv: yes, I was thinking about that, too.15:57
henningeI have 3 hours 38 minutes15:57
jtvrun, henning, run!15:57
jtvYou can also do a local run for the most likely suspects, of course.15:58
jcsacketthenninge: did you already get pqm notification of success? i don't see it in the queue, which implies it's already through, but could mean it hasn't hit it quite yet?15:58
henningejcsackett: it's through15:58
jcsackettblast.15:58
henningejtv: problem is I won't be here then.15:58
henningeI don't expect much to happen.15:59
henningeI'll start the ec2 test run now15:59
jtvhenninge: I'd also start that local run.  May just catch something before you leave.15:59
henningejtv: good point15:59
wgrantOh good, it'll fail just in time for my start-of-day :P16:00
jtvwgrant: while you're still here (and I know you're not), is this accusation I just heard true?16:01
wgrantHwhich accusation?16:01
jtvDo some Australians spread that marmite-clone they have (or however you spell it) right next to nutella?16:01
wgrantI've never heard of that being done seriously, fortunately.16:01
wgrantOr I would have to abandon the nation.16:01
jtvwgrant: thank you, that is an immense relief.  I will pass the news on.16:02
jtvwgrant: I do have an eyewitness here, but that may have been a freak madman, not representative of the wider gene pool.16:05
jtvIt happened in Hobart, for what it's worth.  Lots of inbreeding there?16:05
wgrantIndeed.16:06
danilosallenap, hi, do you think you'll have time to look at https://code.launchpad.net/~danilo/launchpad/subscribers-list-js/+merge/59387? it's mostly JS tests :)16:10
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
jcsackettdanilos: i can grab it. not sure why my attempt to set topic this morning failed.16:11
danilosjcsackett, excellent, thanks :)16:11
mrevellallenap, jcsackett: If either of you have time for https://code.launchpad.net/~matthew.revell/launchpad/bug770315-bug-muting-help/+merge/59388 I'd be most grateful :)16:11
jcsackettmrevell: if allenap doesn't take it before i finish one for danilos, i'll get it.16:12
adeuring1allenap: got a few minutes for a pre-imp call? (about duplicate bugs)16:13
allenapmrevell: Sure, I'll take that.16:13
mrevellthanks16:14
allenapadeuring1: Sure. Skype?16:14
=== allenap changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett | https://code.launchpad.net/launchpad-project/+activereviews
adeuring1allenap: ok, let me just power on a machine where skype is installed.16:15
allenapadeuring1: Or Mumble is okay.16:16
adeuring1allenap: then let's mumble ;)16:16
henningejtv: I now have a local run for most likely suspects going plus a full ec2 run.16:16
jtvVery well.16:17
adeuring1allenap: https://bugs.launchpad.net/launchpad/+bug/76929316:18
_mup_Bug #769293: Timeout trying to set bunch of dupes <Launchpad itself:In Progress by adeuring> < https://launchpad.net/bugs/769293 >16:18
jcsackettdanilos: this is all my own javascript ignorance, but i see that remove_user_link calls for two params, subscriber and is_dupe. in places you call it with only one argument, and i don't understand if/how is_dupe is set to a default. is there js magic i don't get?16:19
sinzuijcsackett: I can talk. I was distracted by the flood of water and felt compelled to bail16:23
jcsackettsinzui: http://people.canonical.com/~jc/images/mark-as-spam-0.png16:25
danilosjcsackett, yeah, the magic is that it gets set to "undefined"16:33
danilosjcsackett, thus, I explicitely check for "true" when I want it to be used, I assume everything else means "no"16:34
jcsackettdanilos: ah, ok. that makes sense. thanks!16:34
danilosjcsackett, np16:34
henningeDo OOPS ids expire?16:35
henningeI have an old bug report that refers to an OOPS but the utility cannot find it.16:35
daniloshenninge, they do not expire afaik, but they are sometimes manually purged by LOSAs/QA team I think; worth checking with matsubara/Ursinha16:37
Ursinhahi16:37
wgrantoops-prune removes old unreferenced OOPSes.16:37
henningeHi Ursinha! ;)16:37
Ursinhahenninge, there's a script, oops-prune, that removes old oopses16:38
Ursinhahi henninge! :)16:38
henningeHow does it know they are unreferenced?16:38
jcsackettdanilos: r=me.16:42
danilosjcsackett, thanks16:42
Ursinhahenninge, what do you mean? it doesn't :( it deletes old oopses without any checking16:50
henningeUrsinha: ah, wgrant mentioned "unreferenced". Thanks for clarifying.16:51
henningeso, no use putting OOPS urls in bug reports, just paste the oops itself.16:51
henningeI really have a hard time reproducing the bug now16:52
Ursinha:/16:57
henningejtv, jcsackett, wgrant: My local run did not have any troubles. I am quite confident that it will be fine. ec2 still running, of course. I will check back later.17:02
jtvSplended17:02
jtv*did17:03
henningebye for now17:03
=== almaisan-away is now known as al-maisan
gary_postermrevell, hi, I'm back and available for call if you'd like to have one; OTOH, I don't have much to report that you haven't already experienced first hand :-)17:19
gary_posters/much/anything/17:19
mrevellgary_poster, Hi :) Thanks. I think we've worked pretty closely this week, so I'm happy to skip the call.17:19
gary_postercool thanks mrevell.  ttyl17:19
=== al-maisan is now known as almaisan-away
jcsackettsinzui: can i put you on help contact, or are you still bailing water?19:19
sinzuiyes. I continue to forget19:19
=== Guest23776 is now known as issyl0
=== cody-somerville_ is now known as cody-somerville
=== cody-somerville_ is now known as cody-somerville
sinzuijcsackett: can you review https://code.launchpad.net/~sinzui/launchpad/question-email-1/+merge/5941420:25
jcsackettsinzui: yes. it will give me something to do while my lp-dependencies re-install.20:27
sinzuithanks20:28
lifelessmoin21:14
jcsackettsinzui: r=me.21:19
benjilifeless: if I get the impression that changes to database/schema/security.cfg don't have to go onto the DB branch; is that correct?21:57
benji(I'm giving the processmail user access to the table where the "I don't want to get messages about things I do" flag is stored.)21:57
benjis/if//21:57
lifelessbenji: thats correct22:14
lifelesssecurity.py --no-revoke is run before nodowntime deploys22:14
benjicool, thanks22:15
=== Ursinha is now known as Ursinha-afk
=== cinerama_ is now known as cinerama
wallyworldlifeless: can you please +1 on https://code.launchpad.net/~wallyworld/launchpad/poppy-sftp-gpgconf/+merge/5915423:30
lifelesswallyworld: when I get a browser back, sure23:30
lifelessyou'll need to remind me after I disconnect and reconnect23:31
wallyworldlifeless: np. your system broken?23:31
lifelessnz ubuntu mirror was horked23:31
lifelesscurrently in terminal only while my last -> natty upgrade completes23:31
wallyworldgood luck :-)23:31
=== jcsackett changed the topic of #launchpad-dev to: https:/​/​dev.launchpad.net/​ | On call reviewer: - | https:/​/​code.launchpad.net/​launchpad-project/​+activereviews
lifelesswallyworld: url me up23:58
wallyworldlifeless: turns out curtis did the +1 just after i asked you.  thanks anyway23:59

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