/srv/irclogs.ubuntu.com/2012/01/20/#launchpad-dev.txt

rick_hwgrant: yea, if we move it to it's own JS file we can just make sure it gets built into launchpad.js and then for the feature flag users make it a seperate request for now00:00
rick_hwallyworld_: does that make sense? To create a .js file in lib/lp/app/javascript/plain.js or something?00:01
StevenKwgrant: I have the tests passing, so I can redo the work, and move back to list of tuples or commit and land the use of structure00:01
rick_hand the builder should pick it up for launchpad.js automatically still00:01
rick_hsince it searches in there right?00:01
StevenKIt runs find over the tree00:01
rick_hand then we'll manually add the url as a new script tag for feature flag users?00:01
wgrantStevenK: "redo the work" is about ten lines of code, but I guess it's OK00:01
rick_huntil I can get a chance to run through it and YUI-ize it?00:01
wallyworld_rick_h: i was just going to wrap in a CDATA tag for now - we already do that all over the place00:02
wallyworld_essentially a 2 line change to the mp00:02
rick_hwallyworld_: ok then. I've never done that so that was the less comfy way for me00:02
rick_hwallyworld_: but awesome, works for me00:02
wgrantMake sure that the CDATA tags are commented.00:02
wgrantOr IE's JS parser will choke00:02
wallyworld_of course00:02
wallyworld_i cut n pasted :-)00:02
wgrantThe web needs to die.00:03
wallyworld_from elsewhere00:03
wallyworld_no, IE needs to die00:03
wgrantHoly shit00:03
wgrantIE9 supports XHTML00:03
rick_hyea, IE9 is the first real browser in a long time00:03
rick_hIE10 actually might make me not hate it..but until then00:04
wgrantOnly 12 years late :)00:04
rick_hIE9 is still missing html5 history/geo location/etc that everyone else has now00:04
rick_hwallyworld_: ok, so looking at: http://yuilibrary.com/yui/docs/api/files/yui_js_yui-log.js.html#l3600:05
StevenKwgrant: Compilation failed', "zope.tal.taldefs.TALError: invalid syntax (<string>, line 1) in expression u'python:${tag/1}', at line 148, column 15"00:05
rick_hthe logging is looking for a setting in Y.config.debug = false00:05
wgrantStevenK: python: tag[1]00:05
StevenKSigh, TALES.00:05
wgrantyou can hardly say python: and then give it TALES instead.00:06
wallyworld_rick_h: that's for the src filters - include and excluded modules00:06
rick_hwallyworld_: and looking at how the YUI instance is setup, if you were to add config: { debug: false } to the list in YUI.GlobalConfig that would work00:06
StevenKwgrant: Silence. :-P00:06
rick_hwallyworld_: it wraps the whole thing00:06
rick_hif the debug is false it bypasses all logging00:06
wallyworld_rick_h: but we still want errors logged in prod00:07
rick_hwallyworld_: the whole method does nothing but return the Y instance at the end00:07
rick_hwallyworld_: ok, then we'll have to set the config.logExclude filters for warning?00:07
rick_hnvm, those are for the source, we need on log level, looking me00:08
wallyworld_rick_h: my understanding is that the include/exclude filetrs are for modules00:08
rick_hlooking more :/ can't type00:08
wallyworld_afaict, we need logLevel but that's not a global option sadly00:08
rick_hwallyworld_: the problem is that's on the console module00:09
rick_hwe want to touch the raw log included in yui.js00:09
rick_hthey're different, the loglevel would do us no good here00:09
wallyworld_yep :-(00:09
wallyworld_that's the conclusion i camr to as well00:10
rick_hwallyworld_: I still say we turn off debug. This is the YUI log module. Any JS errors are exceptions that go around this00:10
StevenKwgrant: I had to set tal:content to python: tag[0] too, but I think I have it working.00:10
rick_hwallyworld_: the only errors this would eat are places where we willingly do Y.log.error()00:10
wgrantStevenK: Of course00:10
wallyworld_rick_h: sounds like a reasonable plan i think00:10
rick_hor sorry, Y.log(msg, "error")00:11
wallyworld_yeah, knew what you meant :-)00:11
StevenKwgrant: So I have your blessing to toss it at ec2 and find something else to do?00:11
wgrantStevenK: If it doesn't use structure, I have no objection.00:12
wgrantBecause the worst you can do is break the links :)00:12
rick_hwallyworld_: so I'm not sure which of these you need: http://paste.mitechie.com/show/505/00:13
wallyworld_rick_h: i knew 30 minutes ago when i read the docs :-)00:13
wallyworld_i'll sort it00:13
wallyworld_short term memory is broken, brain too full, it hurts to think00:14
rick_hwallyworld_: I *think* it's the first but not 100% sure00:14
rick_hbut anyway, if it fails jsut a heads up you might need the other00:14
wallyworld_np, will find out in about 3 minutes00:15
wallyworld_rick_h: it's just "debug: true|false"00:18
rick_hwallyworld_: yea, the check in the code is if (!c.debug)00:18
rick_hsorry, if (c.debug)00:18
* StevenK has been seeing some wierd behaviour today00:25
StevenKRefreshing MP pages "Shows transferring data" for a good long while until I get bored and stop it00:26
wallyworld_StevenK: bazaar.lp.net was sloooow yesterday00:28
wallyworld_timed out a lot00:28
wallyworld_rick_h: now all i need is deryck to come back online and +1 the fucker :-)00:28
StevenKrick_h: WRT to your convoy MP, I was expecting we'd have /+combo/r14335/ and then something like /+combo/r14436/ ?00:29
* StevenK stabs the messaging indicator more00:30
wallyworld_StevenK: the use-convoy mp is/will be linked against 2 bugs. if i land with --incr, both bugs will remain in progress, right?00:30
StevenKI believe so00:30
wallyworld_that makes me sad, since one will be fixed00:31
wallyworld_i guess we can close manually00:31
StevenKRight, we don't really deal with that case00:32
pooliei can do recipe builds from private branches, right?00:37
StevenKYou can not.00:38
poolieah, foo, i thought i'd seen it00:38
pooliemaybe i was thinking of private ppas00:38
jelmerStevenK: do you remember what prevents them?00:38
wgrantjelmer: Builders don't have SSH keys00:38
pooliewas this connected to mwh's thing of allowing ssh with a limited-time token?00:39
wgrantPrecisely.00:39
jelmerwgrant: oh, right00:39
wallyworld_jelmer: sorry to bother you - is there anything i can do to get lp-land etc working in precise?00:40
jelmerwallyworld_: can you tell me what package version of bzr-pqm you have installed?00:42
wgrantwallyworld_: Do you really have to conflate those two changes into a single branch?00:43
wallyworld_jelmer: 1.40-bzr80-100:43
wgrantwallyworld_: One is almost guaranteed to include regressions and need rolling back at least twice, while the other is a critical regression fix.00:43
wallyworld_wgrant: i could land in devel but then there will be merge conflicts for the other one00:43
wgrantAh00:44
wallyworld_"at least twice" - you so such a pessimist00:44
wgrantHow safe is use-convoy with the flag off?00:44
wgrantThis sort of stuff has an exceptionally bad track record.00:44
wallyworld_it uses ye old launchpad.js as before00:44
wgrantSure, but there are presumably some changes.00:44
wgrantAnd none of this has tests.00:44
wallyworld_minor ones - mainly going to multiple YUI instances instead of a single instance00:45
wallyworld_all the yui tests pass00:45
wgrantThe YUI tests don't use launchpad.js00:46
wallyworld_true, but i diffed launchpad.js from trunk and it was the same00:47
wallyworld_as the branch00:47
jelmerwallyworld_: the easiest thing to do is probably to run "bzr branch lp:bzr-pqm ~/.bazaar/plugins/pqm"00:47
wallyworld_accounting for expected skew00:47
wallyworld_jelmer: thanks! looks ok. i'll know for sure when i land the next branch00:51
wgrantwallyworld_: Ah, OK00:52
wgrantI guess it's somewhat reasonable, then :)00:52
wallyworld_wgrant: i bloody hope so at least. i've done a lot of smoke testing.00:53
wallyworld_but lp is soooo big it's impossible to touch everything00:53
rick_hStevenK: no, the other way around. /$revno/+combo00:53
rick_hthat way we can have as many paths as we want in there to start00:53
wallyworld_wgrant: if my optimisim ^H^H^H^H^H blind hope proves false, i'll do a separate fix for the bug straight away00:54
rick_hStevenK: so if the files were in /var/convoy/build/js we could set the root to /var/convoy and make the app provide /build/js/$revno/+combo as the url00:54
wgrantwallyworld_: Sounds good.00:55
StevenKrick_h: Really? The icing stuff is icing/<revno>01:03
StevenKrick_h: And lifeless said he wanted it like it01:03
rick_hStevenK: right, well I don't think the order matters. In this way it's easier for me to regex since I can basically match anything up until the last item and make that a path (supporting multiple levels if required) and combo or +combo don't matter so we don't have to deal with changing upstreams usage01:04
StevenKrick_h: But it does matter01:05
rick_hStevenK: I think this gets the effect we want (changing the paths at run time based on the LP instance) without making too many changes01:05
rick_hwhy?01:05
StevenKrick_h: Since /+combo is proxied off in the apache config01:05
StevenKSo the URL has to *start* with /+combo01:05
rick_hright, but we can't change that check to combo$?01:05
StevenKI really don't want to do regex matches in the apache config01:06
rick_hok, shoot me a couple of urls we want to match and I'll see if I can change the regex to support what we want and what U1 and Landscape are doing at the same time01:06
rick_hI didn't realize we had the limitation so I was merely trying to add directory support01:07
StevenKrick_h: So, I'd make it configurable -- turn it on with a parameter in combo_app()01:07
rick_hStevenK: so you're thinking a config of "allow_paths" or something that turns on/off grabbing path info from the url?01:08
rick_hand then just if set do it the LP way?01:08
StevenKrick_h: And I was expecting something like /+combo/r12456/yui/yui/yui-min.js or /+combo/r14858/lp/registry/timeline.js01:09
StevenKrick_h: Right, exactly.01:09
rick_hok, so I want to match /(toss)/(some)/(path)/(hints)/?... then right?01:09
rick_hok, I think I can reverse the regex for that in convoy. I'll update the tests and push a new one tomorrow then01:09
StevenKRight, so what you want to do for /+combo/r12456/?yui/yui/yui-min.js is actually return <root>/r12456/yui/yui/yui-min.js. Not really important, but I'd prefer the comment showing the filename didn't include the revno dir01:11
rick_hright, all good01:12
rick_hI follow, sorry, just was thinking normal url with path first, file end01:12
rick_hshould be an easy adjustment01:12
wgrantsinzui: Still around to discuss the SSo issue a bit?01:24
sinzuiI am about01:26
wgrantsinzui: Do you think the emailaddress-stealing code is still useful?01:26
sinzuiwgrant, I do. I recall users being very confused about the email mismatch01:27
sinzuiwgrant, but I really think the issue is that users expect synced email addresss to be synced01:28
wgrantsinzui: More confusing than when they get logged into a different account, and then can't find their original account because it no longer has an email address to search by?01:28
sinzuiwgrant, If the l.lp.net did not lie about what/who it was, the sync issue might be mitigated01:28
wgrantsinzui: We should certainly inform affected users that something is up.01:30
sinzuiwgrant, yes.01:30
wgrantBut I think that automatically "fixing" it is harmful.01:30
wgrantBecause in most cases the second SSO account is mistake.01:30
wgrantAnd transferring the address to the second LP account just exacerbates the mistake.01:31
wgrantI think we should rather warn on login.01:31
wgrantThat $otherperson has the primary address, see this wiki page for details.01:31
sinzuiWe could explain we think identities are mismatched. We could let the user choose the transfer the email address (without email confirmation)01:32
wgrantRight.01:32
wgrantIn fact, I was thinking that we could only really do this with addNotification.01:32
wgrantBut +openid-callback could prompt directly.01:32
wgrantAdd an extra step to the login.01:32
sinzuiDo we know enough info when this happens to advise the user to go back to SSO and sort the matter out? Do we know enough to tell the user about the two identities in Lp that are criss-crossed?01:33
sinzuiWe sort of know in the case of Ubuntu. I do not think so in the case of another SSO provider01:34
wgrantWe can identify the other persoin in LP.01:34
wgrantIn the case of another SSO provider it doesn't matter.01:34
wgrantBecause we don't trust their email addresses.01:34
wgrantSo we *can't* do reassignment.01:34
sinzuiWell, Do I (me) really trust Ubuntu SSO at the moment.01:34
wgrantWe want to reassignment purely because login.launchpad.net confuses people by looking like Launchpad.01:34
wgrantHeh01:35
wgrantNo.01:35
* sinzui looks if he can delete email address now01:35
wgrantYou can now.01:35
wgrantFor a few months now.01:35
StevenKkill-bugtask-launchbag-with-fire => devel  [FAILED]   (up for 1:38:25) i-568d823401:35
StevenK:-(01:35
wgrantStevenK: Which test?01:35
StevenKI haven't looked yet01:36
wgrantsinzui: So, I think that if an identifier is known we should trust it. If the email address isn't known by Launchpad, we add it to their person. If it *is* known by Launchpad but is on another account, we log them in but tell tham what's going on and how to fix it.01:36
wgrantsinzui: They (and we) can do the proper fix then.01:36
wgrantBecause we can present the primary email addresses of both people.01:37
sinzuiUbuntu is almost as bad as google. If I leave Canonical, my primary identity is compromised. People leave their employers more often then they change the personal addresses.01:37
wgrantWhereas now we silently steal the conflicted primary email address, making it very hard to work out what the original state was, and how to recover.01:37
sinzuiI still do not trust01:37
wgrantThis also moves us towards a workflow for external providers.01:38
wgrantWhere logging in will create an invalid person, because it has no verified email addresses.01:38
wgrantThis same post-login workflow process could be used to verify an address.01:39
sinzuiwgrant: +1. Fixing bad data is always harder than letting a user know that something is wrong01:39
wgrantsinzui: Right. And this situation only arises when a mistake has already been made, because just about nobody has a reason to have two SSO accounts.01:39
sinzuiwgrant, the mistake was ours I think. We made no distinction between imported identities and those users claimed and were active01:41
sinzuiSSO should purge ever address that that was not active when received from Lp and only accept those that are given my users01:42
wgrantsinzui: Until last week SSO still had emailaddresses for Launchpad teams.01:44
wgrantBut we deleted those.01:44
wgrantI don't know if it still has NEW ones.01:44
sinzuiincluding @lists.launchpad.net? That is an obvious imposability01:45
wgrantI've endeavoured to understand the situations in both DBs and codebases.01:45
wgrantBut it is complicated.01:45
wgrantI believe all @lists.launchpad.net addresses should be gone from SSO's DB now, unless they are associated with a proper account.01:45
wgrantWhich is a bit crazy, but possible I suppose.01:45
wallyworld_rick_h: StevenK: use-combo is in ec2 :-)01:46
rick_hyay!!!01:47
sinzuiwgrant, when Lp sees a mismatched email address. What can Lp do for the user? Transfer the email? I think Lp should suggest a merge instead. Since SSO does not have merging, I do not think we can explain how to make the identities the same if sso has 2+ identities for the user01:51
wgrantsinzui: Right, I'm not sure.01:51
wgrantsinzui: I've also just realised a complication.01:51
sinzuiIts a lost of email deletion and reclaiming I suspect01:51
wgrantsinzui: If we don't steal the address, how do we deal with reactivating a deactivated account?01:52
wgrantWe don't have a preferredemail :/01:52
wgrantSo I have a deactivated account, and log in with its OpenID, but the SSO preferredemail is on a different account.01:52
wgrantThe only way out is a logintoken.01:53
wgrantEither to do the merge, or to validate and select a new preferredemail.01:53
sinzuiwell, I think you are proposing a fix to an unreported bug. User complain we did not deactivate their account because they can login again. If Lp asked the user he wants to proceed, he would not compain01:54
wgrantIt gets even more complicated when we consider SCA01:54
wgrantWhich relies on the implicit reactivation behaviour.01:54
wgrantAnd cannot have user interaction.01:54
* wgrant dies violently.01:55
sinzuiYou mean we make a Frankenstein identity from other identities, log the user in and say...Your Alive! Click here to die if you do not want to be a gestalt01:56
wgrantUntil last week the only way getOrCreateByOpenID could fail was if the account was suspended.01:57
wgrantCurrently it will fail if the provided email is owned by a team.01:57
wgrantAnd ideally it would not return a valid person if it had to reactivate.01:57
wgrantBut SCA assumes it does.01:57
wgrantAnd SCA involves money :)01:58
sinzuiI am not keen on suspending another 3000 spam profiles...screw SCA01:58
wgrantI wonder if lifeless has jurisdiction over CA01:59
wgrantWhich owns SCA nowadays.01:59
wgrantAh, no, they're under OS01:59
wgrantSad.01:59
wgrantI guess SCA is pretty similar to SSO02:03
wgrantIn that they both touch Launchpad in completely inappropriate ways.02:03
wgrantI'm just less sure about how to fix SCA.02:03
wgrantBecause it relies on being able to obtain a Launchpad person for any unsuspecting SSO account.02:03
sinzuiDo we need to fix it now. Do users want us to fix it?02:04
wgrantThe problem is I broke it last week.02:04
wgrantAnd fixing this cleanly will break it further.02:04
sinzuiTelling users we can fix SCA by doing what we do now and locking you out of part of your identity02:04
wgrantPerhaps I should just restore the old behaviour of stealing the team address, however distasteful that may be.02:04
wgrantThis doesn't fix any of the other problems, though.02:05
wgrantSCA prevents us from fixing the corruption issues :(02:05
wgrantAlthough bug #901336 is encouraging.02:07
wgrantIt already breaks in some cases.02:07
wgrantSo maybe we can break it more and nobody will complain :)02:07
sinzuiStealing a team address is very bad. We know every team address is a one that is being used. We delete any team address that the user does not indicate is being used02:07
sinzuiLp has to tell the user that the address belongs to a  team. The options are to remove the address (confirm via email to do it), login as the owner and delete the team, or go that to SSO and remove the badness02:09
wgrantSure.02:09
wgrantThat's clearly the correct solution.02:09
wgrantBut SCA relies on being able to get or create an LP person for any SSO account.02:09
wgrantWithout user interaction.02:09
wgrantWe probably want to decide to break that.02:10
sinzuiI do not think SCA advocates identity theft. Surely they have some guidelines for when to not honour the operation02:11
wgrantThe XML-RPC API that they use pretty much just calls getOrCreateByOpenIDIdentifier directly.02:12
wgrantAnd the only way that could fail was in the case of a suspended account.02:12
wgrantAlthough I guess if they getOrCreate the person early, they can fail before the transaction.02:27
wgrantsinzui: So, I think for now I will fix it to steal team addresses again. But I will obtain the SCA code and talk to CA people about how it can do better.02:29
sinzuiokay02:30
wgrantThe quick fix is probably just to attempt to get the person right before payment.02:30
wgrantThat way there's only a small race, which probably already exists.02:30
wallyworldStevenK: bollocks. we need to get a new ec2 image with convoy packaged or else make fails02:36
wgrantwallyworld: Or just add it to launchpad-developer-dependencies, and ec2 should auto-install it.02:36
wallyworldwgrant: of course, much easier02:37
wallyworldStevenK: ^^^^ can you do that? i have no idea how and want to get this fucker though ec202:37
wallyworldactually, i think there's already a partial branch for it02:38
wgrantAh, buildbot will need a manual upgrade too, actually.02:38
wallyworldhow do we do that?02:42
wgrantwebops :)02:43
wallyworldthought that may be the case02:43
wallyworldi'll wait for StevenK to pop up and we can get it sorted in one go02:44
wgrantOh, blah.02:44
wgrantThat means convoy will need catification02:44
wallyworldyou mean whiskers and a saucer of milk?02:44
wallyworld:-)02:44
wgrantClose enough.02:44
StevenKOh, right03:00
StevenKwgrant: You don't like that idea?03:01
StevenKwallyworld: O hai -- https://code.launchpad.net/~stevenk/meta-lp-deps/use-convoy/+merge/8917403:08
wallyworldStevenK: you want a review?03:08
StevenKwallyworld: I do, yes.03:09
StevenKwallyworld: I have to wait for convoy to publish in the LP PPA anyway.03:09
wallyworldlooks ok to my untrained eye, will _103:09
wallyworld+103:09
wallyworldStevenK: so what's the next step? looks like i can't ec2 land today?03:10
StevenKYou could, but it would then fail buildbot03:10
wallyworldbollocks03:11
* StevenK sees if convoy is installable from the PPA03:11
wallyworldso we could get your ppa installed on bb?03:11
StevenKOnly if you want a GSA to visit you personally with some sharp implements03:12
StevenKwallyworld: Jump on mumble, and I'll outline it03:12
wallyworldStevenK: ok. i may have to reboot so if i drop off, i'll be back in a bit03:13
wgrantwallyworld: So, I'd suggest ec2 testing today03:13
wgrantIf it works, then get convoy into cat and onto bb03:13
* StevenK glares at mumble03:13
StevenK3 copies?!03:14
* StevenK wields kill03:14
lifelessnot to be landing such think on friday03:14
StevenKlifeless: WCPGW!03:31
wallyworldsinzui: +1 on that mp if you want to send it to ec2 before you go to bed03:57
StevenKwallyworld: meta-lp-deps changes merged, waiting for the recipe builds -- they should kick off automatically in the next 1-2 minutes04:00
wallyworld\o/ thanks :-)04:00
wgrantStevenK: Did you just make them uninstallable in the DC? :)04:01
StevenKwgrant: Huh?04:06
StevenKwgrant: But buildbot doesn't update from the PPA?04:07
wgrantStevenK: No.04:07
wgrantStevenK: But making the dependency packages uninstallable on buildbot is pretty unpleasant.04:07
StevenKwgrant: I was of the opinion that the dependencies packages had to get copied to CAT04:09
wgrantAh, true.04:09
StevenKOh, damn it.04:18
StevenKMy launchbag branch failed with a message so large my mail server rejected it.04:19
nigelblol04:19
StevenKAnd I think the instance has just killed itself.04:19
wgrantStevenK: Locally run bin/test -cvvt lp.bugs?04:28
StevenKYes, I was planning on04:28
StevenKwallyworld: Right, meta package updated.04:35
StevenKStrangely, apache2 is a Suggests of developer-dependencies04:35
StevenKIt's forcibly installed by rf-setup04:35
wallyworldwonder why04:35
StevenKBecause it's not required to run the tests04:36
wallyworldok04:36
StevenKSo people will have to install libapache-mod-wsgi when they want to test the combo loader04:36
StevenKwallyworld: In either case, you can toss your branch at ec2 test04:37
StevenKSigh, libapache2-mod-wsgi04:37
* wallyworld tosses04:37
StevenKwallyworld: It should have built, can you run 'bin/ec2 ls --show-urls' and see what the log shows05:03
wallyworldStevenK: ah, bollocks. i didn't look back at the console after i ran and there was an error. trying again05:04
StevenKWhat error?05:04
wallyworldi pasted in the mp url instead of the branch05:05
* wgrant tries not to be sick.05:12
StevenKwgrant: Hmm?05:14
wgrantStevenK: https://bugs.launchpad.net/launchpad/+bug/556680/comments/5 and https://bugs.launchpad.net/launchpad/+bug/881019/comments/1505:16
wgrantBeware, there is OpenID.05:16
StevenKThe novel you posted to bug 556680 is impressive.05:19
wallyworldwgrant: can has quick review? https://code.launchpad.net/~wallyworld/launchpad/sortable-dates-fix-918892/+merge/8938005:21
wgrantwallyworld: Ah, heh.05:22
wgrantr=me05:22
StevenKwallyworld: I won't ask how long *that* took to track down.05:23
wallyworldthanks. took me ages to find the problem. seems really simple now05:23
wallyworldabout 4 #@%@^ hours05:23
wallyworldmy brain hurts sooooo much today. this week it has done a lot of cogitating05:25
wallyworldwgrant: could use lp-land for me? pretty please. ec2 land now works but lp-land still is broken05:26
wgrantGood to see you living dangerously :)05:26
wallyworldwell, there are no tests for it05:27
wgrantHeh05:27
wallyworldand it's broken anyhow05:27
wgrantSubmitted05:28
huwshimiwallyworld: What's wrong with you lp-land?05:28
huwshimi*your05:29
wallyworldhuwshimi: an api change in precise05:29
wallyworldone of the bzr libs05:29
huwshimiwallyworld: Oh, awesome05:29
wallyworldvarious get_foo methods replaces by get('foo'), or something like that05:30
wallyworldit's known05:30
StevenKwgrant: Total: 3223 tests, 112 failures, 99 errors in 56 minutes 38.785 seconds.05:42
StevenKI think I see why the failure mail was 15MiB.05:43
StevenKwallyworld: I wonder if pqm-submit works for you05:43
wallyworldStevenK: use-convoy => devel  [FAILED]   (up for 0:37:03) i-e81c158a.... waiting for the email to arrive to see what happened05:44
StevenKThat will take another 3+ hours05:44
StevenKYou can add --show-urls and open the URL it shows05:44
wallyworldStevenK: actually, i updated bzr-pqm earlier today so perhaps it will work05:45
wallyworldStevenK: failures due to doc test errors. extra lines like "import site' failed; use -v for traceback"05:46
StevenKHm05:47
StevenKYou may have to run them locally05:47
wallyworldso with that extra output, most all doc tests break. but other tests appear fine05:47
wgrantIt's of course possible that ec2 only runs apt-get upgrade, so it won't have installed convoy...05:47
wallyworldhow is import site related to convoy being installed?05:48
wgrantIs there much else it could be related to?05:48
wgrantThey're not obviously related, but it's the only thing that comes to mind.05:48
wallyworldno, but i don't get the correlation05:48
wgrantsite overrides our pythonpath and various other evil things.05:48
StevenKwgrant: The make was successful, so it has05:49
wgrantHmm05:49
StevenKupgrade will install new dependencies of already installed packages that are to be upgraded05:50
wgrantExcept sometimes it doesn't.05:50
StevenKDepends on the situation05:50
wallyworldyes, without convoy installed, make failed05:51
StevenKapt has some funny ideas05:51
wgrantFrequently eg. linux-generic gets held back, despite just requiring installation of new ABIed packages.05:51
wallyworldi tried locally a test and i got a different error05:51
wallyworld'import sitecustomize' failed; use -v for traceback05:51
wallyworldsimilar but different05:52
StevenKwgrant: ec2 does aptitude update and aptitude -y full-upgrade05:53
StevenKYay for pointlessly different package resolution05:53
wallyworldi get 'import sitecustomize' failed; use -v for traceback whenever devel/bin/py runs05:54
wallyworldeverything that doesn;t try and match text against stdout like doc tests do seems to work05:54
StevenKLet's delete all doctests.05:55
StevenKI can't see anyone disagreeing with that plan.05:55
wallyworldi'd still like to know wtf is going on05:55
wallyworlddoctests are useful if they are used as doco plus examples to show how to use the apis05:56
wgrantuse -v for traceback :)05:56
StevenK    self.user = request.user05:58
StevenKAttributeError: 'LaunchpadTestRequest' object has no attribute 'user'05:58
StevenKRARGH!05:58
StevenKHmm05:58
StevenKrequest.principal ?05:58
wallyworldpython 2.7 related error it seems https://pastebin.canonical.com/58488/05:59
wgrantStevenK: request.user should be right, but maybe LTR doesn't provide it.06:00
StevenKIt would seem it does.06:00
StevenKEr, does not06:00
StevenKwgrant: lbr.user == AttributeError: 'LaunchpadBrowserRequest' object has no attribute 'user' / lbr.principal == None06:04
* StevenK shakes his fist at LaunchBag06:09
* StevenK is concerned that we don't any production OOPS report from today.07:50
wgrantStevenK: postgres was restarted for an upgrade, so it's not entirely surprising.07:52
StevenKAh07:52
wgrantThe amqp2disks died, but I restarted them.07:52
StevenKwgrant: http://www.flickr.com/photos/telekon/6718360105/07:53
=== almaisan-away is now known as al-maisan
adeuringgood morning08:59
danhgMorning guys09:08
=== al-maisan is now known as almaisan-away
=== jtv is now known as jtv-eat
rick_hmorning11:32
=== jtv-eat is now known as jtv
=== stub1 is now known as stub
jmlDoes anyone know where lifeless's list of architecture values lives on the web? (ISTR "visible" and "fast" being two of them)12:25
cjwatsonjml: http://launchpad.readthedocs.org/en/latest/values.html ?12:28
cjwatsonor http://launchpad.readthedocs.org/en/latest/strategy.html12:29
cjwatson(https://dev.launchpad.net/ -> "Documentation in the Launchpad tree" -> ...)12:29
rick_hwe've got RTD? didn't know that12:29
jmlcjwatson: thanks, but those are more functional / user-level values. (Also, those are the ones I wrote :))12:29
jmlhmm. actually, I think it's in a slide somewhere.12:29
cjwatsonah, heh12:29
* cjwatson goes to teach granny to suck eggs, too12:30
jmlcjwatson: heh heh12:30
jmlrick_h: yeah, I set it up in a fit of effort for making the codebase more approachable through more navigable docs12:31
rick_hcool, /me markes the buildout doc as must read sometime today12:32
jmlI guess people still rely more on code and the oral tradition.12:32
=== matsubara-afk is now known as matsubara
jmlrick_h: I'm biased, but the README is pretty fun.12:32
jmlfound it: https://docs.google.com/a/canonical.com/present/view?id=0AR8DGdpwOJuiZGdwZGNmbjlfN2t2ZHBxanhx&hl=en_US12:33
cjwatsonCode gets less out of date :-/12:33
jmloh huh, https://dev.launchpad.net/ArchitectureGuide/12:33
rick_hyea, and code you can test/run with. Often I find I end up chasing one doc to another for hours.12:34
rick_hit's like getting sucked into wikipedia12:34
jmlcjwatson: yeah.12:34
jmlactually, well, sort of.12:34
jmlone thing LP suffers from is that the way of doing things changes, but not all of the instances of the old way are updated12:35
jmlor are partially updated12:35
jmland then when you go to use some existing code as a reference, you have little clue as to whether it's a good quality reference.12:35
rick_h+1 to that12:35
cjwatsonYep.  The existence of deprecated functions that have no external API ...12:36
cjwatsonJFD(elete)I12:36
jmlor multiple variant spellings of displayname, date_created etc.12:36
jmlOh how I'd love to go to Launchpad with a sharp knife and a clean conscience.12:37
cjwatsonthe piles of sqlobject stuff still around are particularly confusing for this newcomer12:38
jmlthis old timer too.12:39
StevenKcjwatson: I get quite scared about moving some of the Soyuz stuff from SQLObject to Storm since some of the queries are on a knife-edge as it is ...12:48
bigjoolsyeah, there's loads of preloads going on in the old-style queries that will be affecting code used in completely different placves12:52
bigjoolsbit of a shambles12:52
wgrantA lot of it is already so slow that it doesn't really matter, though.12:52
wgrantIt's not *that* bad.12:52
jmlStevenK: I guess if you're reluctant to do something useful because of uncertain negative consequences, then the thing to do is find some way of safe experimentation.12:54
jmlStevenK: there's such a thing as paralysis from lack of analysis12:56
StevenKOn the other hand, I did just change a query in BPPH from SQLObject to Storm and due to having a bit of denormalised data and a new index, it dropped from 6000ms to about 30.12:57
jmlwoot12:59
LaneyWhat's the right way to run doctests? I'm just getting NameError for everything.13:00
rick_hLaney: which doctests are you trying to run? the filename?13:00
Laneybin/test -cvv -t soyuz/doc/publishing.txt13:00
StevenKNo path13:01
StevenKJust publishing.txt13:01
Laneyah13:01
wgrantWell13:01
wgrant-t takes a regex13:01
Laneyyeah, still fails13:01
wgrantwhat's the error?13:02
Laneyif HTTP was working I could show you ...13:02
Laneywgrant: http://paste.debian.net/152951/ and others like it13:03
wgrantThose are cascading from a real failure at the top.13:03
Laneydo I need to set up the database somehow?13:03
wgrantYou need to find the first error.13:03
wgrantSetting copied_binary failed at some point.13:03
Laney1s.13:03
wgrantdoctests are a bit awesome like that -113:03
wgrantEr13:03
wgrantThe -1 option used to show only the first error.13:04
wgrantBut that broke a year or so ago :(13:04
jmlbuh bow13:04
Laneyyes, yes, I see it now. Somewhat buried.13:04
jmlfor the parallel testing stuff, I guess you're going to stick w/ z.testing?13:05
wgrantjml: Yep13:05
Laneydo they use a different database?13:05
wgrantjml: Just with testr + LXC on top of it13:05
wgrantLaney: Each time the testrunner starts it creates a fresh DB from launchpad_ftest_template, named launchpad_ftest_$PID13:05
Laneyright, so I need to patch the template. ta.13:06
rick_hanyone give me a hint what I'm looking for with this question in #launchpad? http://paste.mitechie.com/show/507/13:06
rick_hthe thing says "published 17hrs ago" and I'm not seeing a queue or something else that's pending13:06
jmlwgrant: makes sense. still, would be nice to ditch zope.testing, or at least be not using a fork of an old version.13:06
wgrantjml: Indeed.13:16
Laneyhttps://code.launchpad.net/~laney/launchpad/add-sponsor-field-to-spph just fixed the test failures — stupid omission — and would appreciate another go at ec213:28
* cjwatson finds13:32
cjwatson    # A helper for the common case.  IWBNI we had Python 2.5 because13:32
cjwatson    # then we could just use functools.partial().13:32
rick_hLaney: sure thing, will fire it off13:33
wgrantcjwatson: At least it's only in a test.13:33
=== bac changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: bac | Firefighting: - | Critical bugtasks: 3*10^2
cjwatsonIt's OK to rely on switch_dbuser committing the transaction, right?13:35
Laneyrick_h: thanks13:36
wgrantcjwatson: Yes. But you should normally be using 'with dbuser', probably.13:39
wgrantcjwatson: You can also use it from FunctionalLayer now, rather than just ZopelessLayer.13:39
wgrantYou'll still see some tests around saying they're ZopelessLayer so they can change DB users, but I fixed that a few months ago.13:40
cjwatsonwgrant: Right, I just found an old thing that said it had to commit because switching DB users did transaction.abort.  I'll kill that.13:42
wgrantcjwatson: That used to be the case, but 10 refactoring branches later and it's a bit more sensible.13:42
wgrantwith dbuser: does commit/switch/yield/commit/switch, which is usually what you want.13:43
cjwatsonYup.13:43
cjwatsonOr with lp_dbuser.13:43
deryckMorning, all.14:02
=== almaisan-away is now known as al-maisan
=== matsubara is now known as matsubara-lunch
bigjoolshowdy kirkland15:16
kirklandbigjools: howdy :-)15:16
bigjoolspractising my Texan15:16
kirklandbigjools: okay, so we have a commercial LP license15:16
bigjoolsanyway! I think it's fine15:16
kirklandbigjools: well done :-)  You wear the jersey, already :-)15:16
bigjoolsprovided that it's done only for private PPAs15:17
bigjoolsyes I've been indoctrinated with Burnt Orange15:17
kirklandbigjools: heh, well, i'm all aggie, but i won't hold that longhorn affliction against you ;-)15:17
bigjoolsalso it should be opt in on the +edit page and only enabled if the PPA is private15:17
bigjoolshowever there are some repercussions of doing this15:18
kirklandbigjools: okay, so a "publish source", as an option, default to true for legacy compatibility15:18
bigjoolsaggie? I've been told that you guys shag sheep!15:18
bigjoolsvicious rumours I'm sure15:18
kirklandbigjools: :-P15:19
bigjoolsmoving on ...15:19
bigjoolsif we don't publish sources, they will remain as PENDING forever15:19
bigjoolswhich slows down the publisher15:19
kirklandbigjools: can we publish them and then purge them immediately?15:20
bigjoolsso I will need to look at a way around that15:20
bigjoolswell the other option is to mark them PUBLISHED but not actually publish15:20
kirklandbigjools: okay15:22
bigjoolskirkland: can you file a bug about this so we can discuss there and I can subscribe wgrant who will no doubt have a strong opinion15:22
kirklandbigjools: any idea of how hard or complex this would be?15:22
kirklandbigjools: sure, against launchpad itself?  or another component?15:22
bigjoolsnot particularly hard at all for someone with LP experience15:22
bigjoolsyes lp15:22
bigjoolsyou need a schema change, a model change, view code changes and a publisher change15:23
bigjoolsit's the latter that needs careful attention15:24
bigjoolsfor example, if we mark them PUBLISHED and they are not and you change your mind with the flag, then you can never publish those sources15:25
kirklandbigjools: https://bugs.launchpad.net/launchpad/+bug/91924115:26
_mup_Bug #919241: provide an option to no publish sources in a private ppa <Launchpad itself:New> < https://launchpad.net/bugs/919241 >15:26
bigjoolsthere's currently a method that fetches all PPAs with pending publications, and it does that by UNIONing two queries, one for sources one for PPAs.  It could be split into two methods and optionally unioned by the main publisher if sources are needed15:26
bigjoolskirkland: I'll comment on there with my thoughts.15:26
kirklandbigjools: perfect, thanks15:27
bigjoolsfixed the bug title :)15:27
kirklandbigjools: okay, perhaps this is a bit over my head, then15:27
bigjoolsno really, it's not too bad15:28
bigjoolsas far as LP patches go :)15:28
bigjoolsI'll describe a proposed change15:28
kirklandbigjools: rockin'15:28
kirklandbigjools: I've subscribed two of my colleagues (who are also in #launchpad)15:29
kirklandbigjools: its their work that is currently blocking on this bug15:29
bigjoolscool15:29
kirklandbigjools: we're doing some really ugly work arounds in the mean time15:29
kirklandbigjools: and it's just not pretty15:29
bigjoolsI bet15:29
kirklandbigjools: last thread of questions...  walk me through the dev process for getting something like this implemented15:32
bigjoolsone sec15:32
kirklandbigjools: does it need to land in a blueprint or a sprint or work its way through a backlog?15:33
bigjoolskirkland: no, none of that is needed.  JFDI.15:36
kirklandbigjools: cool15:36
bigjoolssomeone will be happy to mentor you although I am not sure how much time I will personally have15:36
kirklandbigjools: okay, any pointers to suitable mentors for this one?15:36
bigjoolsso anyone can guide you through the landing process, but you need a soyuz expert to review the changes15:37
kirklandbigjools: can you give me a few l33t soyuz nicks?15:37
bigjoolswhich is basically me, wgrant, StevenK and jtv to some extent as he has worked on the publisher. He might kill me for saying that though :)15:37
kirklandbigjools: :-)15:37
jtvbigjools: this is where the "hey let's get together sometime in the coming weeks" becomes useful.15:38
bigjoolsonce my question in the bug is answered, this is a really easy change15:38
jcsackettLaney: did you see your branch test results?15:42
rick_hjcsackett: yea, she fixed it and I'm rerunning the tests for her15:44
rick_hjcsackett: hope you don't mind, I responded to the loggerhead reviews and attached you for follow up review since we talked/started looking at those yesterday15:45
jcsackettrick_h: don't mind at all.15:45
=== al-maisan is now known as almaisan-away
rick_hderyck: in checking the diff of devel vs use-convoy I'm seeing a bunch of python -> python2.6 hard coded?16:15
rick_hhmm, must be generated because I don't see it in the MP diff16:17
=== matsubara-lunch is now known as matsubara
deryckrick_h, that's a buildout thing. I did wonder if python version mattered, based on my quick look at the error16:31
rick_hderyck: yea, sending an email back with my findings so far16:35
rick_hin case it jogs anything in your head16:35
rick_hbut forgot to add the -dev list16:35
=== salgado is now known as salgado-lunch
sinzuideryck, do you have a few minutes to discuss some incomplete widget javascript16:53
derycksinzui, sure.16:55
deryckhangout or mumble?16:55
sinzuiI will try hangout16:55
deryckk16:56
sinzuiLooks like I can start a hangout from my phone if I send a message to you16:57
deryckah ok, I started one and invited you.16:57
deryckI'll kill mine.16:57
derycksinzui, you don't show up for me.  I don't mind jumping to mumble instead.17:00
sinzuiyou start and I will join17:01
sinzuiI am still learning this17:01
sinzuideryck, https://bugs.qastaging.launchpad.net/launchpad/+bug/58339217:04
_mup_Bug #583392: IntegrityError raised setting a branch for a project series. <branches> <easy> <lp-code> <oops> <series> <Launchpad itself:Triaged> < https://launchpad.net/bugs/583392 >17:04
=== almaisan-away is now known as al-maisan
=== salgado-lunch is now known as salgado
=== deryck is now known as deryck[lunch]
=== deryck[lunch] is now known as deryck
wgrantkirkland: It's far harder than it seems.19:46
wgrantkirkland: Because private PPA builds get the source files from the published archive.19:46
wgrantkirkland: I suspect what you really want is to be able to copy binaries without sources into another PPA19:46
kirklandwgrant: okay19:46
wgrantBut that is a terrifying proposition.19:46
kirklandwgrant: *that* would be phenomenal19:47
kirklandwgrant: we're happy with our builds19:47
kirklandwgrant: but we *only* want to publish the debs19:47
kirklandwgrant: for some projects19:47
kirklandwgrant: why is that a terrifying proposition?19:47
kirklandbearing in mind that i hate non-free software as much as the next guy19:48
kirkland(the next guy in this channel)19:48
wgrantkirkland: I was ignoring the non-free bit. It's terrifying because pretty much all of Soyuz is based around being able to have the sources there as well.19:48
kirklandwgrant: urgh19:49
wgrantI'm not quite sure how to model this.19:49
wgrantIt's certainly doable.19:49
wgrantAnd the basics would be easy to get working.19:49
kirklandwgrant: maybe we need to just run our own archive.gazzang.com and just mirror the debs from the private ppa19:49
wgrantBut lots of stuff would probably break down the line.19:49
=== al-maisan is now known as almaisan-away
kirklandwgrant: bummer20:07
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
abentleybac: Could you please review https://code.launchpad.net/~abentley/launchpad/bugcomment-as-icomment/+merge/89497 ?21:32
bacabentley: sure21:33
abentleybac: Thanks.21:33
bacabentley: nice.  very clear branch.21:46
abentleybac: Thanks.21:46
sinzuibac: are you still reviewing? do you have time for https://code.launchpad.net/~sinzui/launchpad/dsp-vocab-fixes/+merge/8950522:23
bacsinzui: sure22:23
bacsinzui: done22:28
=== bac changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 3*10^2
sinzuithank you bac.22:29
* sinzui spell checks test module22:29

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