lifelessdo we still use the keyring trust analyzer ?00:19
wgrantlifeless: I doubt it and I hope not.00:28
wgrantBut it doesn't seem to log to scriptactivity, so we'll never know.00:28
lifelesswhere is that cronscripts branch00:28
wgrantIt's not in there.00:29
lifelessah, you checked ?00:29
wgrantwgrant@lamuella:~/launchpad/lp-production-crontabs$ bzr grep email-clus00:29
wgrantIt was added in 2005 and hasn't really been touched since.00:31
wgrantI blame jamesh.00:31
wgrantMaybe he knows something.00:31
wgrantI suspect it's been obsolete for 5 years, but we'd best check.00:31
lifelessI think I had something to do with it too :P00:31
lifelessI'll just delete it.00:31
wgrantYou appear too, yes.00:31
wgrant   * robert.collins@canonical.com/launchpad--keyring-trust-analyzer--0--patch-100:31
wgrant     snapshotting current pgp work00:31
wgrantBut jamesh is all the later stuff.00:31
lifelessIIRC I did the plumbing00:31
wgrantGets rid of stupid tests from canonical.launchpad, too.00:32
wgrantKill it!00:32
wgrantAh, I didn't do too badly last week.00:36
wgrantMy stale appserver pid file is from before EOD on the Friday before!00:36
lifelessclass LogCollector(logging.Handler):00:37
lifeless-yet- -another- -yes-00:37
wgrantThey're mostly cleaned up!00:37
wgrantlifeless: I guess there wasn't much fdt progress last week?00:44
lifelessyou guess well00:47
lifelessnot as much code as I hoped00:52
lifeless 7 files changed, 750 deletions(-)00:52
lifelesscan has revooo https://code.launchpad.net/~lifeless/launchpad/bug-830789/+merge/7237100:59
wgrantHuh, only three gpghandler methods?01:02
lifelessI'm not sure what to do with zeca01:03
lifelessit seems massively overkill for it to be a twisted daemon01:03
lifelessbut I'd hate to have a transitive dependency on twisted for a web.py microservice01:04
lifelessso I need to either rewrite it, or have two entirely separate packages with gpg support stuff01:04
lifelessI'm thinking rewrite01:04
wgrantlifeless: Approved, but with lint.01:08
lifelessat least its valid01:09
lifelesswgrant: did you see privmsg ?01:10
wgrantMissed that, sorry.01:12
jameshwgrant: I don't think we ever put the keyring trust analyzer code into production (at least, we didn't while I was working on LP)01:23
wgrantYou deleted the pygpgme sourcecode!02:28
StevenKRe-add it so we can delete it again!02:30
lifelesswgrant: yes, I did.02:36
lifelesswheee 1800  OOPS-2059AY24   POFile:+translate02:38
StevenKwgrant: It moves to an egg02:43
wgrantStevenK: Yes.02:43
wgrantBut at least it's not a patched branch in sourcecode.02:43
StevenKBah, why do I still have a sourcecode/shipit directory02:44
jtvI wish the test suite wouldn't leave my /tmp full of launchpadlib caches and my swap full of librarians.03:58
lifelessjtv: you're experiencing librarian leakage?04:00
* jtv had no idea such a word existed04:00
lifelessgrah. I thought we'd squashed that04:00
lifelessjtv: does that happen when no failures happen?04:00
lifelessor only when you have failures / errors?04:01
jtvNo idea.  Don't know what the lifetime of a librarian is currently supposed to be, so I have no basis for comparison.04:01
jtvI can tell you that the launchpadlib caches and the createdb templates (whatever those may be) are leaking with successful test runs.04:02
lifelessits meant to be the lifetime of the layer04:02
lifelessthe createdb templaes - launchpad_ftest_template_1234 ?04:02
lifelessor launchpad_ftest_1234?04:03
jtvTrying it again now.04:07
lifelessthe former has a lifetime of test-runner-process04:08
lifelessthe latter is a lifetime of one-test04:08
jtvA limited test run just leaked lp.createdb.launchpad_ftest_template_13091 and lp.createdb.launchpad_ftest_template04:08
lifelessso the leak points for them are different04:08
lifelessjtv: oh, these are files in /tmp ?04:08
StevenKI would really like to squash the test suite creating odd files04:08
lifelessok, please file a bug on them leaking;04:08
lifelessthey exist to workaround postgresql behaviour on concurrent CREATE DATABASE calls04:09
jtvStevenK: so would I.  Passionately.04:09
lifelessthe former we can fix leaks of easily - when the test runner cleansup the temp template db it can remove the lock04:09
StevenKOne of the archiveuploader tests creates a strange file04:09
lifelessthe latter file is a bit harder to nuke safely04:09
jtvlifeless: if the leak points are different, should they be the same bug?04:10
lifelessjtv: could go either way04:10
jtvStevenK: a big source of leaks on publisher tests for me has been the lack of publisher config pointing to temp directories.04:10
jtvI'm trying a passing test that uses the librarian now, to see if that leaks.04:11
StevenKjtv: I'm not really concerned about files in temporary directories -- I'm concerned about tests that dump random files into the source tree04:11
jtvStevenK: yes, that's what I'm talking about.04:12
StevenKsteven@liquified:~% ls -1 /tmp/lp.createdb.* | wc -l04:12
jtvIt's a good thing suspend and hibernate don't work, so I reboot regularly anyway.04:12
jtvlifeless: a successful test with the librarian just now did not leak a librarian.04:13
jtvI wish I had time deal with that storm problem that broke the fake librarian.  :/04:13
jtvlifeless: bug 83084504:16
_mup_Bug #830845: Tests leak "lp.createdb" files in /tmp <Launchpad itself:Triaged> < https://launchpad.net/bugs/830845 >04:16
StevenKI bet it's nascentupload04:17
jtvI think I just got it from running registry browser tests.04:18
StevenKI can recall one from archiveuploader and one from code tests04:18
jtvlifeless: these look like empty marker files.  Would it help debugging to dump a stack trace into them?04:19
wgrantHmm, the unlock is in a finally: :/04:19
wgrantlifeless: Do you understand sinzui's comment in bug #829105?04:21
_mup_Bug #829105: Able to target to release that I cannot upload to <disclosure> <regression> <target-picker> <Launchpad itself:Triaged> < https://launchpad.net/bugs/829105 >04:21
lifelessjtv: no, they are just lock files04:22
lifelessjtv: we use a lock to prevent calling CREATE DATABASE with the same template concurrently, because doing that breaks postgresql04:22
jtvExactly.  If you need to know where they are leaked from, it might help to know more about where they are created.04:22
lifelessjtv: there is only one place that makes them04:23
lifelessjtv: the stacktrace will be identical every time04:23
lifelessthe one without a number in it is made when we clone launchpad_ftest_template to a per-runner template04:24
lifelessthat reduces contention on db cloning in parallel test environments04:24
lifelessthe one with a number in it is made when we clone each concrete test db (because the same code runs each time)04:25
lifelesswgrant: which unlock ?04:25
lifelesswgrant: I think sinzui means 'before the recent retargeting work you could not do this' + 'if someone does it the impact is severe because of the inability to delete the task'04:26
wgrantlifeless: The recent retargeting work is unrelated.04:27
wgrantlifeless: The lp.createdb unlock.04:27
lifelesswgrant: I can't remember which lock system I used04:27
lifelesswgrant: but most won't delete the lock  because doing so can be racy04:27
lifelesse.g. with a lockdir, the lockdir itself is racy-as, but the object so locked can be locked reliably04:28
wgrantHi nigelb.04:30
nigelbCan haz review? https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/7157504:30
nigelbMorning wgrant04:30
nigelb(actually, is it afternoon for you?)04:30
wgrantIt is 14:3004:30
lifelessnot its not, its 16:3004:31
nigelbwoah, didn't know you were living that far ahead in the future.04:32
wgrantNew Zealand doesn't exist.04:32
StevenKnigelb: I think 'Checks if links of the form /bugs/100' should be re-worded04:32
_mup_Bug #100: uploading po file overwrites authors list <iso-testing> <lp-translations> <Launchpad itself:Fix Released by carlos> < https://launchpad.net/bugs/100 >04:32
nigelbah, yes.04:33
stubI had a branch that set $TEMPDIR etc. per test, but then made the mistake of trying to enforce stuff to clean up temp files and it never landed :-(04:33
nigelbStevenK: At, remove the first 'if'? :)04:34
StevenKThat sounds better04:34
wgrantjtv: Your em dashes offend me.04:35
StevenKDear bzr push, GO FASTER04:39
stubNo problem here with the UK, but the US?04:45
jtvStevenK: well I found out why my dputs to dogfood didn't work.  Next questions are why, and what to do about it.  In dput config section [dogfood], "incoming = %(dogfood)s/ubuntu" translates to "ubuntu".04:47
nigelbStevenK: updated.04:47
StevenKjtv: If you just ran dput dogfood <changes>, then that would explain it04:48
jtvThat's what I've always been told to run.  Is it wrong?04:49
StevenKIt can be. Where do you want your uploads to go?04:51
StevenKIf you say "Onto dogfood", I'll slap you04:52
jtv“Wherever on dogfood a test upload for an Ubuntu series is supposed to go.“04:54
* jtv thinks he dodged that slap rather nicely04:55
StevenKjtv: It depends if you are uploading to a ppa as well, you see04:56
jtvI'm not04:56
jtvAs far as I know.04:56
jtvI'm trying to upload to Ubuntu Ridiculous Rat04:56
StevenKI think /ubuntu should be okay then04:58
jtvNot /srv/launchpad.net/ubuntu-queue/ubuntu or somesuch?04:59
jtvI mean, the poppy log suggests it's trying to write to /ubuntu04:59
jtv(Unless it's not being very clear, which is also possible)05:00
jtvexceptions.OSError: [Errno Path not allowed:] /ubuntu/farewell_1.0-1.dsc.tmp.1313988369.200371027.15260.114361495805:00
jtvSomething called rootpath seems to be empty for some reason.05:01
jtvBut it's got to be something on my end, because it was working for Raphaël.05:01
StevenKIt's been too long since I dealt with poppy05:01
jtvOh, no, rootpath is okay; it's just that the path does not begin with it.05:02
jtvMaybe it needs a restart.  One of the line numbers in the traceback was off by one.05:03
StevenKjtv: My incoming = %(dogfood)s, and I think for distro uploads I use dogfood:ubuntu05:03
jtvI was told to set incoming = %(dogfood)s/ubuntu (and then I use just dogfood, not dogfood:ubuntu)05:04
jtvI see we have a script for starting poppy on dogfood.  How do we stop poppy though?05:04
jtvThere's no pidfile?05:06
StevenKps aux | grep poppy05:07
lifelessthere should be a pid file05:11
StevenKIt could be created on prod by start-stop-daemon05:12
wgrantBut poppy is a twistd.05:12
wgrantThere should be one.05:12
wgrantBut ps is easier than tracking it down.05:12
StevenKIt's been running for 5 minutes, so I guess jtv has restarted it05:13
jtvBut I'd much prefer to automate it.05:13
nigelbStevenK: One moreround of reviews? :)05:13
jtvwgrant: twistd generates pidfiles by default?  I didn't see anything in /var/run05:14
StevenKnigelb: I didn't review the last one?05:14
StevenKIt does, yes. The default is ./twistd.pid05:14
StevenKWhich has to be the most useless thing EVER05:14
nigelbStevenK: Oh. If you're busy, should I wait for OCR?05:15
StevenKjtv: Which is wrong05:15
jtvIt's definitely got the wrong pid in it, yes05:15
StevenKAnd was created over 18 months ago05:15
jtvYup.  Delete.05:15
StevenKnigelb: It gets awkward when jtv starts arguing with himself05:15
StevenKjtv: So we can fix startpoppy.sh to write a pid file05:16
StevenKPersonally, I don't care at all.05:17
StevenKI track it down via ps and shoot it in the face05:17
jtvWhich is wonderful makework but personally I'd like to avoid participating in it.05:17
StevenKThen don't complain when poppy doesn't have a pid file :-P05:18
* nigelb looks for another interesting bug to start work on.05:20
jtvStevenK: I'm not complaining that poppy doesn't have a pidfile, I'm trying to clean up one bit of the mess that dogfood has become by people personally not caring at all.05:21
lifelesswow, mega disrupted day. where did it go.05:21
stubHow do I create a private branch again? Registering a branch before push only seems to let me do a +junk branch05:24
wgrantstub: code.launchpad.net/launchpad05:25
lifelessOTOH 2 branches landed05:26
lifelessstub: we should do a catchup call; we missed last week (but not right now)05:26
stubThink we missed the previous week too :-)05:27
nigelbwhat's the recommended way to update devel?05:27
nigelbrocketful-get or just doign bzr pull inside it?05:27
nigelbI've done rocketful-get, but I don't know if its "The Right Way (tm)"05:29
wgrantrocketfuel-get is a good way to make sure sourcecode/download-cache/devel are up to date.05:29
nigelbhmm, wonder rif I can get two branches landed on same day. *tries*05:30
lifelessstub: we got the week before ;)05:31
lifeless-> groceries05:32
jtvStevenK: the dogfood:ubuntu did do the trick after all, thanks!05:35
jtvI thought the "/ubuntu" in my config would obviate that.05:35
jtvBTW poppy has a pidfile now, and startpoppy.sh has a sibling stoppoppy.sh.05:35
nigelball information related to user profile like timezone, go into registry, right?05:35
stubWhat changed with gpgme recently?05:48
wgrantWe're using an egg instead of a branch.05:49
StevenKWhich is good.05:49
wgrantIt's just better than a branch.05:50
stubMake is failing until devel is merged in05:53
wgrantpoolie: You no longer need to retarget to null.05:53
wgrantpoolie: Expand the bugtask row and retarget to Ubuntu directly.05:54
stub(gpgme is gone from sourcecode, but buildout won't build the egg until versions.cfg etc. has the update)05:54
stubWe don't test logout() anywhere. Fails when it attempts to redirect through codehosting to clear any secure codehosting auth cookie, which isn't running under the test suite.05:56
nigelbok, small world. I just realized who the author of pytz is.05:58
wgrantstub: It's not tested end-to-end, no.05:59
wgrantstub: That would be difficult, as I don't think testopenid supports logout.05:59
stubWhich would have been the next roadblock :-P06:00
wgrant(it doesn't support login)06:00
stubIt doesn't? I thought it was the same as we use running a local dev instance.06:01
stub(And logout fails on my local dev instance because... no codehosting.)06:01
wgrantThe redirect path is launchpad->codebrowse->OP06:02
StevenKstub: There's a special make run for codehosting on .dev06:02
wgrantI don't think testopenid.dev exposes a logout interface.06:02
stubOr is it just my setup that doesn't have a working bazaar.launchpad.net?06:02
wgrantBecause it doesn't have authentication.06:02
StevenKrun_codehosting or something06:02
wgrantWell, doesn't cache authentication.06:03
stubSo it would be a noop06:03
lifelesswe should move auth cookie maintenance to a microservice anway06:03
wgrantIt's SSO all the way down?06:03
* stub has a single line fix and no way to test it06:03
wgrantstub: Oh?06:04
lifelesswgrant: well, one possibility is to talk directly to sso; but that won't work with being openid consumer unless we teach sso about that too06:04
stubI'll try getting a codehosting setup running locally06:04
stubSo the hardcoded redirect path works06:04
lifelesswgrant: another possibility is a microservice (xmlrpc on the main appservers initially) which maintains session cookies06:04
jtvStevenK, wgrant: any objections to a publish-ftpmaster run on dogfood?06:05
wgrantlifeless: Oh, you mean for codebrowse?06:06
stublifeless: Not sure how that solves the problem, which is we need to clear cookies on a number of domains that are not always available.06:06
StevenKstub: 'make run_codehosting' rather than 'make run'06:06
wgrantjtv: None.06:06
lifelessstub: it removes the cookies from those domains06:06
StevenKjtv: Only that it will take EONS06:06
jtvStevenK: all the more reason to get started as soon as possible!06:06
stublifeless: How does that work without requiring the authentication being treated as a web bug and blocked?06:07
jtvAlso, this run shouldn't take as long as normal ones do.06:07
lifelessstub: let me check an assumption: these are all LP domains right ? *.launchpad.net ?06:07
wgrantlifeless: Not quite. We go all the way through to SSO.06:08
stuboh, yes. So no idea why we need to bounce through codehosting.06:08
wgrantWell, unless you count login.launchpad.net as *.launchpad.net, in which case get out.06:08
lifelesswgrant: I do06:08
wgrantDon't mess with SSO.06:08
wgrantlogin.launchpad.net is hopefully not long for this world.06:08
lifelessredirecting to SSO isn't what I was mumbling about.06:08
wgrantWe should treat it opaquely.06:09
lifelessit was codebrowser + the wikis06:09
lifelesswhich we only slightly log out of at the moment06:09
wgrantThe wikis aren't part of LP yet.... I'm not sure we should go near them.06:09
lifelessanyhow, the real key point is we don't need to clear the cookie06:09
lifelesswe need to invalidate the session06:09
lifelesswhich is really quite different06:10
wgrantWe need to rewrite all our session management for everything.06:10
wgrantBecause it's wrong and inconsistent and hard to manager.06:10
wgrantI can't type.06:10
lifelessthat paged in a phil collins song06:11
stublogout is still broken running run_codehosting06:11
StevenKstub: What happens in that situation?06:11
stubI don't seem to have bazaar.launchpad.dev06:11
wgrantStevenK: 50306:11
lifelesscheck your hosts06:11
lifelessStevenK: you don't get logged out06:12
wgrantWell, you only get logged out of LP.06:12
wgrantRather than LP+codebrowse+SSO06:12
StevenK% grep bazaar.launchpad.dev /etc/hosts06:12
StevenK127.0.0.99      bazaar.launchpad.dev06:12
lifelesswhich is still horribly partial06:12
lifelessdo we invalidate api tokens too06:12
wgrantNot sure if serious.06:13
=== jtv is now known as jtv-eat
lifelessme? I am, logging out really should Log You Out.06:15
wgrantWhat if I want my many cronscripts to not need resetting every time I want to log out on some machine somewhere?06:16
lifelessprovide an advanced partial logout06:16
lifelesssane defaults and all that06:16
lifelessyour many cronscripts case is not the common case06:16
wgrantSo logging out on one machine should log you out of *all* machines?06:16
wgrantThere should be a way to revoke sessions and tokens, sure.06:16
wgrantBut having that be the default is insane.06:16
stubINF [20110822-13:16:27.297] [47438788081408] loggerhead: Processed err https://bazaar.launchpad.dev/%2Blogout?next_to=https%3A%2F%2Ftestopenid.dev%2F%2Blogout [0.001 seconds]: ['TypeError: oops_start_response() takes exactly 2 arguments (3 given)\n']06:17
lifelessstub: thank you!06:17
wgrantlifeless: Does any other webapp do the s/Log Out/KILL EVERYTHING/ thing you are suggesting?06:17
wgrantI've never seen it.06:17
lifelesswgrant: its recommended by security folk AIUI06:18
wgrantI've seen revoking all sessions and tokens on *password changes* recommended.06:18
wgrantBut never on logout.06:18
lifelesswgrant: the distinction between oauth, browser session and machine session is not well understood by casual users06:18
wgrantSo we should make the default action blow everything up for advanced users?06:18
stubtokens should only be revoked that are being used by the web browser on logout, not the ones that have been setup for use by command line/desktop integration etc.06:19
wgrantLet me just log out...06:19
wgrantOh fuck now I have to reauthorize 30 scripts on 10 servers.06:19
lifelesswgrant: don't conflate default-setting with UI06:19
lifelesswe could fix the 'get /logout' logs you out bug, moving logout to an actual post; supply a confirmation form with everything checked and let you unselect stuff you want kept (with the current session having an 'online this session' option beside it for quick selection.06:20
stubLogout isn't logout everywhere - it is logout the web browser. Not logout on your laptop too, and deauthorize all your other clients.06:20
lifelessstub: this is exactly the point, that subtlety is lost on casual users.06:20
lifelessstub: they don't understand that e.g. the 'log in with gmail' button establishes a persistent 3rd party session06:21
stubIt doesn't06:21
stub(ok - replace with twitter oauth argument)06:21
wgrantWe should certainly fix the OAuth token view to be a general authentication session management view, and make that obvious and next to the logout button.06:22
wgrantBut the browser logout button should log the browser out.06:22
wgrantNot destroy the world.06:22
nigelbfrom where does things go into the context?06:22
stubI don't think the subtleties are lost. Most of what I see is that people expect their tokens to be destroyed on password change, not logout.06:22
wgrantIn a view, 'context' is normally the object that the view is on.06:23
wgrantnigelb: ^^06:23
wgrantstub, lifeless: Facebook doesn't do this, AFAIK.06:24
wgrantAnd if Facebook doesn't, then I think even non-technical users are probably not too terrible about this concept.06:24
nigelbwgrant: argh. So, how would I add a variable to that?06:24
wgrant(replace "Facebook" with "99% of websites on the Internet" and it will still fit)06:24
lifelessits wsgi oops thats broken06:24
lifelesswho knew... http://www.python.org/dev/peps/pep-0333/#the-start-response-callable06:24
stubwgrant: No, which surprises people when they change their twitter password and linkedin is still connecting.06:25
wgrantnigelb: Find the class, add an attribute to it.06:25
stubwgrant: But that is password change06:25
wgrantstub: Yes.06:25
nigelbwgrant: the class I found from configure.zcml, but I can't find the other attributes defined there, which confuses me.06:25
wgrantstub: I think defaulting to reset stuff on password change may be permissible, as long as it's very obvious what is about to happen.06:26
wgrantBut on logout is just insane.06:26
stubwgrant: yes, and reset tokens on password auth is what I've seen recommended. I don't think I've seen it recommended for logout either (I thought initially lifeless meant the tokens being used by the javascript api, but I'm not sure they actually exist?)06:27
wgrantstub: JS just uses the cookie for now.06:27
wgrantWe should certainly make it easy to do.06:27
wgrantAt present there's no way to revoke a remote machine's session.06:28
wgrantUnless you are stub.06:28
stubthought you meant an oauth token there :)06:30
wgrantNo, those have had a view to manage them since day 1 :)06:31
wgrantAnybody up for a rather trivial review? https://code.launchpad.net/~wgrant/launchpad/bug-830803/+merge/7237806:36
wgrantAnd https://code.launchpad.net/~wgrant/launchpad/bug-830849/+merge/72379 is a little bigger.06:36
StevenKwgrant: r=me for the first.06:39
StevenKwgrant: For the second, r=me, if there are already tests for _syncSourcePackages06:40
lifelessstub: http://paste.ubuntu.com/672219/ should fix it for you06:40
lifelessstub: I'm working on a test now06:40
lifelessstub: (thats to python-oops-wsgi, easiest way is for you to checkout the trunk, set develop= . ../path/to/that/checkout and run bin/buildout again06:41
stubNah, its easier to do something else until it winds its way through ;)06:41
wgrantStevenK: Thanks. It is tested somewhere (I ran into it some time in the last 15 branches), but I will add direct tests on transitionToTarget.06:42
StevenKwgrant: In that branch itself?06:43
wgrantStevenK: Yes.06:43
nigelbStevenK: review? https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/71575 :D06:43
StevenKnigelb: You know, stub is OCR today :-P06:44
nigelbIs there a page saying who's reviewing when?06:45
nigelbstub: could you review the brach above?06:46
stubnigelb: Not sure I approve of calling a private bug a bug with an invalid link - seems a separate case to test to me.06:50
wgrantHe was doing that, but then lifeless said they were the same case :)06:50
nigelbThat ^06:50
nigelbAlso, its similar to what happens in the UI.06:51
nigelbI'm open to changing the text to make it clearer.06:51
stubI think it is better to be explicit. Saves fallout if we linkify private bugs (which we can do if it is client side).06:53
nigelbSo, say "Bug 123 is either invalid or not visible to you"06:53
_mup_Bug #123: There's no direct way to see the project info when translating it <lp-translations> <Launchpad itself:Fix Released> < https://launchpad.net/bugs/123 >06:53
wgrantnigelb: We treat invisible private bugs as not existing.06:53
wgrantSay something like "Bug 123 does not exist", perhaps.06:54
_mup_Bug #123: There's no direct way to see the project info when translating it <lp-translations> <Launchpad itself:Fix Released> < https://launchpad.net/bugs/123 >06:54
stubnigelb: No, it is invalid if you don't have access. Same as we 404 private bug pages rather than a no-permission errorcode.06:54
nigelbI'm confused now.06:54
wgrant*Test* both cases.06:54
nigelbIn one case, there's a private bug you have access to, it linkifies correctly.06:54
wgrantThe cases behave the same way.06:55
stubnigelb: Simplest thing to keep me happy is a second invalid link, which is really invalid, in addition to the private bug, which is only invalid if you don't have permissions.06:55
wgrantBut test both.06:55
nigelbstub: It does that.06:55
nigelbThe private bug case linkifies correctly if you do have permission06:55
stubmake_invalid_bug_links returns a single link, a link to a private bug.06:55
nigelbMy test case, however, uses a user who doesn't have access.06:55
nigelbwgrant: Grar, lifeless told me to do the opposite.06:56
stubRight. So we are testing that we handle private bugs correctly, but not utterly broken urls06:56
nigelbTest one case since it should behave the same anyway.06:56
wgrantnigelb: Yes. Normally I would agree. but this is a bit of an odd case, and I disagree with him.06:56
stubUnless we defer that to searchBugs06:56
nigelbOk, so how do I create an invalid bug for sure?06:57
nigelb(inside a test)06:57
stubBug a helper called 'make_invalid_bug_links' that returns a perfectly valid bug would certainly need a comment to avoid a WTF.06:57
stubnigelb: make a bug and add one to its id would be good enough.06:57
nigelbokay, I'll update the test with both the cases.06:58
stub(or add 1000 - add one will only be invalid until the next makeBug call.06:58
lifelessjml: hi06:58
lifelessstub: wgrant: testing the behaviour of searchIds is inappropriate for a view test :(06:59
wgrantlifeless: It's a very unobvious implementation detail.07:00
wgrantI think it's reasonable to test it here, as long as it's not too long.07:00
lifelessmmm, this is really just exposing searchIds on an adhoc API07:00
stublifeless: make_invalid_bug() that returns a valid bug is WTF.07:00
lifelessstub: the test being unclear ? sure :)07:00
nigelbwtf, gpgme error when I run tests.07:01
stubnigelb: Merge devel, run make.07:01
stubnigelb: So lifeless and me sort of agree.07:02
=== jtv-eat is now known as jtv
nigelbso just add a comment to the test?07:02
stubThat would work.07:03
stub'As far as searchBugs() is concerned, this is an invalid bug to the currently authenticated user' or similar.07:04
lifelesshttps://code.launchpad.net/~lifeless/python-oops-wsgi/extraction/+merge/72380 can has review07:04
lifelessstub: I'll land it with a version bump and do a new egg etc after the review07:04
lifelessactually I see you are distracted07:07
lifelessI will land a 0.0.2 tarball + lp simple tweak to use it, and you can review later.07:08
wgrantStevenK: Test added.07:11
nigelbstub: updated, could you land it as well?07:11
jtvlifeless: I'll review it.07:12
lifelessok, man sensible-browser lies07:13
nigelbI'm trying to fix bug 188187, should I add another property to the view class for that? Is that the right way?07:14
_mup_Bug #188187: Please display offset to UTC with timezone info for profiles <easy> <feature> <lp-registry> <profile> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/188187 >07:14
lifelessjtv: thanks07:15
lifelessnigelb: I would do it in the formatting of the field07:15
stubnigelb: ok07:16
nigelblifeless: hm, where do I look to find that. I've been unsuccessful in finding that. I traced the it from the configure.zcml file and then got lost.07:16
nigelbstub: Thanks!07:16
jtvlifeless: done07:17
lifelessnigelb: well, start with the view07:17
lifelessnigelb: see what it does, does it do a formatter call, or access an attribute of the timezone object..07:17
nigelbit access a context variable07:17
lifelessjtv: you may not know this , but pep8 mandates indent by 8 for function call continuation lines07:18
jtvI didn't, no.07:18
jtvSo does that mean we're going to have a mess of inconsistent indentations now?07:19
lifelessits under code layout 'When using a hanging indent the following07:19
lifeless    considerations should be applied; there should be no arguments on the07:19
lifeless    first line and further indentation should be used to clearly distinguish07:19
lifeless    itself as a continuation line.'07:19
lifelessjtv: uhm, I don't know what we should do in LP itself; these new trees are pure PEP8 though07:20
lifelessjtv: so I wouldn't expect any inconsistency within a single project07:20
jtvPhew.  :)07:20
wgrantlifeless: You mean function definition?07:20
jtvAlthough I must say the 8-char indent would help the broken-if-condition situation.07:20
jtvwgrant: no, this is function call.07:20
lifelesswgrant: it applies to both07:21
wgrant          # Further indentation required as indentation is not distinguishable07:21
lifelesswgrant: function calls are listed as optional07:21
wgrant          def long_function_name(07:21
wgrant\    Optional:07:21
wgrant              var_one, var_two, var_three,07:21
wgrant              var_four):07:21
wgrant              print(var_one)07:21
wgrant          # Extra indentation is not necessary.07:21
wgrant          foo = long_function_name(07:21
wgrant            var_one, var_two,07:21
wgrant            var_three, var_four)07:21
wgrantI'mnot seeing the mandated indentation by 8 for function calls.07:22
wgrantOnly function definitions.07:22
lifelesswgrant: its a contextual rule, not specific to function definition or calling07:22
jtvwgrant: just so you know, this isn't working very well in my IRC client.07:22
wgrant and further indentation should be used to clearly distinguish07:23
wgrant    itself as a continuation line.07:23
nigelbplease use etherpad?07:23
wgrantFor a function call it is already clearly distinguished.07:23
lifelesswgrant: yes, thats what I quoted above:)07:23
wgrantThere's no following block.07:23
lifelesswgrant: not always (e.g. call within an if)07:23
wgrantOh, within an if statement, not an if block?07:24
lifelessjtv: the del exc_info is there to avoid circular references07:24
lifelessjtv: its advised by the wsgi pep07:24
jtvI thought the python gc had some special trick for dealing with circular references.07:25
=== henninge changed the topic of #launchpad-dev to: https:dev.launchpad.net/ | On call reviewer: henninge | Critical bugs: 238 - 0:[#######=]:256
lifelessjtv: it puts its hand up in the air, runs around and gibbers.07:25
jtvOh, OK.  That makes sense.07:25
lifelessjtv: some of the time this works, other times it leaves uncollectable objects.07:25
wgrantlifeless: I still see nothing that suggests two levels of indentation for normal function calls.07:26
jtvlifeless: don't forget the closing /07:26
lifelessjtv: a cycle of objects is uncollectable (today) if any have __del__07:26
jtvTo avoid the horrors of object revival through finalization?07:27
lifelessjtv: so avoiding cycles is pretty important for library code.07:27
* jtv loves constructors, hates finalizers07:27
lifelessjtv: to avoid race conditions or injecting altered state into the objects07:27
lifelesse.g. A -> B -> A, and A has a __del__07:27
lifelessif you delete B first, A's __del__ might use B and boom. if you delete A first, its ok.07:28
lifelessI don't recall if the gc handles one __del__ ok, or only fails when there are two involved.07:28
jtvOr as I put it, the horrors of object revival through finalization.  :)07:28
lifelessIIRC it just taints the cycle when it finds a __del__ and moves on.07:28
lifelessone common trick, while we're on this, is to have A -> B, C  then B->A and C has the __del__07:29
lifelessit handles that just fine07:29
jtvA→B, C?07:31
lifelessA holds a reference to B and C07:31
lifelessB holds a reference to A07:31
lifeless'points at' :)07:31
jtvNot what I meant.07:31
jtv"A → B, C then B→A and C has the __del__" is ambiguously scoped.07:32
lifelessjtv: how would you layout the dict better? even out of the assert those lines are just too long07:33
lifelessthey are already only 4 characters in07:33
jtvOne item per line, with comma after each item.07:34
jtvIgnore me.  I think I just figured out why I couldn't get something to work.07:35
lifelessjtv: so the problem bit isn't in the dict, its the expected start_response args07:36
jtvlifeless: could be—a bit hard to say given the current layout.07:36
lifelessjtv: how does this grab you07:37
adeuringgood morning07:37
jtvlifeless: Gently and not altogether unpleasantly.07:37
jtvEven so, I may sue.07:38
lifelessis that +1?07:38
jtvhi adeuring.  I bet you're wondering what all that was about, but you missed it and now it's too late.07:38
jtvlifeless: yes07:38
lifelesslxc-stop -n lucid-test-lp is dropping my box of the network for 60 seconds07:43
lifelessthis is not coincidentally the default bridge watchdog timeout07:43
lifelessno liky07:43
lifelessstub:  all the bits you need are in trunk07:44
lifelessstub: I suspect loggerheads is further broken based on lp's qastaging behaviour07:44
lifelessstub: ... so please try before I sleep :)07:45
mthaddonlifeless: sorry, I'm stealing stub at the moment for some emergency U1 work07:45
stubGot u1 replication, then I need to guilt mthaddon into doing the pgbouncer LP config updates07:45
henningehm, was the StyleGuide overview page removed from the dev wiki on purpose?07:53
henningeIt's still linked from here https://dev.launchpad.net/PatchSubmission07:53
lifelessjml: ping08:08
jtvhi henninge!  Review?  https://code.launchpad.net/~jtv/launchpad/post-824553/+merge/7238908:15
henningejtv: r=me08:16
henningealthough I had to look up the exact meaning of "vestigial" ... ;-)08:17
jtvrvba: it prints None.08:18
jtvhenninge: good, so we're all learning.  :)08:18
rvbajtv: arg ... thank you!08:18
jtvrvba: want me to make any changes?08:18
rvbajtv: I'll change it a bit and ask you to run it again if you don't mind, thanks for the offer :)08:19
jtvhi mrevell08:19
rvbajtv: http://paste.ubuntu.com/672274/08:20
jtvrvba: pretty-printed for your convenience… http://paste.ubuntu.com/672278/08:22
rvbajtv: thank you!08:23
jtvrvba: by the way, the default argument for dict.get defaults to None.08:23
jtvSo {}.get('x') == None.08:23
rvbajtv: ah, right :)08:24
jtvrvba: I still have the shell open so if there's anything more you need from that variable, say the word.08:24
rvbajtv: great, I'll ask you if I need another execution on "real" data.08:25
jmllifeless: hi08:30
jmllifeless: got a call w/ rickspencer3 scheduled now. let me juggle a bit08:31
lifelessjml: FYI its now 203008:31
lifelessjml: we're about to eat08:31
jmllifeless: oh, ok. then go eat.08:31
lifelessjml: in about 15 I'll be available08:31
jmllifeless: ok, thanks.08:31
stubAttributeError: https://api.launchpad.net/1.0/~nigelbabu/launchpad/4595-upgrade-bug-linking object has no attribute 'queue_status'08:38
stubAnyone else having issues with ec2 land?08:38
StevenKThat's a branch08:38
StevenKNot an MP08:38
nigelber, do I need to do anything? :)08:39
StevenKnigelb: Yes. Tell stub he is a numpty :-P08:39
stubA better reviewer?08:39
StevenKstub: It used to say "Entry" object has no attribute, which was ... handy08:40
stubraise PEBKAC("You suck")08:40
stubThats better - back to the usual 3rd world ISP issues08:42
nigelbMy first non-trival branch to LP! :)08:46
nigelbMeaning of course my code diff is comparable to the size of the tests diff.08:46
lifelessjml: ok08:48
jmllifeless: hi08:51
jmllifeless: skype?08:51
lifelesssounds good08:51
lifelessjml: except08:51
lifelessjml: its evening here and my isp is fail08:51
lifelessjml: can you ring my landline ?08:51
jmllifeless: oh. sure.08:51
lifelesse..g skypeout to that08:52
jmlyeah, I have skypeout.08:52
stubnigelb: Have you done all the contributer's agreement stuff?08:52
nigelbstub: Yeah. Its my 6th branch :)08:53
jmllifeless: I dialled the number in the directory. Got a beep, then no sound.08:53
=== danilo_ is now known as danilos
jtvjelmer: are you up to date on Q/A?  The production report seems a little behind the times but it looks like you're set to be the next blocker after bac gets his Q/A done.08:59
jelmerjtv: I checked up on it yesterday, but it appears that tellarium is down at the moment and that blocks my QA.09:00
jtvAh.  Sometimes I wonder if IS sprints are organized just to remind us to appreciate our admins.  :)09:00
jameshlifeless: sorry for the late feedback, but I did find one obvious problem with python-oops-wsgi: https://bugs.launchpad.net/python-oops-wsgi/+bug/83093109:02
_mup_Bug #830931: python-oops-wsgi's proxy start_response callback does not handle a third argument. <python-oops-wsgi:New> < https://launchpad.net/bugs/830931 >09:02
wgrantjamesh: http://bazaar.launchpad.net/~canonical-launchpad-branches/python-oops-wsgi/trunk/revision/9 might be relevant.09:11
jameshah.  probably should have checked that before filing the bug report09:12
wgrantIt's only a couple of hours old :)09:12
danilosbigjools, hi, can you perhaps lend a hand with triaging bug 829253?09:14
_mup_Bug #829253: issues with virtualized buillds? <soyuz-build> <Launchpad itself:New> < https://launchpad.net/bugs/829253 >09:14
bigjoolsdanilos: it's not a launchpad issue, it's either an RT or a buildd problem09:14
StevenKOr a Xen bug09:15
wgrantOr a package bug.09:15
bigjoolsI'd retarget to buildd and raise an RT09:15
danilosbigjools, ok, I'll do that, but what should I put in the RT?09:16
bigjoolsdanilos: link to the sme build pages as in the bug09:16
bigjoolsand ask if it's a buildd problem09:17
=== mrevell_ is now known as mrevell
nigelbmrevell: hi!09:21
=== almaisan-away is now known as al-maisan
mrevellHey there nigelb :)09:29
nigelbmrevell: Morning! Were you able to look into that bug? :)09:29
mrevellnigelb, Not yet but it is on my list for today. As Gary said last week, it's likely we'll want to do some testing on it.09:30
nigelbmrevell: Yeah, that sounds good.09:30
mrevellnigelb, At first it sounds pretty obvious that we need a "Subscribe me" button but, as Gary said, there are a few things to consider. I'll update the bug report and ping you when I've done something about it :)09:31
danilosbigjools, another one for you: in bug 798611 cjwatson asks if we could run the sync more frequently? (if you think we could, I'll file an RT or simply propose a merge against launchpad-production-configs)09:35
_mup_Bug #798611: Package Auto Sync seems to get ahead of +localdiff calculation <derivation> <Launchpad itself:Incomplete> < https://launchpad.net/bugs/798611 >09:35
=== al-maisan is now known as almaisan-away
bigjoolsdanilos: leave it with me09:35
danilosbigjools, ack09:35
nigelbmrevell: sounds good :)09:35
allenapthose possessing Zope knowledge: Do you know if there's a standard way to test security proxies? I've done it by hand in some recent code (see https://code.launchpad.net/~allenap/launchpad/job-status-validator/+merge/62509, line 532) but it's the kind of thing for which I suspect someone else has already come up with a good solution.09:59
bigjoolsStevenK, wgrant: can you think of how we could possibly close LP bugs when syncing?  The current code requires a changes file.10:11
bigjoolswhich ain't gonna fly for syncs10:11
nigelbgah @ qastaging timeouts10:13
wgrantbigjools: We'll have to parse them from the changelog-since-base manually.10:15
bigjoolsthey are mentioned there?10:15
=== mrevell_ is now known as mrevell
bigjoolsas in, Debian changlogs reference LP bugs?10:16
wgrantbigjools: Occasionally, yes. Most Ubuntu developers, and some Debian-only developers, put LP bug references in Debian uploads when they fix LP bugs.10:16
wgrantSo they can sync through and the bugs sort themselves out.10:17
bigjoolsok ta10:17
rvbahenninge: Hi, could you have a look at these 2 (tiny) MPs?11:12
henningervba: Hi! Having a look ...11:12
henningervba: IDS = "Intrusion Detection System" ?11:14
rvbahenninge: InitializeDistroSeries ;)11:14
henningeFirst line of diff reveals it but it confuses in the cover letter ...11:15
henningervba: why did you move those methods in test_initialize_distroseries.py?11:25
rvbahenninge: To put them in InitializationHelperTestCase which is the base class for the new tests in test_initderiveddistroseries.py.11:26
rvbahenninge: And of course because the new tests use them.11:27
henningervba: ok11:27
rvbahenninge: BTW, these branch depend on one another for no other reason than the fact that these are tiny fixes that I want to land in one go.11:28
henningervba: why did you add the "return true"11:29
henningervba: did you just do it so you can use "assertTrue"?11:29
rvbahenninge: Exactly.11:29
henningervba: no need for that11:30
rvbaFor the test to be more "explicit".11:30
rvbaMore "readable".11:30
henningervba: but it is not, it is more confusing ;-)11:30
bigjoolsbetter to assert the behaviour11:30
rvbahenninge: The behavior is that no exception is raised.11:30
henningeI understand that11:30
henningebut your test does not mention that.11:31
rvbaI could assert that it returns None.11:31
henningeit never returns "False" so there is no point in "assert True"11:31
henningebut that is not what you are testing ...11:31
rvbahenninge: makes sense, so you would recommend changing that to assert that None is returned then.11:32
henningervba: it is perfectly fine to just call  the method under test and add a comment like "This should not raise an exception"11:32
henningervba: no, assert nothing11:32
henninge(and remove the "return true")11:32
henningethen everybody knows you are just running it to see if it won't raise an exception.11:33
henningervba: that's why we have "assertRaises" but we don't have "assertRaisesNot" ... ;-)11:33
henningervba: Same issue with the other branch.11:38
rvbahenninge: Yep, I'm fixing this right now.11:38
henningervba: cool, thanks ;-)11:38
henninger=me with those fixes.11:38
rvbahenninge: thanks a lot!11:39
bigjoolshenninge, rvba: if something isn't raising an exception then presumably something else happened which can be tested?11:45
henningebigjools: that is a good point!11:45
rvbabigjools: this is IDS.check() so completing without raising an exception is what I want to test.11:45
bigjoolsrvba: that's not a good test though11:46
StevenKI think .check() returns None if everything was fine11:46
rvbaStevenK: exactly11:46
StevenKSo assert that it did so, and you're good11:46
bigjoolsI could make a function return "wibble" and check for that.11:46
bigjoolsdoesn't test much :)11:47
henningeNo, I think a funtion should be clear about it's interface.11:47
henningeit either communicates by raising exceptions or by returning values.11:47
StevenKIDS.check() returns None if everything is good, or it raises an exception with the problem. What's the issue?11:47
rvbaI agree with StevenK's question :)11:48
henningeif it communicates by raising exceptions, not raising one is a valid test according to the functions interface.11:48
henningeStevenK: because it changes nothing and does not improve the test.11:48
henningethe function will either raise an excpetion OR return None11:49
henningebut the None is useless11:49
bigjoolsif it returns None when everything is ok then the test needs to make sure everything is actually ok11:49
bigjoolsotherwise how do you know returning None was correct?11:49
henningebigjools: I agree that the test could check for data that was changed by a function after it completed without an exception11:50
rvbabigjools: I see this the other way around: I setup data to test for a specific case, then I test that ids.check() does not raise an exception for this case.11:50
henningeonly that a validation function should be definition not modify data ...11:50
bigjoolsrvba: I think that is a poor test11:50
henningebigjools: it is no different to testing that a constant value is returned.11:51
henningethat is equally poor and misleading11:51
rvbaand of course I have other tests to make sure the proper exceptions are raised when it's appropriate.11:51
henningebecause reading the test you think the None (or True in rvba's case) has some meaning which it does not have.11:52
bigjoolsif there are other tests to make sure that certain inputs DTRT then that excuses this test, I was just taking the test in isolation11:52
henningervba: exactly, I expected those to be there.11:52
rvbahenninge: bigjools these tests *are* already in the same file.11:52
* rvba is ready to pull the "ec2 land" trigger on this.11:53
henningervba: I expected that, otherwise some previous reviewer did a poor job ;-)11:53
henningervba: go ahead, this reviewer approves ;-)11:53
henningeand goes to lunch11:54
=== henninge is now known as henninge-lunch
jtv1Anyone here familiar with recipe builds?11:55
jtv1I pushed a change to meta-lp-deps and got some emails along the lines of "[recipe build #73739] of ~launchpad meta-lp-deps-on-demand in lucid:Chroot problem"11:56
_mup_Bug #73739: unstoppable (probably) gnome-panel looping crash <gnome-panel (Ubuntu):Invalid by desktop-bugs> < https://launchpad.net/bugs/73739 >11:56
jtv1Shut up mup.11:56
=== jtv1 is now known as jtv
StevenKChroot problem is not a recipe problem11:56
jtvNo, but I need to know what this implies.  Did something break fatally?  Do I need to push it again?11:56
StevenKNo and no11:57
StevenKSomething is broken, but you didn't break it11:57
StevenKLink me the URL in the body of the mail?11:57
* jtv digs11:57
jtvHere's one: https://launchpadlibrarian.net/77594282/buildlog.txt.gz11:58
jtvAnd: https://launchpad.net/~launchpad/+archive/ppa/+build/2721413/+files/buildlog_ubuntu-natty-i386.launchpad-dependencies_0.98%7Enatty1_CHROOTWAIT.txt.gz11:58
jtvAnd: https://launchpad.net/~launchpad/+archive/ppa/+build/2721414/+files/buildlog_ubuntu-oneiric-i386.launchpad-dependencies_0.98%7Eoneiric1_CHROOTWAIT.txt.gz11:58
StevenKCertainly not your probnlem11:58
jtvThere's also links in the sigs.  Need those?11:58
StevenKNo, I have enough11:59
StevenKjtv: When did you push, around now-ish?12:02
=== benji changed the topic of #launchpad-dev to: https:dev.launchpad.net/ | On call reviewer: henninge, benji | Critical bugs: 238 - 0:[#######=]:256
bigjoolsStevenK: when does the debian publisher run, exactly?  And do you know typically how long it takes to complete?12:03
StevenKbigjools: I have no idea.12:04
bigjoolsStevenK: ok :)  Do you know where I can find out?12:05
StevenKbigjools: Mail/bug Ganneff?12:06
jtvStevenK: Friday IIRC12:06
sorenbigjools: https://answers.launchpad.net/launchpad/+question/16159512:06
sorenbigjools: the last line is (if I'm reading it correctly) from Debian.12:07
sorenbigjools: No idea how long it takes, though.12:07
StevenKSo, based on that question, we give Debian 2 hours to run dinstall *and* for ftp.uk.debian.org to pulse and update. I don't think that's long enough.12:09
bigjoolssoren: thanks12:09
bigjoolsin fact 2h13m12:10
StevenKAnd in fact, there is another missing piece12:10
bigjoolsyes, our own rsync12:10
StevenKWhen does debmirror on iron run, since *that* is what gina pulls from12:11
StevenKjtv: Right. I think that mess has been sorted out.12:12
jtvGood, thanks.12:12
bigjoolsStevenK: 52 2,8,14,2012:12
StevenKLet me see if I can resurrect stuff12:12
bigjoolsso we give debian 1hr to publish and sync12:13
StevenKAnd sync from ftp.debian.org to ftp.uk.debian.org12:13
StevenKI don't think that's long enough12:13
bigjoolsStevenK: how do you know we get it from the uk mirror?12:13
wgrantftp.uk.debian.org shouldn't sync from ftp.debian.org12:13
wgrantIt'll sync direct from ftp-master.12:13
StevenKwgrant: Right12:14
StevenKbigjools: Since I had to help fix debmirror, and I *think* it pulls from ftp.uk.debian.org. A LOSA could confirm.12:14
bigjoolsStevenK: ok ta12:14
=== henninge-lunch is now known as henninge
jkakarI've been doing some reviews in GH with pull requests... at first glance the thing where you add comments to a diff seems nice, but in practice I miss the simple textarea from Launchpad where I can copy and paste code and review my review before I send it.12:50
jkakarWith GH the line items to add to a diff are visible, in realtime, to everyone else.12:50
jkakarSometimes fancy isn't better.12:50
sorenjkakar: I've never really used it, but it also seems to be that if the patch is revised based on the feedback, how will you be able to tell a) which line a comment pertains to now (since the line number and/or content might have changed) and b) whether it's still relevant.12:54
sorenjkakar: I tend to prefer LP's e-mail interface for code reviews, though.12:55
jkakarsoren: No idea.  I'm finding GitHub generally confusing so far and I miss a number of things from Launchpad.12:55
jkakarFor example, there's on way to specify a prerequisite branch when you create a pull request... and it isn't smart enough to figure it out for itself.12:55
wgrantjkakar: Oh, I always assumed GitHub line-based comments were still done in sort of a single transaction, like Launchpad's.12:55
jkakarwgrant: No, they're not.  They're realtime... people can respond to your comments while you're reviewing.12:56
nigelbbah, test failure12:56
jkakarWhich seems a bit useless really.  When a review is so important that you need that kind of response just phone someone and do it in person, or do it on IRC or something.12:56
jkakarPull requests also have no state beyond open and closed.  I miss 'Needs Fixing' and 'Needs Information'.  I also miss the +activereviews page where you can see pull requests you can do, that need your attention, etc.12:57
jkakarGH does have a much more polished UI than Launchpad.  And being able to follow people is pretty cool.12:57
jkakarThe biggest reasons we've switched to GH are (a) price (b) builtin wikis and (c) perceived easier UI.12:57
jkakarProbably in a, c, b order.12:58
sorenGH looks much more like an OS X app than Launchpad, yeah.12:58
jkakarsoren: Yeah.  It also has some wicked features, like builtin webhooks and builtin services like commit bots.12:58
jkakarBut the things I use on a daily basis leave me feeling a bit underwhelmed after Launchpad (bugs + merge proposals).12:58
nigelbjkakar: I always like launchpad for its +activereviews page and overall better review panel.12:58
jkakarMaybe it'll just time to get used to it.12:59
sorenjkakar: But as you point out, pull requests and issues lack of lot of metadata.12:59
jkakarnigelb: Yeah, me too.12:59
nigelbI constantly use both.12:59
StevenKI seem to be allergic to git. Every time I try and use it, I break out into bouts of vicious swearing.13:00
nigelbThere's creams for that sort of thing now :P13:00
nigelbAchivement Unlocked: Broke a bucketload of tests on landing.13:01
jkakarStevenK: The sense that I have to punch someone in the face everytime I use it is dwindling with experience.13:03
jkakarStevenK: I don't find it any faster or slower than Bazaar, which is interesting since speed is the thing everyone goes on and on about.13:04
jkakarAs far as I can tell they're the same: local operations are fast and network operations are slow.13:04
wgrantTwo years ago bzr was really slow.13:05
wgrantAnd nobody has used it since then.13:05
nigelbI *think* most of what that git can do can be accomplished with bzr.13:06
nigelbBut some are not out of the box.13:06
nigelbare co-located branches out of the box yet?13:06
wgrantVery nearly.13:06
wgrantjelmer has been working on that, I believe.13:06
wgrantBut bzr-colo does a pretty damn good job.13:07
nigelbI agree. So, the last time I checked that was my only irk, except I learn that's around in bzr too.13:07
wgrantI find colocated branches to be a downside at times.13:07
jelmeryeah, colocated branches are slowly making their way into core bzr13:07
DavieyI've noticed bzr bisect doesn't seem as reliable as git bisect, but that is meerly a module.13:08
nigelbLaunchpad UI though could use some work :)13:08
nigelbI heard there was a whole bunch of work coming that way too.13:08
jkakarI was initially quite frustrated with colocated branches (in Git) after being used to Bazaar.  I'm getting used to it.13:10
nigelbwhen you work with the github workflow more, its fun13:10
nigelbyou start doing the branching with git checkout -b, etc13:10
jkakarnigelb: I'm not having more fun yet.  Maybe that'll change.13:11
jkakarI guess so much of this is just about familiarity.13:11
nigelbjkakar: hehe, so some irritating bits in git include, things like "git st", "git co" not working. Create alias instead13:12
nigelbI got used to bzr st13:12
jkakarnigelb: I don't mind those things so much.  I can alias or adapt.13:12
nigelbsome things in git is pretty rad.13:13
jkakarnigelb: But things like git remote are confusing.  I don't care (or want) the staging area.  I know about commit -a, but I just don't want to even care about it.13:13
nigelbI agree, coming from bzr, that's a bit confusing.13:13
nigelbI somehow would like to have that in bzr13:13
nigelb(please don't stab me :P)13:14
jkakarHeh :)13:14
jkakarI don't stab.13:14
jkakarI cut.13:14
nigelbjkakar: do you use zsh? There's some neat plugins to show to you which branch you're in.13:14
nigelbMany times I've commited to the wrong branch.13:14
jkakarnigelb: No, I use bash.13:15
jkakarnigelb: You probably wouldn't commit to the wrong branch with a directory-per-branch. ;b13:15
nigelbah, so there's something I wrote which shows you which branch you're in13:15
nigelbI like the colocated feature13:15
jkakarAnyway, it's interesting to be a longtime Launchpad/Bazaar user trying tools from "the other side".13:15
nigelbIt happens to me every so often that I type bzr commit in a git repo or vice versa13:16
jkakarI've heard a lot of GH/Git users complaining about Launchpad being hard to use... so far, I miss LP, but as I said, perhaps it's just familiarity.13:16
jkakarnigelb: Yeah, I do that a lot too. :)13:16
nigelbheh :)13:16
nigelbjkakar: Did you move from Canonical or does Canonical have stuff in GH now?13:17
jkakarnigelb: I left Canonical in March.  I'm at Fluidinfo now.  We've just moved from Launchpad to GitHub this week.13:17
nigelbjkakar: Ah. Yeah, github has a pretty healthy eco-system :)13:18
jkakarnigelb: Canonical putting stuff in GH would be a pretty bad sign. :)13:18
nigelbGAH! I broke tests all over the place including soyuz.13:22
StevenKnigelb: Welcome to Launchpad13:24
nigelbStevenK: haha13:24
wgrantDon't let Soyuz consume your soul.13:24
nigelbok, I need some help with the soyuz tests because I'm not sure if parts of is my breakage13:24
nigelbI don't understand the first bit13:25
nigelblines 6 to 913:25
StevenKAh yes, doctests are fun13:25
nigelband lines 21 to 2513:25
StevenKnigelb: Right, so 6-9 are red herrings13:26
wgrantnigelb: Look at the ++++++++ bits.13:26
wgrantThose are yours.13:26
StevenKThe meat is 14 and 1713:26
nigelbI got those13:26
nigelbI fixed too.13:26
StevenKnigelb: "..." means some text13:26
StevenKAnd doctest errors suck13:26
bigjoolsdoctests show all diffs even if you didn't change it13:26
wgrantRight, only the expected text is elided.13:27
StevenKOh God, it's xx-sourcepackage-changelog.txt13:27
StevenKKill it, it's moving!13:27
nigelbthe 20 to 21 is weird, cos it shows lines added13:27
wgrantThe actual text is shown in full, which makes the diffs rather difficult to interpret.13:27
nigelbStevenK: haha13:27
bigjoolsnigelb: fix 14/17 and you're done13:27
nigelbphew, okay13:27
wgrantnigelb: 21-24 are normally captured by the '...' on 20.13:27
StevenKWhich is what is also going on with lines 6-913:28
* nigelb moves on to next set of tests13:28
bigjoolsdoctests with more than a couple of lines out output  to match are a nightmare13:28
nigelbSo much breakage.13:28
nigelbshould I have run throw the entire tests before my MP?13:28
nigelbor is this sort of breakage common?13:28
bigjoolsnigelb: BTW have you see utilities/paste?13:28
StevenKnigelb: Did you get a mail from ec2 with a subunit stream?13:29
nigelbStevenK: yes, I'm fixing breakage from that.13:29
nigelbbigjools: no, does it pastebin whatever I want it to paste?13:29
bigjoolsnigelb: yes, takes stdin13:29
nigelb(in thise case, its from my mail, so entirely useful)13:29
StevenKnigelb: testr init ; zcat <subunit> | testr load ; testr run --failing13:29
bigjoolsso bzr diff|utilities/paste is v useful :)13:29
StevenKtestr failing --list # if you want to see how many tests you broke13:30
wgrantbigjools: --syntax=diff!13:30
nigelbthat's for doctests?13:30
StevenKnigelb: No, that's in general for failures from ec213:30
nigelbbut shouldn't I need some sort of access to see that?13:30
StevenKnigelb: As in, "Aiee, I broke 100 tests, how can I be sure if I fixed them all"13:31
wgrantnigelb: To see what?13:31
nigelbStevenK: ah.13:31
nigelbwgrant: to see the out put of what StevenK said :)13:31
wgrantnigelb: It's in the email.13:31
bigjoolswgrant: I'm sure it could use file magic to do that13:31
wgrantbigjools: Probably.13:31
nigelbStevenK: subunit = bugs/soyuz etc?13:32
StevenKnigelb: Sorry, the subunit stream is the gzipped file that was attached to the mail from ec213:32
bigjoolsnigelb: watching the cricket?13:32
nigelbStevenK: AH!13:32
nigelbbigjools: No, I gave up :P13:32
bigjoolsnigelb: :D13:33
StevenKnigelb: So you can zcat it into testr load and then testr can tell you exactly which tests failed without you having to read 500,000 lines of librarian log13:33
wgrantStevenK: I think that bug is fixed now, actually.13:34
StevenKbigjools: Oh, so England has discovered that they can actually hit the ball properly if they hold the padded bit of the bat?13:34
wgrantSaw something fly past a day or two ago.13:34
bigjoolsStevenK: #1 test team.  Suckit.13:35
StevenK[r=bac][bug=828151][no-qa] Truncate the librarian log before each test run.13:35
StevenKbigjools: That would require caring about cricket. Which I don't.13:35
bigjoolsStevenK: ah so you just care about trolling about it? :)13:35
StevenKOH, ALLENAP. Come here, so I can have your babies.13:36
StevenKbigjools: Exactly!13:36
bigjoolswhat did allenap do?13:36
bigjoolsto deserve your generous offer13:37
allenapStevenK: I always hoped to get an invitation like that from an attractive woman, but it's been a long time so I guess you'll have to do.13:37
StevenKallenap: Haha13:37
bigjoolsnot sure I'd be that desperate allenap13:37
nigelbAnd here I thought StevenK was married :P13:37
StevenKallenap: IOW, *thank you* for fixing the librarian log truncation.13:37
StevenKnigelb: I am13:37
allenapStevenK: No worries, it sounds like it bothered me as much as it did you.13:38
nigelbStevenK: I know :)13:38
nigelbStevenK: btw, testr is in LP? Or do I install it separately?13:38
allenapnigelb: Separate, python-testrepository.13:39
nigelbthanks allenap :)13:39
abentleybug 82385013:39
_mup_Bug #823850: AssertionError raised upgrading a branch that doesn't need upgrade <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/823850 >13:39
nigelbfuuu, looks england might win by an innings13:40
bigjoolsnigelb: again13:40
StevenKSo India needs to hold the padded bit of the bat?13:41
nigelbbigjools: The best quote about India's perfomance was "India is like a faithful husband. Only performs at home"13:41
nigelbStevenK: Yeah :|13:41
nigelbgrar, no testr still.13:41
StevenK% dpkg -S /usr/bin/testr13:41
StevenKtestrepository: /usr/bin/testr13:41
StevenKnigelb: ^13:42
nigelbI installed everything but that. WIN.13:42
nigelbStevenK: when I do that, tests are supposed to pass?13:43
nigelbor does it just show me the ones that failed in EC213:43
StevenKnigelb: When you did which?13:44
nigelbtestr init ; zcat ~/Downloads/4595-upgrade-bug-linking-r13582.subunit.gz | testr load; testr run --failing13:44
gary_posterThank you for the galapagos hint, StevenK13:44
StevenKgary_poster: Welcome.13:45
StevenKnigelb: The last command is what runs the failing tests13:45
StevenKnigelb: If tests aren't failing, you've already fixed them? :-)13:46
nigelbok, so seeing everything fail is probably not a good thing.13:46
StevenKnigelb: Well, it's probably the expected thing13:46
nigelbwait, I know I fixed these.13:47
nigelbdoes the fix have to be committed?13:47
StevenKnigelb: You might be seeing testr load output13:47
StevenKIt spams everything to stdout13:47
gary_posterderyck, sw your reply.  perfect, thanks13:48
nigelbfailures 713:48
deryckgary_poster: np! Thank you for putting the email notes together.13:48
nigelbI can run make test to be extra sure right? (worse case)13:56
StevenKnigelb: make check, but yes13:57
StevenKnigelb: It will take AGES13:57
StevenKnigelb: Or you can ask someone to resubmit it to ec213:57
nigelbthe testr is showing me false positives.13:57
nigelbfffffuuuu, brb, production server at work died.13:58
nigelbok. back.14:01
nigelblet me look at the diff to see if I caught them all. If so I'm just going to ask someone to submit it again14:01
nigelbok, so can someone re-land https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/7157514:07
jelmerhenninge, benji: can I add a MP to your queue?14:13
benjijelmer: sure; I can do one now.14:13
jelmerbenji: thanks - it's at https://code.launchpad.net/~jelmer/launchpad/re-enable-test_import_bzrsvn/+merge/7241114:14
nigelbbenji: could you re-view and re-land my branch?14:14
benjinigelb: sure, which one?14:14
benjijelmer: done14:16
jelmerbenji: merci !14:17
bachi jelmer, your branch for bug 826136 is now next on the QA hot seat.14:23
_mup_Bug #826136: dictionary changed size during iteration <oops> <qa-needstesting> <loggerhead:Fix Committed by jelmer> < https://launchpad.net/bugs/826136 >14:23
jelmerhi Brad14:24
bacjelmer: just letting you know since i got my blocker done14:24
=== henninge changed the topic of #launchpad-dev to: https:dev.launchpad.net/ | On call reviewer: benji | Critical bugs: 238 - 0:[#######=]:256
jelmerbac: Thanks14:24
* henninge is done reviewing14:24
jelmerbac: I'm waiting for tellarium (storage space for code imports) to come back up, once that happens I'll be able to do the QA14:24
bacjelmer: great14:24
benjinigelb: I'm afraid that revision is essentially unreviewable, the diff is over thirteen thousand lines long.14:27
nigelbbenji: wait, what14:27
benjido you have a diff of just the changes you made to fix the failures?14:27
* nigelb checks14:27
nigelbbenji: ah, I merged in devel as well.14:27
nigelbThe changes are more easily reviewed on the merge page14:27
nigelbMy initial code only touched 3 files14:28
benjiI'll do that.  It would have been nicer if I knew what had been changed to fix the test failures instead of having to re-review all the changes.14:29
benjiYou could have accomplished that by merging from devel in one revision and making your changes in another.14:30
nigelbbenji: I should have. Noted for next time.14:31
benjinigelb: the branch looks good, I'm starting the landing process now14:38
nigelbbenji: thanks! Sorry again for the messed up diff.14:39
benjino worries14:39
rvbaThanks for the review benji.14:52
benjimy pleasure14:52
nigelbbigjools: its all over :(15:09
bigjoolsnigelb: a while ago :)15:09
nigelbbigjools: I wasn't actually watching. my roommate has it on and I just realized I'm listening to the presentation ceremony15:10
henningegood bye15:42
sinzuijcsackett, do you have time to mumble?15:57
jcsackettsinzui: i can mumble now.16:21
jcsackettsinzui: are you still free?16:22
=== matsubara is now known as matsubara-lunch
LPCIBotProject devel build #982: STILL FAILING in 6 hr 10 min: https://lpci.wedontsleep.org/job/devel/982/18:27
abentleyderyck: could you do a review for me?  The OCR is offline, and it should be pretty straightforward: https://code.launchpad.net/~abentley/launchpad/unnecessary-upgrade/+merge/7248018:48
LPCIBotProject db-devel build #815: STILL FAILING in 6 hr 33 min: https://lpci.wedontsleep.org/job/db-devel/815/18:53
deryckabentley: I can do it.18:57
abentleyderyck: thanks!18:58
deryckabentley: I have to go pick up my daughter from school in 15 minutes, so if I'm not done by then, I'll finish when I return.18:58
abentleyderyck: that's cool.18:58
=== matsubara-lunch is now known as matsubara
* jelmer waves to lifeless19:33
gary_posterhiya lifeless19:43
gary_posterabentley, could you take a look at https://answers.launchpad.net/launchpad/+question/168602 and either give me some advice or take it yourself, as you see fit?19:44
abentleygary_poster: looking19:44
gary_posterthank you19:44
abentleygary_poster: I doubt it's because a particular revision takes a long time.  I bet it's just because the whole branch takes a long time.19:46
gary_posterabentley, that's certainly what the log looks like.  So should I toss it to Jelmer, or say "so sorry," or...?19:47
abentleygary_poster: I think canonical staff may have done one-off imports like he's requesting in the past.19:47
gary_posterok abentley, I'll check with a losa if that is something they are familiar/comfortable with then19:48
abentleygary_poster: Okay.19:48
abentleygary_poster: comparing to "hg clone" isn't really the right comparison.  You'd want to compare to "bzr branch" with bzr-hg installed.19:49
gary_posterok abentley, I guess I could try that locally for the heck of it...19:51
=== Pilky_ is now known as Pilky
deryckabentley: looks good to me.  Sorry it took me so long.20:18
abentleyderyck: no worries.20:18
lifelessgary_poster: jelmer_: hiya20:36
jelmer_does anybody have an idea what this sort of thing might indicate:20:39
jelmer_Fault: <Fault -1: 'Unexpected Zope exception: DisconnectionError: FATAL:  database "launchpad_ftest_9581" does not exist\n'>20:39
jelmer_not enough layers?20:40
lifelessthat should be set up by your test process20:43
lifelesswhats it coming from ?20:44
jelmer_a twisted callback20:45
jelmer_hang on, I think I know what might be happening20:45
lifelesssounds like you have a test helper running after the main test process is shutdown20:45
jelmer_leftover launchpad processes; I suspect it was tlaking to one of them20:46
jelmer_killing them seems to fix the problem20:46
jelmer_lifeless, yeah, indeed20:46
lifelessflacoste: oh, I remembered one thing21:08
lifelessflacoste: you're probably gone though ...21:08
=== matsubara is now known as matsubara-afk
flacostelifeless: no, i'm still here for an hour21:09
lifelessflacoste: what do you think of us having a launchpad-sites or launchpad-deployments or something project - no code, but a place for bugs that are filed by community folk but really about how things have been deployed.21:09
flacostelifeless: you mean for things related to Launchpad deployment outside of launchpad.net?21:10
lifelessflacoste: e.g. things like the help wiki needing moin upgrades would sit there21:10
flacostelifeless: we already have a project for the help wiki though21:11
flacosteand dev21:11
lifelessor python-openid upgrades on lp-oops, or new haproxy or apache versions being needed21:11
lifelessthings like needing a shared ssl session cache21:11
flacostewe track those usually through RTs21:11
lifelessright, *we do*, but if a community member files a ticket in any of these spaces21:11
flacostewhich is obviously not community accessible currently21:11
lifelesswe have nowhere to leave it as a placeholder21:11
lifelesse.g. our moin projects are labelled 'themes'21:12
lifelesswhich does involve code changes; I'm purely talking stuff with no code21:12
lifelessanyhow, its a thought21:12
flacostelifeless: i'm not hot on the idea, but i wouldn't mind trying it out, we can assess if this pulls its weight after a while21:12
flacostewhich reminds me21:13
lifelessI'll let it percolate21:13
flacostewe should probably kill the lp-<old-team> tags21:13
flacostewe said we would eventually21:13
flacostedoesn't look like anybody misses the projects21:13
lifelessallenap: lol! love your review cover letter.21:51

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