lifeless | do we still use the keyring trust analyzer ? | 00:19 |
---|---|---|
wgrant | lifeless: I doubt it and I hope not. | 00:28 |
wgrant | But it doesn't seem to log to scriptactivity, so we'll never know. | 00:28 |
lifeless | hmm | 00:28 |
lifeless | where is that cronscripts branch | 00:28 |
wgrant | It's not in there. | 00:29 |
lifeless | ah, you checked ? | 00:29 |
wgrant | wgrant@lamuella:~/launchpad/lp-production-crontabs$ bzr grep email-clus | 00:29 |
wgrant | wgrant@lamuella:~/launchpad/lp-production-crontabs$ | 00:29 |
wgrant | It was added in 2005 and hasn't really been touched since. | 00:31 |
wgrant | I blame jamesh. | 00:31 |
wgrant | Maybe he knows something. | 00:31 |
wgrant | I suspect it's been obsolete for 5 years, but we'd best check. | 00:31 |
lifeless | I think I had something to do with it too :P | 00:31 |
lifeless | I'll just delete it. | 00:31 |
wgrant | You appear too, yes. | 00:31 |
wgrant | * robert.collins@canonical.com/launchpad--keyring-trust-analyzer--0--patch-1 | 00:31 |
wgrant | snapshotting current pgp work | 00:31 |
wgrant | But jamesh is all the later stuff. | 00:31 |
lifeless | IIRC I did the plumbing | 00:31 |
wgrant | Gets rid of stupid tests from canonical.launchpad, too. | 00:32 |
wgrant | Kill it! | 00:32 |
wgrant | Ah, I didn't do too badly last week. | 00:36 |
lifeless | ? | 00:36 |
wgrant | My stale appserver pid file is from before EOD on the Friday before! | 00:36 |
lifeless | class LogCollector(logging.Handler): | 00:37 |
lifeless | -yet- -another- -yes- | 00:37 |
wgrant | Heh. | 00:37 |
wgrant | They're mostly cleaned up! | 00:37 |
wgrant | lifeless: I guess there wasn't much fdt progress last week? | 00:44 |
lifeless | you guess well | 00:47 |
lifeless | not as much code as I hoped | 00:52 |
lifeless | 7 files changed, 750 deletions(-) | 00:52 |
wgrant | :( | 00:52 |
lifeless | can has revooo https://code.launchpad.net/~lifeless/launchpad/bug-830789/+merge/72371 | 00:59 |
wgrant | Huh, only three gpghandler methods? | 01:02 |
lifeless | indeed | 01:02 |
lifeless | I'm not sure what to do with zeca | 01:03 |
lifeless | it seems massively overkill for it to be a twisted daemon | 01:03 |
lifeless | but I'd hate to have a transitive dependency on twisted for a web.py microservice | 01:04 |
wgrant | Probably. | 01:04 |
lifeless | so I need to either rewrite it, or have two entirely separate packages with gpg support stuff | 01:04 |
lifeless | I'm thinking rewrite | 01:04 |
wgrant | lifeless: Approved, but with lint. | 01:08 |
lifeless | hah | 01:09 |
lifeless | at least its valid | 01:09 |
wgrant | Yes. | 01:09 |
lifeless | wgrant: did you see privmsg ? | 01:10 |
wgrant | Missed that, sorry. | 01:12 |
jamesh | wgrant: 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 |
wgrant | lifeless! | 02:28 |
wgrant | You deleted the pygpgme sourcecode! | 02:28 |
wgrant | Yay. | 02:28 |
wgrant | Burn! | 02:28 |
StevenK | Re-add it so we can delete it again! | 02:30 |
lifeless | wgrant: yes, I did. | 02:36 |
lifeless | wheee 1800 OOPS-2059AY24 POFile:+translate | 02:38 |
StevenK | wgrant: It moves to an egg | 02:43 |
wgrant | StevenK: Yes. | 02:43 |
wgrant | But at least it's not a patched branch in sourcecode. | 02:43 |
StevenK | Bah, why do I still have a sourcecode/shipit directory | 02:44 |
jtv | I wish the test suite wouldn't leave my /tmp full of launchpadlib caches and my swap full of librarians. | 03:58 |
lifeless | jtv: you're experiencing librarian leakage? | 04:00 |
jtv | Yes. | 04:00 |
* jtv had no idea such a word existed | 04:00 | |
lifeless | grah. I thought we'd squashed that | 04:00 |
lifeless | jtv: does that happen when no failures happen? | 04:00 |
lifeless | or only when you have failures / errors? | 04:01 |
jtv | No idea. Don't know what the lifetime of a librarian is currently supposed to be, so I have no basis for comparison. | 04:01 |
jtv | I can tell you that the launchpadlib caches and the createdb templates (whatever those may be) are leaking with successful test runs. | 04:02 |
lifeless | its meant to be the lifetime of the layer | 04:02 |
lifeless | the createdb templaes - launchpad_ftest_template_1234 ? | 04:02 |
lifeless | or launchpad_ftest_1234? | 04:03 |
jtv | Trying it again now. | 04:07 |
lifeless | the former has a lifetime of test-runner-process | 04:08 |
lifeless | the latter is a lifetime of one-test | 04:08 |
jtv | A limited test run just leaked lp.createdb.launchpad_ftest_template_13091 and lp.createdb.launchpad_ftest_template | 04:08 |
lifeless | so the leak points for them are different | 04:08 |
lifeless | jtv: oh, these are files in /tmp ? | 04:08 |
jtv | Yes | 04:08 |
StevenK | I would really like to squash the test suite creating odd files | 04:08 |
lifeless | ok, please file a bug on them leaking; | 04:08 |
lifeless | they exist to workaround postgresql behaviour on concurrent CREATE DATABASE calls | 04:09 |
jtv | StevenK: so would I. Passionately. | 04:09 |
lifeless | the former we can fix leaks of easily - when the test runner cleansup the temp template db it can remove the lock | 04:09 |
StevenK | One of the archiveuploader tests creates a strange file | 04:09 |
lifeless | the latter file is a bit harder to nuke safely | 04:09 |
jtv | lifeless: if the leak points are different, should they be the same bug? | 04:10 |
lifeless | jtv: could go either way | 04:10 |
jtv | StevenK: a big source of leaks on publisher tests for me has been the lack of publisher config pointing to temp directories. | 04:10 |
jtv | I'm trying a passing test that uses the librarian now, to see if that leaks. | 04:11 |
StevenK | jtv: I'm not really concerned about files in temporary directories -- I'm concerned about tests that dump random files into the source tree | 04:11 |
jtv | StevenK: yes, that's what I'm talking about. | 04:12 |
StevenK | steven@liquified:~% ls -1 /tmp/lp.createdb.* | wc -l | 04:12 |
StevenK | 105 | 04:12 |
StevenK | RARGH | 04:12 |
jtv | It's a good thing suspend and hibernate don't work, so I reboot regularly anyway. | 04:12 |
jtv | lifeless: a successful test with the librarian just now did not leak a librarian. | 04:13 |
lifeless | thanks | 04:13 |
jtv | I wish I had time deal with that storm problem that broke the fake librarian. :/ | 04:13 |
jtv | lifeless: bug 830845 | 04:16 |
_mup_ | Bug #830845: Tests leak "lp.createdb" files in /tmp <Launchpad itself:Triaged> < https://launchpad.net/bugs/830845 > | 04:16 |
StevenK | I bet it's nascentupload | 04:17 |
jtv | I think I just got it from running registry browser tests. | 04:18 |
StevenK | I can recall one from archiveuploader and one from code tests | 04:18 |
jtv | lifeless: these look like empty marker files. Would it help debugging to dump a stack trace into them? | 04:19 |
wgrant | Hmm, the unlock is in a finally: :/ | 04:19 |
wgrant | lifeless: 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 |
lifeless | jtv: no, they are just lock files | 04:22 |
lifeless | jtv: we use a lock to prevent calling CREATE DATABASE with the same template concurrently, because doing that breaks postgresql | 04:22 |
jtv | Exactly. If you need to know where they are leaked from, it might help to know more about where they are created. | 04:22 |
lifeless | jtv: there is only one place that makes them | 04:23 |
lifeless | jtv: the stacktrace will be identical every time | 04:23 |
jtv | OK | 04:23 |
lifeless | the one without a number in it is made when we clone launchpad_ftest_template to a per-runner template | 04:24 |
lifeless | that reduces contention on db cloning in parallel test environments | 04:24 |
lifeless | the one with a number in it is made when we clone each concrete test db (because the same code runs each time) | 04:25 |
lifeless | wgrant: which unlock ? | 04:25 |
lifeless | wgrant: 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 |
wgrant | lifeless: The recent retargeting work is unrelated. | 04:27 |
wgrant | lifeless: The lp.createdb unlock. | 04:27 |
lifeless | wgrant: I can't remember which lock system I used | 04:27 |
lifeless | wgrant: but most won't delete the lock because doing so can be racy | 04:27 |
wgrant | Ah. | 04:27 |
lifeless | e.g. with a lockdir, the lockdir itself is racy-as, but the object so locked can be locked reliably | 04:28 |
nigelb | Morning! | 04:29 |
wgrant | Hi nigelb. | 04:30 |
nigelb | Can haz review? https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/71575 | 04:30 |
nigelb | Morning wgrant | 04:30 |
nigelb | (actually, is it afternoon for you?) | 04:30 |
wgrant | It is 14:30 | 04:30 |
nigelb | Ah | 04:31 |
lifeless | not its not, its 16:30 | 04:31 |
nigelb | woah, didn't know you were living that far ahead in the future. | 04:32 |
wgrant | New Zealand doesn't exist. | 04:32 |
StevenK | nigelb: I think 'Checks if links of the form /bugs/100' should be re-worded | 04: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 |
nigelb | ah, yes. | 04:33 |
stub | I 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 |
nigelb | StevenK: At, remove the first 'if'? :) | 04:34 |
nigelb | *Aah | 04:34 |
StevenK | That sounds better | 04:34 |
wgrant | jtv: Your em dashes offend me. | 04:35 |
jtv | Good. | 04:35 |
StevenK | Dear bzr push, GO FASTER | 04:39 |
stub | No problem here with the UK, but the US? | 04:45 |
jtv | StevenK: 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 |
nigelb | StevenK: updated. | 04:47 |
StevenK | jtv: If you just ran dput dogfood <changes>, then that would explain it | 04:48 |
jtv | That's what I've always been told to run. Is it wrong? | 04:49 |
StevenK | It can be. Where do you want your uploads to go? | 04:51 |
StevenK | If you say "Onto dogfood", I'll slap you | 04: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 nicely | 04:55 | |
nigelb | heh | 04:55 |
StevenK | jtv: It depends if you are uploading to a ppa as well, you see | 04:56 |
jtv | I'm not | 04:56 |
jtv | As far as I know. | 04:56 |
jtv | I'm trying to upload to Ubuntu Ridiculous Rat | 04:56 |
StevenK | I think /ubuntu should be okay then | 04:58 |
jtv | Not /srv/launchpad.net/ubuntu-queue/ubuntu or somesuch? | 04:59 |
jtv | I mean, the poppy log suggests it's trying to write to /ubuntu | 04:59 |
jtv | (Unless it's not being very clear, which is also possible) | 05:00 |
jtv | exceptions.OSError: [Errno Path not allowed:] /ubuntu/farewell_1.0-1.dsc.tmp.1313988369.200371027.15260.1143614958 | 05:00 |
StevenK | Hm | 05:01 |
jtv | Something called rootpath seems to be empty for some reason. | 05:01 |
jtv | But it's got to be something on my end, because it was working for Raphaël. | 05:01 |
StevenK | It's been too long since I dealt with poppy | 05:01 |
jtv | Oh, no, rootpath is okay; it's just that the path does not begin with it. | 05:02 |
jtv | Maybe it needs a restart. One of the line numbers in the traceback was off by one. | 05:03 |
StevenK | jtv: My incoming = %(dogfood)s, and I think for distro uploads I use dogfood:ubuntu | 05:03 |
jtv | I was told to set incoming = %(dogfood)s/ubuntu (and then I use just dogfood, not dogfood:ubuntu) | 05:04 |
jtv | I see we have a script for starting poppy on dogfood. How do we stop poppy though? | 05:04 |
wgrant | kill; | 05:05 |
jtv | There's no pidfile? | 05:06 |
StevenK | ps aux | grep poppy | 05:07 |
jtv | Grr | 05:07 |
lifeless | there should be a pid file | 05:11 |
StevenK | It could be created on prod by start-stop-daemon | 05:12 |
wgrant | But poppy is a twistd. | 05:12 |
wgrant | There should be one. | 05:12 |
wgrant | But ps is easier than tracking it down. | 05:12 |
StevenK | It's been running for 5 minutes, so I guess jtv has restarted it | 05:13 |
jtv | Yup | 05:13 |
jtv | But I'd much prefer to automate it. | 05:13 |
nigelb | StevenK: One moreround of reviews? :) | 05:13 |
jtv | wgrant: twistd generates pidfiles by default? I didn't see anything in /var/run | 05:14 |
StevenK | nigelb: I didn't review the last one? | 05:14 |
StevenK | It does, yes. The default is ./twistd.pid | 05:14 |
StevenK | Which has to be the most useless thing EVER | 05:14 |
jtv | /var/tmp/poppy/poppy.pid! | 05:14 |
nigelb | StevenK: Oh. If you're busy, should I wait for OCR? | 05:15 |
StevenK | jtv: Which is wrong | 05:15 |
jtv | Oh | 05:15 |
jtv | It's definitely got the wrong pid in it, yes | 05:15 |
StevenK | And was created over 18 months ago | 05:15 |
jtv | Yup. Delete. | 05:15 |
StevenK | nigelb: It gets awkward when jtv starts arguing with himself | 05:15 |
nigelb | Hehe | 05:16 |
StevenK | jtv: So we can fix startpoppy.sh to write a pid file | 05:16 |
StevenK | Personally, I don't care at all. | 05:17 |
StevenK | I track it down via ps and shoot it in the face | 05:17 |
jtv | Which is wonderful makework but personally I'd like to avoid participating in it. | 05:17 |
StevenK | Then don't complain when poppy doesn't have a pid file :-P | 05:18 |
* nigelb looks for another interesting bug to start work on. | 05:20 | |
jtv | StevenK: 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 |
lifeless | wow, mega disrupted day. where did it go. | 05:21 |
stub | How do I create a private branch again? Registering a branch before push only seems to let me do a +junk branch | 05:24 |
wgrant | stub: code.launchpad.net/launchpad | 05:25 |
lifeless | OTOH 2 branches landed | 05:26 |
lifeless | stub: we should do a catchup call; we missed last week (but not right now) | 05:26 |
stub | k | 05:27 |
stub | Think we missed the previous week too :-) | 05:27 |
nigelb | what's the recommended way to update devel? | 05:27 |
nigelb | rocketful-get or just doign bzr pull inside it? | 05:27 |
nigelb | I've done rocketful-get, but I don't know if its "The Right Way (tm)" | 05:29 |
wgrant | rocketfuel-get is a good way to make sure sourcecode/download-cache/devel are up to date. | 05:29 |
nigelb | hmm, wonder rif I can get two branches landed on same day. *tries* | 05:30 |
lifeless | stub: we got the week before ;) | 05:31 |
lifeless | anyhpw | 05:32 |
lifeless | -> groceries | 05:32 |
jtv | StevenK: the dogfood:ubuntu did do the trick after all, thanks! | 05:35 |
jtv | I thought the "/ubuntu" in my config would obviate that. | 05:35 |
jtv | BTW poppy has a pidfile now, and startpoppy.sh has a sibling stoppoppy.sh. | 05:35 |
nigelb | all information related to user profile like timezone, go into registry, right? | 05:35 |
stub | What changed with gpgme recently? | 05:48 |
wgrant | We're using an egg instead of a branch. | 05:49 |
StevenK | Which is good. | 05:49 |
wgrant | No. | 05:50 |
wgrant | It's just better than a branch. | 05:50 |
stub | Make is failing until devel is merged in | 05:53 |
wgrant | poolie: You no longer need to retarget to null. | 05:53 |
wgrant | poolie: 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 |
stub | We 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 |
nigelb | ok, small world. I just realized who the author of pytz is. | 05:58 |
wgrant | stub: It's not tested end-to-end, no. | 05:59 |
wgrant | stub: That would be difficult, as I don't think testopenid supports logout. | 05:59 |
stub | Which would have been the next roadblock :-P | 06:00 |
wgrant | (it doesn't support login) | 06:00 |
stub | It 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 |
wgrant | The redirect path is launchpad->codebrowse->OP | 06:02 |
StevenK | stub: There's a special make run for codehosting on .dev | 06:02 |
wgrant | I don't think testopenid.dev exposes a logout interface. | 06:02 |
stub | Or is it just my setup that doesn't have a working bazaar.launchpad.net? | 06:02 |
wgrant | Because it doesn't have authentication. | 06:02 |
StevenK | run_codehosting or something | 06:02 |
wgrant | Well, doesn't cache authentication. | 06:03 |
stub | So it would be a noop | 06:03 |
lifeless | we should move auth cookie maintenance to a microservice anway | 06:03 |
wgrant | It's SSO all the way down? | 06:03 |
* stub has a single line fix and no way to test it | 06:03 | |
wgrant | stub: Oh? | 06:04 |
lifeless | wgrant: well, one possibility is to talk directly to sso; but that won't work with being openid consumer unless we teach sso about that too | 06:04 |
stub | I'll try getting a codehosting setup running locally | 06:04 |
stub | So the hardcoded redirect path works | 06:04 |
lifeless | wgrant: another possibility is a microservice (xmlrpc on the main appservers initially) which maintains session cookies | 06:04 |
jtv | StevenK, wgrant: any objections to a publish-ftpmaster run on dogfood? | 06:05 |
wgrant | lifeless: Oh, you mean for codebrowse? | 06:06 |
stub | lifeless: 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 |
StevenK | stub: 'make run_codehosting' rather than 'make run' | 06:06 |
wgrant | jtv: None. | 06:06 |
lifeless | stub: it removes the cookies from those domains | 06:06 |
StevenK | jtv: Only that it will take EONS | 06:06 |
jtv | StevenK: all the more reason to get started as soon as possible! | 06:06 |
stub | lifeless: How does that work without requiring the authentication being treated as a web bug and blocked? | 06:07 |
jtv | Also, this run shouldn't take as long as normal ones do. | 06:07 |
lifeless | stub: let me check an assumption: these are all LP domains right ? *.launchpad.net ? | 06:07 |
wgrant | lifeless: Not quite. We go all the way through to SSO. | 06:08 |
stub | oh, yes. So no idea why we need to bounce through codehosting. | 06:08 |
wgrant | Well, unless you count login.launchpad.net as *.launchpad.net, in which case get out. | 06:08 |
lifeless | wgrant: I do | 06:08 |
wgrant | Die. | 06:08 |
lifeless | anyhow | 06:08 |
wgrant | Don't mess with SSO. | 06:08 |
wgrant | login.launchpad.net is hopefully not long for this world. | 06:08 |
lifeless | redirecting to SSO isn't what I was mumbling about. | 06:08 |
wgrant | We should treat it opaquely. | 06:09 |
lifeless | it was codebrowser + the wikis | 06:09 |
lifeless | which we only slightly log out of at the moment | 06:09 |
wgrant | The wikis aren't part of LP yet.... I'm not sure we should go near them. | 06:09 |
lifeless | anyhow, the real key point is we don't need to clear the cookie | 06:09 |
lifeless | we need to invalidate the session | 06:09 |
wgrant | Yes. | 06:10 |
lifeless | which is really quite different | 06:10 |
wgrant | We need to rewrite all our session management for everything. | 06:10 |
wgrant | Because it's wrong and inconsistent and hard to manager. | 06:10 |
lifeless | s/r\././ | 06:10 |
wgrant | Yes. | 06:10 |
wgrant | I can't type. | 06:10 |
lifeless | aiieee | 06:11 |
lifeless | that paged in a phil collins song | 06:11 |
stub | logout is still broken running run_codehosting | 06:11 |
wgrant | Hah. | 06:11 |
StevenK | stub: What happens in that situation? | 06:11 |
stub | I don't seem to have bazaar.launchpad.dev | 06:11 |
wgrant | StevenK: 503 | 06:11 |
lifeless | check your hosts | 06:11 |
lifeless | StevenK: you don't get logged out | 06:12 |
wgrant | Well, you only get logged out of LP. | 06:12 |
wgrant | Rather than LP+codebrowse+SSO | 06:12 |
StevenK | % grep bazaar.launchpad.dev /etc/hosts | 06:12 |
StevenK | 127.0.0.99 bazaar.launchpad.dev | 06:12 |
lifeless | which is still horribly partial | 06:12 |
lifeless | do we invalidate api tokens too | 06:12 |
lifeless | ? | 06:13 |
wgrant | Not sure if serious. | 06:13 |
=== jtv is now known as jtv-eat | ||
lifeless | me? I am, logging out really should Log You Out. | 06:15 |
wgrant | What if I want my many cronscripts to not need resetting every time I want to log out on some machine somewhere? | 06:16 |
lifeless | provide an advanced partial logout | 06:16 |
lifeless | sane defaults and all that | 06:16 |
lifeless | your many cronscripts case is not the common case | 06:16 |
wgrant | So logging out on one machine should log you out of *all* machines? | 06:16 |
wgrant | There should be a way to revoke sessions and tokens, sure. | 06:16 |
wgrant | But having that be the default is insane. | 06:16 |
stub | INF [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 |
wgrant | lifeless! | 06:17 |
lifeless | stub: thank you! | 06:17 |
wgrant | lifeless: Does any other webapp do the s/Log Out/KILL EVERYTHING/ thing you are suggesting? | 06:17 |
lifeless | fixing | 06:17 |
wgrant | I've never seen it. | 06:17 |
lifeless | wgrant: its recommended by security folk AIUI | 06:18 |
wgrant | I've seen revoking all sessions and tokens on *password changes* recommended. | 06:18 |
wgrant | But never on logout. | 06:18 |
lifeless | wgrant: the distinction between oauth, browser session and machine session is not well understood by casual users | 06:18 |
wgrant | So we should make the default action blow everything up for advanced users? | 06:18 |
stub | tokens 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 |
wgrant | Let me just log out... | 06:19 |
wgrant | Oh fuck now I have to reauthorize 30 scripts on 10 servers. | 06:19 |
lifeless | wgrant: don't conflate default-setting with UI | 06:19 |
lifeless | we 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 |
stub | Logout isn't logout everywhere - it is logout the web browser. Not logout on your laptop too, and deauthorize all your other clients. | 06:20 |
lifeless | stub: this is exactly the point, that subtlety is lost on casual users. | 06:20 |
lifeless | stub: they don't understand that e.g. the 'log in with gmail' button establishes a persistent 3rd party session | 06:21 |
stub | It doesn't | 06:21 |
stub | (ok - replace with twitter oauth argument) | 06:21 |
wgrant | We 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 |
wgrant | But the browser logout button should log the browser out. | 06:22 |
wgrant | Not destroy the world. | 06:22 |
nigelb | from where does things go into the context? | 06:22 |
stub | I 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 |
wgrant | In a view, 'context' is normally the object that the view is on. | 06:23 |
wgrant | nigelb: ^^ | 06:23 |
wgrant | stub, lifeless: Facebook doesn't do this, AFAIK. | 06:24 |
wgrant | And if Facebook doesn't, then I think even non-technical users are probably not too terrible about this concept. | 06:24 |
nigelb | wgrant: argh. So, how would I add a variable to that? | 06:24 |
lifeless | ugh | 06:24 |
wgrant | (replace "Facebook" with "99% of websites on the Internet" and it will still fit) | 06:24 |
lifeless | its wsgi oops thats broken | 06:24 |
lifeless | fixing | 06:24 |
lifeless | who knew... http://www.python.org/dev/peps/pep-0333/#the-start-response-callable | 06:24 |
stub | wgrant: No, which surprises people when they change their twitter password and linkedin is still connecting. | 06:25 |
wgrant | nigelb: Find the class, add an attribute to it. | 06:25 |
stub | wgrant: But that is password change | 06:25 |
wgrant | stub: Yes. | 06:25 |
nigelb | wgrant: the class I found from configure.zcml, but I can't find the other attributes defined there, which confuses me. | 06:25 |
wgrant | stub: 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 |
wgrant | But on logout is just insane. | 06:26 |
stub | wgrant: 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 |
wgrant | stub: JS just uses the cookie for now. | 06:27 |
wgrant | We should certainly make it easy to do. | 06:27 |
wgrant | At present there's no way to revoke a remote machine's session. | 06:28 |
wgrant | Unless you are stub. | 06:28 |
stub | urg | 06:28 |
wgrant | s/machine/browser/ | 06:29 |
stub | thought you meant an oauth token there :) | 06:30 |
wgrant | No, those have had a view to manage them since day 1 :) | 06:31 |
wgrant | Anybody up for a rather trivial review? https://code.launchpad.net/~wgrant/launchpad/bug-830803/+merge/72378 | 06:36 |
wgrant | And https://code.launchpad.net/~wgrant/launchpad/bug-830849/+merge/72379 is a little bigger. | 06:36 |
StevenK | wgrant: r=me for the first. | 06:39 |
StevenK | wgrant: For the second, r=me, if there are already tests for _syncSourcePackages | 06:40 |
lifeless | stub: http://paste.ubuntu.com/672219/ should fix it for you | 06:40 |
lifeless | stub: I'm working on a test now | 06:40 |
lifeless | stub: (thats to python-oops-wsgi, easiest way is for you to checkout the trunk, set develop= . ../path/to/that/checkout and run bin/buildout again | 06:41 |
stub | Nah, its easier to do something else until it winds its way through ;) | 06:41 |
wgrant | StevenK: 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 |
StevenK | wgrant: In that branch itself? | 06:43 |
wgrant | StevenK: Yes. | 06:43 |
nigelb | StevenK: review? https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/71575 :D | 06:43 |
StevenK | nigelb: You know, stub is OCR today :-P | 06:44 |
nigelb | Is there a page saying who's reviewing when? | 06:45 |
wgrant | https://dev.launchpad.net/ReviewerSchedule | 06:45 |
nigelb | ah | 06:46 |
nigelb | stub: could you review the brach above? | 06:46 |
nigelb | :) | 06:46 |
stub | yo | 06:46 |
stub | nigelb: 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 |
wgrant | Hahahah | 06:50 |
wgrant | He was doing that, but then lifeless said they were the same case :) | 06:50 |
nigelb | That ^ | 06:50 |
nigelb | Also, its similar to what happens in the UI. | 06:51 |
nigelb | I'm open to changing the text to make it clearer. | 06:51 |
stub | I 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 |
nigelb | So, 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 |
wgrant | nigelb: We treat invisible private bugs as not existing. | 06:53 |
wgrant | Say 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 |
stub | nigelb: 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 |
nigelb | I'm confused now. | 06:54 |
wgrant | *Test* both cases. | 06:54 |
nigelb | In one case, there's a private bug you have access to, it linkifies correctly. | 06:54 |
wgrant | The cases behave the same way. | 06:55 |
stub | nigelb: 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 |
wgrant | But test both. | 06:55 |
nigelb | stub: It does that. | 06:55 |
nigelb | The private bug case linkifies correctly if you do have permission | 06:55 |
stub | make_invalid_bug_links returns a single link, a link to a private bug. | 06:55 |
nigelb | My test case, however, uses a user who doesn't have access. | 06:55 |
nigelb | wgrant: Grar, lifeless told me to do the opposite. | 06:56 |
stub | Right. So we are testing that we handle private bugs correctly, but not utterly broken urls | 06:56 |
nigelb | Test one case since it should behave the same anyway. | 06:56 |
wgrant | nigelb: Yes. Normally I would agree. but this is a bit of an odd case, and I disagree with him. | 06:56 |
stub | Unless we defer that to searchBugs | 06:56 |
nigelb | Ok, so how do I create an invalid bug for sure? | 06:57 |
nigelb | (inside a test) | 06:57 |
stub | Bug a helper called 'make_invalid_bug_links' that returns a perfectly valid bug would certainly need a comment to avoid a WTF. | 06:57 |
nigelb | heh | 06:57 |
stub | nigelb: make a bug and add one to its id would be good enough. | 06:57 |
nigelb | okay, 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 |
lifeless | jml: hi | 06:58 |
lifeless | stub: wgrant: testing the behaviour of searchIds is inappropriate for a view test :( | 06:59 |
wgrant | lifeless: It's a very unobvious implementation detail. | 07:00 |
wgrant | I think it's reasonable to test it here, as long as it's not too long. | 07:00 |
lifeless | mmm, this is really just exposing searchIds on an adhoc API | 07:00 |
stub | lifeless: make_invalid_bug() that returns a valid bug is WTF. | 07:00 |
lifeless | stub: the test being unclear ? sure :) | 07:00 |
nigelb | wtf, gpgme error when I run tests. | 07:01 |
stub | nigelb: Merge devel, run make. | 07:01 |
nigelb | okay. | 07:02 |
stub | nigelb: So lifeless and me sort of agree. | 07:02 |
nigelb | okay | 07:02 |
=== jtv-eat is now known as jtv | ||
nigelb | so just add a comment to the test? | 07:02 |
stub | That 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 |
lifeless | https://code.launchpad.net/~lifeless/python-oops-wsgi/extraction/+merge/72380 can has review | 07:04 |
lifeless | stub: I'll land it with a version bump and do a new egg etc after the review | 07:04 |
lifeless | actually I see you are distracted | 07:07 |
lifeless | I will land a 0.0.2 tarball + lp simple tweak to use it, and you can review later. | 07:08 |
wgrant | StevenK: Test added. | 07:11 |
nigelb | stub: updated, could you land it as well? | 07:11 |
jtv | lifeless: I'll review it. | 07:12 |
lifeless | ok, man sensible-browser lies | 07:13 |
nigelb | I'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 |
lifeless | jtv: thanks | 07:15 |
lifeless | nigelb: I would do it in the formatting of the field | 07:15 |
stub | nigelb: ok | 07:16 |
nigelb | lifeless: 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 |
nigelb | stub: Thanks! | 07:16 |
jtv | lifeless: done | 07:17 |
lifeless | nigelb: well, start with the view | 07:17 |
lifeless | nigelb: see what it does, does it do a formatter call, or access an attribute of the timezone object.. | 07:17 |
nigelb | it access a context variable | 07:17 |
lifeless | jtv: you may not know this , but pep8 mandates indent by 8 for function call continuation lines | 07:18 |
jtv | I didn't, no. | 07:18 |
jtv | So does that mean we're going to have a mess of inconsistent indentations now? | 07:19 |
lifeless | its under code layout 'When using a hanging indent the following | 07:19 |
lifeless | considerations should be applied; there should be no arguments on the | 07:19 |
lifeless | first line and further indentation should be used to clearly distinguish | 07:19 |
lifeless | itself as a continuation line.' | 07:19 |
lifeless | jtv: uhm, I don't know what we should do in LP itself; these new trees are pure PEP8 though | 07:20 |
lifeless | jtv: so I wouldn't expect any inconsistency within a single project | 07:20 |
jtv | Phew. :) | 07:20 |
wgrant | lifeless: You mean function definition? | 07:20 |
jtv | Although I must say the 8-char indent would help the broken-if-condition situation. | 07:20 |
jtv | wgrant: no, this is function call. | 07:20 |
lifeless | wgrant: it applies to both | 07:21 |
wgrant | # Further indentation required as indentation is not distinguishable | 07:21 |
lifeless | wgrant: function calls are listed as optional | 07: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 |
wgrant | I'mnot seeing the mandated indentation by 8 for function calls. | 07:22 |
wgrant | Only function definitions. | 07:22 |
lifeless | wgrant: its a contextual rule, not specific to function definition or calling | 07:22 |
jtv | wgrant: 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 distinguish | 07:23 |
wgrant | itself as a continuation line. | 07:23 |
nigelb | please use etherpad? | 07:23 |
wgrant | For a function call it is already clearly distinguished. | 07:23 |
lifeless | wgrant: yes, thats what I quoted above:) | 07:23 |
wgrant | There's no following block. | 07:23 |
lifeless | wgrant: not always (e.g. call within an if) | 07:23 |
wgrant | Huh? | 07:23 |
wgrant | Oh, within an if statement, not an if block? | 07:24 |
lifeless | correct | 07:24 |
lifeless | jtv: the del exc_info is there to avoid circular references | 07:24 |
lifeless | jtv: its advised by the wsgi pep | 07:24 |
jtv | I 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 | ||
lifeless | jtv: it puts its hand up in the air, runs around and gibbers. | 07:25 |
jtv | Oh, OK. That makes sense. | 07:25 |
lifeless | jtv: some of the time this works, other times it leaves uncollectable objects. | 07:25 |
wgrant | lifeless: I still see nothing that suggests two levels of indentation for normal function calls. | 07:26 |
lifeless | s/objects/cycles. | 07:26 |
jtv | lifeless: don't forget the closing / | 07:26 |
lifeless | jtv: a cycle of objects is uncollectable (today) if any have __del__ | 07:26 |
jtv | To avoid the horrors of object revival through finalization? | 07:27 |
lifeless | jtv: so avoiding cycles is pretty important for library code. | 07:27 |
* jtv loves constructors, hates finalizers | 07:27 | |
lifeless | jtv: to avoid race conditions or injecting altered state into the objects | 07:27 |
lifeless | e.g. A -> B -> A, and A has a __del__ | 07:27 |
lifeless | if you delete B first, A's __del__ might use B and boom. if you delete A first, its ok. | 07:28 |
lifeless | I don't recall if the gc handles one __del__ ok, or only fails when there are two involved. | 07:28 |
jtv | Or as I put it, the horrors of object revival through finalization. :) | 07:28 |
lifeless | IIRC it just taints the cycle when it finds a __del__ and moves on. | 07:28 |
lifeless | one common trick, while we're on this, is to have A -> B, C then B->A and C has the __del__ | 07:29 |
lifeless | it handles that just fine | 07:29 |
jtv | EPARSE | 07:31 |
jtv | A→B, C? | 07:31 |
lifeless | A holds a reference to B and C | 07:31 |
lifeless | B holds a reference to A | 07:31 |
jtv | Ah. | 07:31 |
lifeless | 'points at' :) | 07:31 |
jtv | Not what I meant. | 07:31 |
jtv | "A → B, C then B→A and C has the __del__" is ambiguously scoped. | 07:32 |
lifeless | jtv: how would you layout the dict better? even out of the assert those lines are just too long | 07:33 |
lifeless | they are already only 4 characters in | 07:33 |
jtv | One item per line, with comma after each item. | 07:34 |
jtv | AHHHH | 07:34 |
jtv | Ignore me. I think I just figured out why I couldn't get something to work. | 07:35 |
lifeless | jtv: so the problem bit isn't in the dict, its the expected start_response args | 07:36 |
jtv | lifeless: could be—a bit hard to say given the current layout. | 07:36 |
lifeless | jtv: how does this grab you | 07:37 |
lifeless | http://paste.ubuntu.com/672245/ | 07:37 |
adeuring | good morning | 07:37 |
jtv | lifeless: Gently and not altogether unpleasantly. | 07:37 |
jtv | Even so, I may sue. | 07:38 |
lifeless | is that +1? | 07:38 |
jtv | hi adeuring. I bet you're wondering what all that was about, but you missed it and now it's too late. | 07:38 |
jtv | lifeless: yes | 07:38 |
adeuring | ? | 07:38 |
jtv | :-P | 07:39 |
lifeless | hmm | 07:42 |
lifeless | lxc-stop -n lucid-test-lp is dropping my box of the network for 60 seconds | 07:43 |
lifeless | this is not coincidentally the default bridge watchdog timeout | 07:43 |
lifeless | no liky | 07:43 |
lifeless | stub: all the bits you need are in trunk | 07:44 |
stub | ta | 07:44 |
lifeless | stub: I suspect loggerheads is further broken based on lp's qastaging behaviour | 07:44 |
lifeless | stub: ... so please try before I sleep :) | 07:45 |
mthaddon | lifeless: sorry, I'm stealing stub at the moment for some emergency U1 work | 07:45 |
stub | Got u1 replication, then I need to guilt mthaddon into doing the pgbouncer LP config updates | 07:45 |
mthaddon | heh | 07:45 |
henninge | hm, was the StyleGuide overview page removed from the dev wiki on purpose? | 07:53 |
henninge | https://dev.launchpad.net/StyleGuides | 07:53 |
henninge | It's still linked from here https://dev.launchpad.net/PatchSubmission | 07:53 |
lifeless | jml: ping | 08:08 |
jtv | hi henninge! Review? https://code.launchpad.net/~jtv/launchpad/post-824553/+merge/72389 | 08:15 |
henninge | jtv: r=me | 08:16 |
jtv | thanks | 08:17 |
henninge | although I had to look up the exact meaning of "vestigial" ... ;-) | 08:17 |
jtv | rvba: it prints None. | 08:18 |
jtv | henninge: good, so we're all learning. :) | 08:18 |
rvba | jtv: arg ... thank you! | 08:18 |
jtv | rvba: want me to make any changes? | 08:18 |
mrevell | Hello | 08:18 |
rvba | jtv: I'll change it a bit and ask you to run it again if you don't mind, thanks for the offer :) | 08:19 |
jtv | OK | 08:19 |
jtv | hi mrevell | 08:19 |
rvba | jtv: http://paste.ubuntu.com/672274/ | 08:20 |
jtv | coming | 08:20 |
jtv | rvba: pretty-printed for your convenience… http://paste.ubuntu.com/672278/ | 08:22 |
rvba | jtv: thank you! | 08:23 |
jtv | rvba: by the way, the default argument for dict.get defaults to None. | 08:23 |
jtv | So {}.get('x') == None. | 08:23 |
rvba | jtv: ah, right :) | 08:24 |
rvba | Thanks | 08:24 |
jtv | rvba: I still have the shell open so if there's anything more you need from that variable, say the word. | 08:24 |
rvba | jtv: great, I'll ask you if I need another execution on "real" data. | 08:25 |
jml | lifeless: hi | 08:30 |
jml | lifeless: got a call w/ rickspencer3 scheduled now. let me juggle a bit | 08:31 |
lifeless | jml: FYI its now 2030 | 08:31 |
lifeless | jml: we're about to eat | 08:31 |
jml | lifeless: oh, ok. then go eat. | 08:31 |
lifeless | jml: in about 15 I'll be available | 08:31 |
jml | lifeless: ok, thanks. | 08:31 |
stub | AttributeError: https://api.launchpad.net/1.0/~nigelbabu/launchpad/4595-upgrade-bug-linking object has no attribute 'queue_status' | 08:38 |
stub | Anyone else having issues with ec2 land? | 08:38 |
StevenK | That's a branch | 08:38 |
StevenK | Not an MP | 08:38 |
stub | ahh | 08:39 |
nigelb | er, do I need to do anything? :) | 08:39 |
StevenK | nigelb: Yes. Tell stub he is a numpty :-P | 08:39 |
stub | A better reviewer? | 08:39 |
StevenK | Haha | 08:39 |
StevenK | stub: It used to say "Entry" object has no attribute, which was ... handy | 08:40 |
nigelb | heh | 08:40 |
stub | raise PEBKAC("You suck") | 08:40 |
stub | Thats better - back to the usual 3rd world ISP issues | 08:42 |
nigelb | My first non-trival branch to LP! :) | 08:46 |
nigelb | Meaning of course my code diff is comparable to the size of the tests diff. | 08:46 |
lifeless | jml: ok | 08:48 |
jml | lifeless: hi | 08:51 |
jml | lifeless: skype? | 08:51 |
lifeless | sounds good | 08:51 |
lifeless | jml: except | 08:51 |
lifeless | jml: its evening here and my isp is fail | 08:51 |
lifeless | jml: can you ring my landline ? | 08:51 |
jml | lifeless: oh. sure. | 08:51 |
lifeless | e..g skypeout to that | 08:52 |
jml | yeah, I have skypeout. | 08:52 |
stub | nigelb: Have you done all the contributer's agreement stuff? | 08:52 |
nigelb | stub: Yeah. Its my 6th branch :) | 08:53 |
stub | Cool. | 08:53 |
jml | lifeless: I dialled the number in the directory. Got a beep, then no sound. | 08:53 |
=== danilo_ is now known as danilos | ||
jtv | jelmer: 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 |
jelmer | jtv: I checked up on it yesterday, but it appears that tellarium is down at the moment and that blocks my QA. | 09:00 |
jtv | Ah. Sometimes I wonder if IS sprints are organized just to remind us to appreciate our admins. :) | 09:00 |
jelmer | (-: | 09:00 |
jamesh | lifeless: sorry for the late feedback, but I did find one obvious problem with python-oops-wsgi: https://bugs.launchpad.net/python-oops-wsgi/+bug/830931 | 09: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 |
wgrant | jamesh: http://bazaar.launchpad.net/~canonical-launchpad-branches/python-oops-wsgi/trunk/revision/9 might be relevant. | 09:11 |
jamesh | ah. probably should have checked that before filing the bug report | 09:12 |
wgrant | It's only a couple of hours old :) | 09:12 |
danilos | bigjools, 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 |
bigjools | danilos: it's not a launchpad issue, it's either an RT or a buildd problem | 09:14 |
StevenK | Or a Xen bug | 09:15 |
bigjools | indeed | 09:15 |
wgrant | Or a package bug. | 09:15 |
bigjools | I'd retarget to buildd and raise an RT | 09:15 |
danilos | bigjools, ok, I'll do that, but what should I put in the RT? | 09:16 |
bigjools | danilos: link to the sme build pages as in the bug | 09:16 |
bigjools | same* | 09:16 |
bigjools | and ask if it's a buildd problem | 09:17 |
=== mrevell_ is now known as mrevell | ||
nigelb | mrevell: hi! | 09:21 |
=== almaisan-away is now known as al-maisan | ||
mrevell | Hey there nigelb :) | 09:29 |
nigelb | mrevell: Morning! Were you able to look into that bug? :) | 09:29 |
mrevell | nigelb, 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 |
nigelb | mrevell: Yeah, that sounds good. | 09:30 |
mrevell | nigelb, 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 |
danilos | bigjools, 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 | ||
bigjools | danilos: leave it with me | 09:35 |
danilos | bigjools, ack | 09:35 |
danilos | thanks | 09:35 |
nigelb | mrevell: sounds good :) | 09:35 |
allenap | those 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 |
bigjools | StevenK, wgrant: can you think of how we could possibly close LP bugs when syncing? The current code requires a changes file. | 10:11 |
bigjools | which ain't gonna fly for syncs | 10:11 |
nigelb | gah @ qastaging timeouts | 10:13 |
wgrant | bigjools: We'll have to parse them from the changelog-since-base manually. | 10:15 |
bigjools | they are mentioned there? | 10:15 |
=== mrevell_ is now known as mrevell | ||
bigjools | as in, Debian changlogs reference LP bugs? | 10:16 |
wgrant | bigjools: Occasionally, yes. Most Ubuntu developers, and some Debian-only developers, put LP bug references in Debian uploads when they fix LP bugs. | 10:16 |
wgrant | So they can sync through and the bugs sort themselves out. | 10:17 |
bigjools | ok ta | 10:17 |
rvba | henninge: Hi, could you have a look at these 2 (tiny) MPs? | 11:12 |
rvba | https://code.launchpad.net/~rvb/launchpad/ids-fix/+merge/72398 | 11:12 |
rvba | https://code.launchpad.net/~rvb/launchpad/queue-bug-830983/+merge/72406 | 11:12 |
henninge | rvba: Hi! Having a look ... | 11:12 |
rvba | ta | 11:13 |
henninge | rvba: IDS = "Intrusion Detection System" ? | 11:14 |
rvba | henninge: InitializeDistroSeries ;) | 11:14 |
henninge | ;-) | 11:14 |
henninge | First line of diff reveals it but it confuses in the cover letter ... | 11:15 |
henninge | rvba: why did you move those methods in test_initialize_distroseries.py? | 11:25 |
rvba | henninge: To put them in InitializationHelperTestCase which is the base class for the new tests in test_initderiveddistroseries.py. | 11:26 |
rvba | henninge: And of course because the new tests use them. | 11:27 |
henninge | rvba: ok | 11:27 |
rvba | henninge: 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 |
rvba | branches* | 11:28 |
henninge | rvba: why did you add the "return true" | 11:29 |
henninge | ? | 11:29 |
henninge | rvba: did you just do it so you can use "assertTrue"? | 11:29 |
rvba | henninge: Exactly. | 11:29 |
henninge | rvba: no need for that | 11:30 |
rvba | For the test to be more "explicit". | 11:30 |
rvba | More "readable". | 11:30 |
henninge | rvba: but it is not, it is more confusing ;-) | 11:30 |
bigjools | better to assert the behaviour | 11:30 |
rvba | henninge: The behavior is that no exception is raised. | 11:30 |
henninge | I understand that | 11:30 |
henninge | but your test does not mention that. | 11:31 |
rvba | I could assert that it returns None. | 11:31 |
henninge | it never returns "False" so there is no point in "assert True" | 11:31 |
henninge | but that is not what you are testing ... | 11:31 |
rvba | henninge: makes sense, so you would recommend changing that to assert that None is returned then. | 11:32 |
rvba | ? | 11:32 |
henninge | rvba: it is perfectly fine to just call the method under test and add a comment like "This should not raise an exception" | 11:32 |
henninge | rvba: no, assert nothing | 11:32 |
henninge | (and remove the "return true") | 11:32 |
rvba | Okay. | 11:32 |
henninge | then everybody knows you are just running it to see if it won't raise an exception. | 11:33 |
henninge | rvba: that's why we have "assertRaises" but we don't have "assertRaisesNot" ... ;-) | 11:33 |
henninge | rvba: Same issue with the other branch. | 11:38 |
rvba | henninge: Yep, I'm fixing this right now. | 11:38 |
henninge | rvba: cool, thanks ;-) | 11:38 |
henninge | r=me with those fixes. | 11:38 |
rvba | henninge: thanks a lot! | 11:39 |
bigjools | henninge, rvba: if something isn't raising an exception then presumably something else happened which can be tested? | 11:45 |
henninge | bigjools: that is a good point! | 11:45 |
rvba | bigjools: this is IDS.check() so completing without raising an exception is what I want to test. | 11:45 |
bigjools | rvba: that's not a good test though | 11:46 |
StevenK | I think .check() returns None if everything was fine | 11:46 |
rvba | StevenK: exactly | 11:46 |
StevenK | So assert that it did so, and you're good | 11:46 |
bigjools | I could make a function return "wibble" and check for that. | 11:46 |
bigjools | doesn't test much :) | 11:47 |
henninge | No, I think a funtion should be clear about it's interface. | 11:47 |
henninge | it either communicates by raising exceptions or by returning values. | 11:47 |
StevenK | IDS.check() returns None if everything is good, or it raises an exception with the problem. What's the issue? | 11:47 |
rvba | I agree with StevenK's question :) | 11:48 |
henninge | if it communicates by raising exceptions, not raising one is a valid test according to the functions interface. | 11:48 |
henninge | StevenK: because it changes nothing and does not improve the test. | 11:48 |
henninge | the function will either raise an excpetion OR return None | 11:49 |
henninge | but the None is useless | 11:49 |
bigjools | if it returns None when everything is ok then the test needs to make sure everything is actually ok | 11:49 |
bigjools | otherwise how do you know returning None was correct? | 11:49 |
henninge | bigjools: I agree that the test could check for data that was changed by a function after it completed without an exception | 11:50 |
rvba | bigjools: 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 |
henninge | only that a validation function should be definition not modify data ... | 11:50 |
bigjools | rvba: I think that is a poor test | 11:50 |
henninge | bigjools: it is no different to testing that a constant value is returned. | 11:51 |
henninge | that is equally poor and misleading | 11:51 |
rvba | and of course I have other tests to make sure the proper exceptions are raised when it's appropriate. | 11:51 |
henninge | because reading the test you think the None (or True in rvba's case) has some meaning which it does not have. | 11:52 |
bigjools | if there are other tests to make sure that certain inputs DTRT then that excuses this test, I was just taking the test in isolation | 11:52 |
henninge | rvba: exactly, I expected those to be there. | 11:52 |
rvba | henninge: bigjools these tests *are* already in the same file. | 11:52 |
* rvba is ready to pull the "ec2 land" trigger on this. | 11:53 | |
henninge | rvba: I expected that, otherwise some previous reviewer did a poor job ;-) | 11:53 |
henninge | rvba: go ahead, this reviewer approves ;-) | 11:53 |
henninge | and goes to lunch | 11:54 |
=== henninge is now known as henninge-lunch | ||
jtv1 | Anyone here familiar with recipe builds? | 11:55 |
jtv1 | I 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 |
jtv1 | Shut up mup. | 11:56 |
=== jtv1 is now known as jtv | ||
StevenK | Chroot problem is not a recipe problem | 11:56 |
jtv | No, but I need to know what this implies. Did something break fatally? Do I need to push it again? | 11:56 |
StevenK | No and no | 11:57 |
jtv | Thanks. | 11:57 |
StevenK | Something is broken, but you didn't break it | 11:57 |
StevenK | Link me the URL in the body of the mail? | 11:57 |
* jtv digs | 11:57 | |
jtv | Here's one: https://launchpadlibrarian.net/77594282/buildlog.txt.gz | 11:58 |
jtv | And: https://launchpad.net/~launchpad/+archive/ppa/+build/2721413/+files/buildlog_ubuntu-natty-i386.launchpad-dependencies_0.98%7Enatty1_CHROOTWAIT.txt.gz | 11:58 |
jtv | And: https://launchpad.net/~launchpad/+archive/ppa/+build/2721414/+files/buildlog_ubuntu-oneiric-i386.launchpad-dependencies_0.98%7Eoneiric1_CHROOTWAIT.txt.gz | 11:58 |
StevenK | Certainly not your probnlem | 11:58 |
jtv | There's also links in the sigs. Need those? | 11:58 |
StevenK | No, I have enough | 11:59 |
jtv | OK | 11:59 |
StevenK | jtv: 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 | ||
bigjools | StevenK: when does the debian publisher run, exactly? And do you know typically how long it takes to complete? | 12:03 |
StevenK | bigjools: I have no idea. | 12:04 |
bigjools | StevenK: ok :) Do you know where I can find out? | 12:05 |
StevenK | bigjools: Mail/bug Ganneff? | 12:06 |
jtv | StevenK: Friday IIRC | 12:06 |
soren | bigjools: https://answers.launchpad.net/launchpad/+question/161595 | 12:06 |
soren | bigjools: the last line is (if I'm reading it correctly) from Debian. | 12:07 |
soren | bigjools: No idea how long it takes, though. | 12:07 |
StevenK | So, 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 |
bigjools | soren: thanks | 12:09 |
bigjools | in fact 2h13m | 12:10 |
StevenK | And in fact, there is another missing piece | 12:10 |
bigjools | yes, our own rsync | 12:10 |
StevenK | When does debmirror on iron run, since *that* is what gina pulls from | 12:11 |
StevenK | jtv: Right. I think that mess has been sorted out. | 12:12 |
jtv | Good, thanks. | 12:12 |
bigjools | StevenK: 52 2,8,14,20 | 12:12 |
StevenK | Let me see if I can resurrect stuff | 12:12 |
bigjools | so we give debian 1hr to publish and sync | 12:13 |
StevenK | And sync from ftp.debian.org to ftp.uk.debian.org | 12:13 |
StevenK | I don't think that's long enough | 12:13 |
bigjools | StevenK: how do you know we get it from the uk mirror? | 12:13 |
wgrant | ftp.uk.debian.org shouldn't sync from ftp.debian.org | 12:13 |
wgrant | It'll sync direct from ftp-master. | 12:13 |
StevenK | wgrant: Right | 12:14 |
StevenK | bigjools: Since I had to help fix debmirror, and I *think* it pulls from ftp.uk.debian.org. A LOSA could confirm. | 12:14 |
bigjools | StevenK: ok ta | 12:14 |
=== henninge-lunch is now known as henninge | ||
jkakar | I'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 |
jkakar | With GH the line items to add to a diff are visible, in realtime, to everyone else. | 12:50 |
jkakar | Sometimes fancy isn't better. | 12:50 |
soren | jkakar: 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 |
soren | jkakar: I tend to prefer LP's e-mail interface for code reviews, though. | 12:55 |
jkakar | soren: No idea. I'm finding GitHub generally confusing so far and I miss a number of things from Launchpad. | 12:55 |
jkakar | For 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 |
wgrant | jkakar: Oh, I always assumed GitHub line-based comments were still done in sort of a single transaction, like Launchpad's. | 12:55 |
jkakar | wgrant: No, they're not. They're realtime... people can respond to your comments while you're reviewing. | 12:56 |
nigelb | bah, test failure | 12:56 |
jkakar | Which 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 |
jkakar | Pull 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 |
jkakar | GH does have a much more polished UI than Launchpad. And being able to follow people is pretty cool. | 12:57 |
jkakar | The biggest reasons we've switched to GH are (a) price (b) builtin wikis and (c) perceived easier UI. | 12:57 |
jkakar | Probably in a, c, b order. | 12:58 |
soren | GH looks much more like an OS X app than Launchpad, yeah. | 12:58 |
jkakar | soren: Yeah. It also has some wicked features, like builtin webhooks and builtin services like commit bots. | 12:58 |
jkakar | But the things I use on a daily basis leave me feeling a bit underwhelmed after Launchpad (bugs + merge proposals). | 12:58 |
nigelb | jkakar: I always like launchpad for its +activereviews page and overall better review panel. | 12:58 |
jkakar | Maybe it'll just time to get used to it. | 12:59 |
soren | jkakar: But as you point out, pull requests and issues lack of lot of metadata. | 12:59 |
jkakar | nigelb: Yeah, me too. | 12:59 |
nigelb | I constantly use both. | 12:59 |
StevenK | I seem to be allergic to git. Every time I try and use it, I break out into bouts of vicious swearing. | 13:00 |
nigelb | There's creams for that sort of thing now :P | 13:00 |
nigelb | Achivement Unlocked: Broke a bucketload of tests on landing. | 13:01 |
jkakar | StevenK: The sense that I have to punch someone in the face everytime I use it is dwindling with experience. | 13:03 |
jkakar | StevenK: 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 |
jkakar | As far as I can tell they're the same: local operations are fast and network operations are slow. | 13:04 |
wgrant | Two years ago bzr was really slow. | 13:05 |
wgrant | And nobody has used it since then. | 13:05 |
nigelb | I *think* most of what that git can do can be accomplished with bzr. | 13:06 |
nigelb | But some are not out of the box. | 13:06 |
nigelb | are co-located branches out of the box yet? | 13:06 |
wgrant | Very nearly. | 13:06 |
wgrant | jelmer has been working on that, I believe. | 13:06 |
wgrant | But bzr-colo does a pretty damn good job. | 13:07 |
nigelb | I agree. So, the last time I checked that was my only irk, except I learn that's around in bzr too. | 13:07 |
wgrant | I find colocated branches to be a downside at times. | 13:07 |
jelmer | yeah, colocated branches are slowly making their way into core bzr | 13:07 |
Daviey | I've noticed bzr bisect doesn't seem as reliable as git bisect, but that is meerly a module. | 13:08 |
nigelb | Launchpad UI though could use some work :) | 13:08 |
Daviey | merely* | 13:08 |
nigelb | I heard there was a whole bunch of work coming that way too. | 13:08 |
jkakar | I was initially quite frustrated with colocated branches (in Git) after being used to Bazaar. I'm getting used to it. | 13:10 |
nigelb | when you work with the github workflow more, its fun | 13:10 |
nigelb | you start doing the branching with git checkout -b, etc | 13:10 |
jkakar | nigelb: I'm not having more fun yet. Maybe that'll change. | 13:11 |
jkakar | I guess so much of this is just about familiarity. | 13:11 |
nigelb | jkakar: hehe, so some irritating bits in git include, things like "git st", "git co" not working. Create alias instead | 13:12 |
nigelb | I got used to bzr st | 13:12 |
jkakar | nigelb: I don't mind those things so much. I can alias or adapt. | 13:12 |
nigelb | some things in git is pretty rad. | 13:13 |
jkakar | nigelb: 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 |
nigelb | heh | 13:13 |
nigelb | I agree, coming from bzr, that's a bit confusing. | 13:13 |
nigelb | I somehow would like to have that in bzr | 13:13 |
nigelb | (please don't stab me :P) | 13:14 |
jkakar | Heh :) | 13:14 |
jkakar | I don't stab. | 13:14 |
jkakar | I cut. | 13:14 |
nigelb | hehe | 13:14 |
nigelb | jkakar: do you use zsh? There's some neat plugins to show to you which branch you're in. | 13:14 |
nigelb | Many times I've commited to the wrong branch. | 13:14 |
jkakar | nigelb: No, I use bash. | 13:15 |
jkakar | nigelb: You probably wouldn't commit to the wrong branch with a directory-per-branch. ;b | 13:15 |
nigelb | ah, so there's something I wrote which shows you which branch you're in | 13:15 |
nigelb | hah | 13:15 |
nigelb | I like the colocated feature | 13:15 |
jkakar | Anyway, it's interesting to be a longtime Launchpad/Bazaar user trying tools from "the other side". | 13:15 |
nigelb | It happens to me every so often that I type bzr commit in a git repo or vice versa | 13:16 |
jkakar | I'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 |
jkakar | nigelb: Yeah, I do that a lot too. :) | 13:16 |
nigelb | heh :) | 13:16 |
nigelb | jkakar: Did you move from Canonical or does Canonical have stuff in GH now? | 13:17 |
jkakar | nigelb: I left Canonical in March. I'm at Fluidinfo now. We've just moved from Launchpad to GitHub this week. | 13:17 |
nigelb | jkakar: Ah. Yeah, github has a pretty healthy eco-system :) | 13:18 |
jkakar | nigelb: Canonical putting stuff in GH would be a pretty bad sign. :) | 13:18 |
nigelb | hehe | 13:18 |
nigelb | GAH! I broke tests all over the place including soyuz. | 13:22 |
jkakar | :) | 13:23 |
StevenK | nigelb: Welcome to Launchpad | 13:24 |
nigelb | StevenK: haha | 13:24 |
wgrant | Don't let Soyuz consume your soul. | 13:24 |
nigelb | ok, I need some help with the soyuz tests because I'm not sure if parts of is my breakage | 13:24 |
nigelb | http://dpaste.com/600458/ | 13:25 |
nigelb | I don't understand the first bit | 13:25 |
nigelb | lines 6 to 9 | 13:25 |
StevenK | Ah yes, doctests are fun | 13:25 |
nigelb | and lines 21 to 25 | 13:25 |
StevenK | nigelb: Right, so 6-9 are red herrings | 13:26 |
wgrant | nigelb: Look at the ++++++++ bits. | 13:26 |
wgrant | Those are yours. | 13:26 |
StevenK | The meat is 14 and 17 | 13:26 |
nigelb | I got those | 13:26 |
nigelb | I fixed too. | 13:26 |
StevenK | nigelb: "..." means some text | 13:26 |
StevenK | And doctest errors suck | 13:26 |
bigjools | doctests show all diffs even if you didn't change it | 13:26 |
bigjools | IYSWIM | 13:27 |
wgrant | Right, only the expected text is elided. | 13:27 |
StevenK | Oh God, it's xx-sourcepackage-changelog.txt | 13:27 |
StevenK | Kill it, it's moving! | 13:27 |
nigelb | the 20 to 21 is weird, cos it shows lines added | 13:27 |
wgrant | The actual text is shown in full, which makes the diffs rather difficult to interpret. | 13:27 |
nigelb | StevenK: haha | 13:27 |
bigjools | nigelb: fix 14/17 and you're done | 13:27 |
nigelb | phew, okay | 13:27 |
wgrant | nigelb: 21-24 are normally captured by the '...' on 20. | 13:27 |
nigelb | aaah. | 13:28 |
StevenK | Which is what is also going on with lines 6-9 | 13:28 |
* nigelb moves on to next set of tests | 13:28 | |
bigjools | doctests with more than a couple of lines out output to match are a nightmare | 13:28 |
nigelb | So much breakage. | 13:28 |
bigjools | s/out/of/ | 13:28 |
nigelb | should I have run throw the entire tests before my MP? | 13:28 |
nigelb | or is this sort of breakage common? | 13:28 |
bigjools | nigelb: BTW have you see utilities/paste? | 13:28 |
StevenK | nigelb: Did you get a mail from ec2 with a subunit stream? | 13:29 |
nigelb | StevenK: yes, I'm fixing breakage from that. | 13:29 |
nigelb | bigjools: no, does it pastebin whatever I want it to paste? | 13:29 |
bigjools | nigelb: yes, takes stdin | 13:29 |
nigelb | (in thise case, its from my mail, so entirely useful) | 13:29 |
StevenK | nigelb: testr init ; zcat <subunit> | testr load ; testr run --failing | 13:29 |
bigjools | so bzr diff|utilities/paste is v useful :) | 13:29 |
StevenK | testr failing --list # if you want to see how many tests you broke | 13:30 |
wgrant | bigjools: --syntax=diff! | 13:30 |
nigelb | that's for doctests? | 13:30 |
StevenK | nigelb: No, that's in general for failures from ec2 | 13:30 |
nigelb | but shouldn't I need some sort of access to see that? | 13:30 |
StevenK | nigelb: As in, "Aiee, I broke 100 tests, how can I be sure if I fixed them all" | 13:31 |
wgrant | nigelb: To see what? | 13:31 |
nigelb | StevenK: ah. | 13:31 |
nigelb | wgrant: to see the out put of what StevenK said :) | 13:31 |
wgrant | nigelb: It's in the email. | 13:31 |
bigjools | wgrant: I'm sure it could use file magic to do that | 13:31 |
wgrant | bigjools: Probably. | 13:31 |
nigelb | StevenK: subunit = bugs/soyuz etc? | 13:32 |
StevenK | nigelb: Sorry, the subunit stream is the gzipped file that was attached to the mail from ec2 | 13:32 |
bigjools | nigelb: watching the cricket? | 13:32 |
nigelb | StevenK: AH! | 13:32 |
nigelb | bigjools: No, I gave up :P | 13:32 |
bigjools | nigelb: :D | 13:33 |
StevenK | nigelb: 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 log | 13:33 |
wgrant | StevenK: I think that bug is fixed now, actually. | 13:34 |
StevenK | bigjools: Oh, so England has discovered that they can actually hit the ball properly if they hold the padded bit of the bat? | 13:34 |
wgrant | Saw something fly past a day or two ago. | 13:34 |
bigjools | StevenK: #1 test team. Suckit. | 13:35 |
StevenK | [r=bac][bug=828151][no-qa] Truncate the librarian log before each test run. | 13:35 |
StevenK | bigjools: That would require caring about cricket. Which I don't. | 13:35 |
bigjools | StevenK: ah so you just care about trolling about it? :) | 13:35 |
StevenK | OH, ALLENAP. Come here, so I can have your babies. | 13:36 |
StevenK | bigjools: Exactly! | 13:36 |
bigjools | what did allenap do? | 13:36 |
bigjools | to deserve your generous offer | 13:37 |
allenap | StevenK: 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 |
StevenK | allenap: Haha | 13:37 |
nigelb | lol | 13:37 |
bigjools | not sure I'd be that desperate allenap | 13:37 |
nigelb | And here I thought StevenK was married :P | 13:37 |
StevenK | allenap: IOW, *thank you* for fixing the librarian log truncation. | 13:37 |
StevenK | nigelb: I am | 13:37 |
allenap | StevenK: No worries, it sounds like it bothered me as much as it did you. | 13:38 |
nigelb | StevenK: I know :) | 13:38 |
nigelb | StevenK: btw, testr is in LP? Or do I install it separately? | 13:38 |
nigelb | python-zope.testing? | 13:38 |
allenap | nigelb: Separate, python-testrepository. | 13:39 |
nigelb | thanks allenap :) | 13:39 |
abentley | bug 823850 | 13: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 |
nigelb | fuuu, looks england might win by an innings | 13:40 |
bigjools | nigelb: again | 13:40 |
StevenK | So India needs to hold the padded bit of the bat? | 13:41 |
nigelb | bigjools: The best quote about India's perfomance was "India is like a faithful husband. Only performs at home" | 13:41 |
nigelb | StevenK: Yeah :| | 13:41 |
nigelb | grar, no testr still. | 13:41 |
bigjools | ;0 | 13:41 |
StevenK | % dpkg -S /usr/bin/testr | 13:41 |
StevenK | testrepository: /usr/bin/testr | 13:41 |
StevenK | nigelb: ^ | 13:42 |
nigelb | I installed everything but that. WIN. | 13:42 |
StevenK | Haha | 13:42 |
nigelb | StevenK: when I do that, tests are supposed to pass? | 13:43 |
nigelb | or does it just show me the ones that failed in EC2 | 13:43 |
StevenK | nigelb: When you did which? | 13:44 |
nigelb | testr init ; zcat ~/Downloads/4595-upgrade-bug-linking-r13582.subunit.gz | testr load; testr run --failing | 13:44 |
gary_poster | Thank you for the galapagos hint, StevenK | 13:44 |
StevenK | gary_poster: Welcome. | 13:45 |
StevenK | nigelb: The last command is what runs the failing tests | 13:45 |
StevenK | nigelb: If tests aren't failing, you've already fixed them? :-) | 13:46 |
nigelb | ok, so seeing everything fail is probably not a good thing. | 13:46 |
StevenK | nigelb: Well, it's probably the expected thing | 13:46 |
nigelb | wait, I know I fixed these. | 13:47 |
nigelb | does the fix have to be committed? | 13:47 |
StevenK | nigelb: You might be seeing testr load output | 13:47 |
StevenK | It spams everything to stdout | 13:47 |
nigelb | ah | 13:48 |
gary_poster | deryck, sw your reply. perfect, thanks | 13:48 |
nigelb | failures 7 | 13:48 |
nigelb | bah | 13:48 |
deryck | gary_poster: np! Thank you for putting the email notes together. | 13:48 |
gary_poster | welcome | 13:48 |
nigelb | I can run make test to be extra sure right? (worse case) | 13:56 |
StevenK | nigelb: make check, but yes | 13:57 |
StevenK | nigelb: It will take AGES | 13:57 |
nigelb | gah | 13:57 |
StevenK | nigelb: Or you can ask someone to resubmit it to ec2 | 13:57 |
nigelb | the testr is showing me false positives. | 13:57 |
nigelb | fffffuuuu, brb, production server at work died. | 13:58 |
nigelb | ok. back. | 14:01 |
nigelb | let me look at the diff to see if I caught them all. If so I'm just going to ask someone to submit it again | 14:01 |
nigelb | ok, so can someone re-land https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/71575 | 14:07 |
jelmer | henninge, benji: can I add a MP to your queue? | 14:13 |
benji | jelmer: sure; I can do one now. | 14:13 |
jelmer | benji: thanks - it's at https://code.launchpad.net/~jelmer/launchpad/re-enable-test_import_bzrsvn/+merge/72411 | 14:14 |
nigelb | benji: could you re-view and re-land my branch? | 14:14 |
benji | nigelb: sure, which one? | 14:14 |
nigelb | https://code.launchpad.net/~nigelbabu/launchpad/4595-upgrade-bug-linking/+merge/71575 | 14:14 |
benji | jelmer: done | 14:16 |
jelmer | benji: merci ! | 14:17 |
bac | hi 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 |
jelmer | hi Brad | 14:24 |
bac | jelmer: just letting you know since i got my blocker done | 14:24 |
=== henninge changed the topic of #launchpad-dev to: https:dev.launchpad.net/ | On call reviewer: benji | Critical bugs: 238 - 0:[#######=]:256 | ||
jelmer | bac: Thanks | 14:24 |
* henninge is done reviewing | 14:24 | |
jelmer | bac: I'm waiting for tellarium (storage space for code imports) to come back up, once that happens I'll be able to do the QA | 14:24 |
bac | jelmer: great | 14:24 |
benji | nigelb: I'm afraid that revision is essentially unreviewable, the diff is over thirteen thousand lines long. | 14:27 |
nigelb | benji: wait, what | 14:27 |
benji | do you have a diff of just the changes you made to fix the failures? | 14:27 |
* nigelb checks | 14:27 | |
nigelb | benji: ah, I merged in devel as well. | 14:27 |
nigelb | The changes are more easily reviewed on the merge page | 14:27 |
nigelb | My initial code only touched 3 files | 14:28 |
benji | I'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 |
benji | You could have accomplished that by merging from devel in one revision and making your changes in another. | 14:30 |
nigelb | benji: I should have. Noted for next time. | 14:31 |
benji | cool | 14:31 |
benji | nigelb: the branch looks good, I'm starting the landing process now | 14:38 |
nigelb | benji: thanks! Sorry again for the messed up diff. | 14:39 |
benji | no worries | 14:39 |
rvba | Thanks for the review benji. | 14:52 |
benji | my pleasure | 14:52 |
nigelb | bigjools: its all over :( | 15:09 |
bigjools | nigelb: a while ago :) | 15:09 |
nigelb | bigjools: I wasn't actually watching. my roommate has it on and I just realized I'm listening to the presentation ceremony | 15:10 |
henninge | good bye | 15:42 |
sinzui | jcsackett, do you have time to mumble? | 15:57 |
jcsackett | sinzui: i can mumble now. | 16:21 |
jcsackett | sinzui: are you still free? | 16:22 |
=== matsubara is now known as matsubara-lunch | ||
LPCIBot | Project devel build #982: STILL FAILING in 6 hr 10 min: https://lpci.wedontsleep.org/job/devel/982/ | 18:27 |
abentley | deryck: 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/72480 | 18:48 |
LPCIBot | Project db-devel build #815: STILL FAILING in 6 hr 33 min: https://lpci.wedontsleep.org/job/db-devel/815/ | 18:53 |
deryck | abentley: I can do it. | 18:57 |
abentley | deryck: thanks! | 18:58 |
deryck | abentley: 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 |
abentley | deryck: that's cool. | 18:58 |
lifeless | morning | 19:25 |
=== matsubara-lunch is now known as matsubara | ||
* jelmer waves to lifeless | 19:33 | |
gary_poster | hiya lifeless | 19:43 |
gary_poster | abentley, 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 |
abentley | gary_poster: looking | 19:44 |
gary_poster | thank you | 19:44 |
abentley | gary_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_poster | abentley, that's certainly what the log looks like. So should I toss it to Jelmer, or say "so sorry," or...? | 19:47 |
abentley | gary_poster: I think canonical staff may have done one-off imports like he's requesting in the past. | 19:47 |
gary_poster | ah | 19:47 |
gary_poster | ok abentley, I'll check with a losa if that is something they are familiar/comfortable with then | 19:48 |
abentley | gary_poster: Okay. | 19:48 |
abentley | gary_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_poster | ok abentley, I guess I could try that locally for the heck of it... | 19:51 |
=== Pilky_ is now known as Pilky | ||
deryck | abentley: looks good to me. Sorry it took me so long. | 20:18 |
abentley | deryck: no worries. | 20:18 |
lifeless | gary_poster: jelmer_: hiya | 20: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 |
lifeless | that should be set up by your test process | 20:43 |
lifeless | whats it coming from ? | 20:44 |
jelmer_ | a twisted callback | 20:45 |
jelmer_ | hang on, I think I know what might be happening | 20:45 |
lifeless | sounds like you have a test helper running after the main test process is shutdown | 20:45 |
jelmer_ | leftover launchpad processes; I suspect it was tlaking to one of them | 20:46 |
jelmer_ | killing them seems to fix the problem | 20:46 |
jelmer_ | lifeless, yeah, indeed | 20:46 |
lifeless | flacoste: oh, I remembered one thing | 21:08 |
lifeless | flacoste: you're probably gone though ... | 21:08 |
=== matsubara is now known as matsubara-afk | ||
flacoste | lifeless: no, i'm still here for an hour | 21:09 |
lifeless | flacoste: 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 |
flacoste | lifeless: you mean for things related to Launchpad deployment outside of launchpad.net? | 21:10 |
lifeless | flacoste: e.g. things like the help wiki needing moin upgrades would sit there | 21:10 |
flacoste | lifeless: we already have a project for the help wiki though | 21:11 |
flacoste | and dev | 21:11 |
lifeless | or python-openid upgrades on lp-oops, or new haproxy or apache versions being needed | 21:11 |
lifeless | things like needing a shared ssl session cache | 21:11 |
flacoste | we track those usually through RTs | 21:11 |
lifeless | right, *we do*, but if a community member files a ticket in any of these spaces | 21:11 |
flacoste | which is obviously not community accessible currently | 21:11 |
lifeless | we have nowhere to leave it as a placeholder | 21:11 |
lifeless | e.g. our moin projects are labelled 'themes' | 21:12 |
lifeless | which does involve code changes; I'm purely talking stuff with no code | 21:12 |
lifeless | anyhow, its a thought | 21:12 |
flacoste | lifeless: 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 while | 21:12 |
flacoste | which reminds me | 21:13 |
lifeless | I'll let it percolate | 21:13 |
flacoste | we should probably kill the lp-<old-team> tags | 21:13 |
flacoste | we said we would eventually | 21:13 |
flacoste | doesn't look like anybody misses the projects | 21:13 |
lifeless | :) | 21:13 |
lifeless | allenap: lol! love your review cover letter. | 21:51 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!