* StevenK stabs the uploadprocessor tests00:10
StevenKFill up a bunch of changes files with the same signature and different data and then a new test fails GPG verification00:11
lifelesscan has review ?00:16
StevenKAnd back to fighting with gpg00:19
StevenKwgrant: The current files specify a DSA key ID that isn't in the keyring00:27
wgrantStevenK: Which file?00:28
StevenKwgrant: steven@undermined:.../suite/bar_1.0-4% GNUPGHOME=../.. gpg --verify < bar_1.0-4_source.changes00:28
StevenKgpg: WARNING: unsafe permissions on homedir `../..'00:29
StevenKgpg: Signature made Thu 25 Jan 2007 07:02:00 AM EST using DSA key ID 6C64A8C500:29
wgrantStevenK: lib/lp/testing/gpgkeys/data/foo.bar@canonical.com.sec00:31
wgrantsec  1024D/6C64A8C5 2005-04-13 Foo Bar <foo.bar@canonical.com>00:32
wgrant(passphrase is 'test')00:33
StevenKwgrant: Ah, thanks.00:39
StevenKwgrant: GNUPGHOME=. gpg --import < <.sec> and then --clearsign worked00:40
StevenKwgrant: Ah ha, actual    = 'Unhandled exception processing upload: too many values to unpack'00:44
StevenKHaha, yeah, fileline.strip().split() -> ValueError00:49
wgrantAs you'd expect :)00:49
StevenK lp.archiveuploader.tests.test_uploadprocessor.TestUploadProcessor.testUploadWithMalformedSectionIsRejected00:57
StevenK  Ran 1 tests with 0 failures and 0 errors in 2.382 seconds.00:57
wgrantDo you reject it directly, or just do a split(' ', 4) and let it fail when the filename is malformed?00:59
wgrantsplit(' ', 3) actually, I guess01:00
StevenKI catch the ValueError and yield UploadError01:00
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/deal-with-badly-formed-section/+merge/12590801:17
StevenKwallyworld_: I'd ask you to review that branch, but you'd see 'lib/lp/archiveuploader' in the diff and run screaming. :-)01:18
wgrantStevenK: Looking01:25
wallyworld_StevenK: sorry, was buying lunch, otherwise would have looked01:46
StevenKwallyworld_: It's all good, I was only teasing you01:47
StevenKI should go and buy part of my lunch01:47
StevenKOtherwise I'll be having toasted turkey sandwiches with no bread01:47
StevenKwgrant: Oh haha. I bet I know what is causing bug 89912302:24
_mup_Bug #899123: IntegrityError raised deleting a series <bugs> <milestones> <oops> <series> <Launchpad itself:Triaged> < https://launchpad.net/bugs/899123 >02:24
wgrantStevenK: Hm?02:28
wgrantStevenK: It'02:28
wgrants pretty clear what the problem is.02:28
StevenKwgrant: Oh? My thought is bugtasks that self.user can't see, so don't get returned so the milestone can be cleared02:29
wgrantStevenK: Exactly02:30
wgrantThe product the series is on gives it away02:30
StevenKOh, I read the code to deduce that02:31
StevenKThe fact that the code is in lib/lp/registry/browser/__init__.py makes me sad02:31
mwhudsonwgrant: just because i know you'll understand my pain03:12
mwhudson Aggregate  (cost=1996.76..1996.77 rows=1 width=0) (actual time=449033.137..449033.137 rows=1 loops=1)03:12
mwhudsoni suspect this estimate of being slightly inaccurate03:12
wgrantDjango amuses me03:13
wgrantThe schema style it encourages introduces a lot of potential planning issues03:13
mwhudsonfortunately i have already rewritten this query03:17
lifeless‰/win 9403:28
wallyworld_StevenK: wgrant: fancy a quickie? https://code.launchpad.net/~wallyworld/launchpad/bug-sharing-policy-weirdness-1055250/+merge/12591603:49
StevenKWith you?03:50
StevenKwallyworld_: You can't use setB{ug,ranch}SharingPolicy ?03:51
wallyworld_where? test?03:51
StevenKYeah, in the tests03:51
wallyworld_using setXXX() in the tests errors because it tries to create another commercial subscription and do other things we don't care about03:52
StevenKCreate? I thought it checked them03:52
wallyworld_creating a project with private sharing policy creates a subscription at the same time03:53
wallyworld_in the factory03:53
wallyworld_i guess setXXX() should behave properly if there's already a subscription03:54
StevenKwallyworld_: setB{ug,ranch}SharingPolicy will work fine if you're tossing in FORBIDDEN, read the code.03:54
wallyworld_yes, i wonder why i got an error then, i'll retry03:55
StevenKwgrant: So would user=ILaunchpadCelebrites.admin in RegistryDeleteViewMixin._getBugtasks cause me to get murdered?03:57
wallyworld_StevenK: i must have been on crack or something. works. changes pushed03:58
wgrantStevenK: I think so, yeah04:00
StevenKwgrant: :-(04:00
wgrantIf you have no other choice, then maybe04:00
StevenKI think my other choice is store.find(BugTask, BugTask.milestone == ...) but conjoined masters foul that up04:00
wgrantStevenK: Or to give bugtasksearch an option to not do privacy checks04:01
StevenKwgrant: Which I've not seen in my searching.04:02
wgrantRight, you probably need to add such a feature04:03
=== Ursinha is now known as Ursinha-afk
lifelesswe probably should upgrade the oops-tools on lp-oops04:08
lifelessor give it a quiet death04:08
StevenKIf we can import the oops in lp-oops into oops, then we can shoot it04:10
lifelessor we could just let them go away04:10
StevenKSure, let's make a bunch of criticals more useless, what could possibly go wrong.04:11
lifelesshow often do you reference them04:15
lifelessand how often have they stopped happening entirely?04:15
StevenKlifeless: There are a large number of critical bugs that include an OOPS and very little else. Some of these OOPSes can not be found at all, and others are only on lp-oops.04:16
StevenKThis OOPS happened once and hasn't occured for two years and yet we have a Critical open with no useful content.04:17
lifelessso, close the critical04:17
lifelessif the critical is an oops or timeout04:18
lifelessthe report will tell us if it happens again04:18
StevenKlifeless: Bug 893576 is a good example04:19
_mup_Bug #893576:   AttributeError: 'SourcePackageRecipeRequestDailyBuildView' object has no attribute 'index'  <oops> <recipe> <Launchpad itself:Triaged> < https://launchpad.net/bugs/893576 >04:19
lifelessStevenK: its on neither server?04:24
wallyworld_wgrant: StevenK: when a commercial voucher is redeemed, i would expect the bug/branch sharing policies to be set to proprietary automatically rather than requiring the maintainer to go to +sharing to update. from what i can tell, this doesn't happen. do we want to fix?04:24
StevenKlifeless: Right04:24
wgrantwallyworld_: Not exactly04:25
wgrantwallyworld_: The normal use case is that someone creates a project as Other/Proprietary04:25
StevenKlifeless: I'm struggling to find a bug that has an OOPS that is on lp-oops but not oops, but they do exist, and their content level is about the same as that bug.04:25
wgrantSo they automatically get Proprietary04:25
wallyworld_wgrant: sure, but when the subscription expires and then extended04:26
wallyworld_is the case i'm talking sbout04:26
lifelessStevenK: so, I would grep for the error04:26
wallyworld_we don't reset the policies from forbidden (or public) back to proprietary04:26
wgrantwallyworld_: That's really rare and easy for them to fix manually, and we can't do it unambiguously, so probably not04:26
lifelessoops-amqp/launchpad/production$ grep SourcePackageRecipeRequestDailyBuildView . -r04:26
lifelessif its not there, close the bug - its not happening enough to worry about for now04:27
wgrantThe bug is still there04:27
wgrantAnd it's trivial to reproduce04:27
wallyworld_wgrant: but it mirrors the concerns about leaking info. if they extend the subscription, they would rightly expect stuff to be private from then on. but it won't be unless they do something04:27
lifelesswgrant: thats good then, you can fixup the bug04:28
wgrantwallyworld_: eg. ubuntuone-servers is Other/Proprietary04:28
wgrantwallyworld_: But the bugs are usually public04:28
wallyworld_wgrant: or push a branch04:28
lifelesswgrant: I'm just saying that we have 2K errors a day, stressing about data for something with an incident rate < 1/2 weeks is not worth doing04:28
wgrantwallyworld_: Sure, and it'll tell them they need to go to +sharing to fix it04:28
StevenKwgrant: Then please link a proper OOPS to the bug :_004:28
lifelessthats 1 every 2 weeks.04:28
wgrantStevenK: I have04:29
=== almaisan-away is now known as al-maisan
wgrantBut it's literally as trivial as it can get04:29
wgrantJust go to the pageid referenced in the OOPS04:29
wallyworld_wgrant: we are now arguing different sides of the same thing we were discussing last week04:29
wgrantwallyworld_: My argument last week was primarily based on the fact that it is dangerous to leak things04:29
wgrantThis won't leak things04:29
wgrantIt will reject them04:29
wallyworld_yes it will04:29
StevenKOh, let me guess +request-daily-build only wants POST04:29
wallyworld_if they have changed to public04:29
lifelesswgrant: that oops wasn't readable04:30
wgrantwallyworld_: If they set it to Public then they probably want it Public...04:30
lifelesswas it ?04:30
wgrant AttributeError: 'SourcePackageRecipeRequestDailyBuildView' object has no attribute 'index'04:30
wgrant^^ that is the pageid04:30
wallyworld_wgrant: they will rightly expect getting s new subscription will make things proproetary sgasin04:30
wgrantWell, no actual pageid04:30
wgrantBut view name04:30
wgrantwallyworld_: Why?04:30
wallyworld_why not? i would04:30
wgrantThey explicitly set it to Public after the subscription expired04:30
wallyworld_sure, asnd then thry buy another subscription04:31
wallyworld_so they expect things to go back to provate04:31
wgrantThe reactivation page could hint that it hasn't changed your existing settings04:31
wallyworld_reasonable expectation04:31
wgrantIt probably should do that, in fact, for when projects initially obtain a commercial subscription04:31
=== al-maisan is now known as almaisan-away
wgrantBut we shouldn't just override what they asked us to do 5 minutes ago04:31
bigjoolsWTF: bzr: ERROR: Permission denied: "Cannot create 'add-maas-cluster-packaging'. Only Bazaar branches are allowed."04:31
wgrantbigjools: Your URL is bad04:31
lifelesswgrant: no orccurences of that oops on neem prod04:31
wallyworld_wgrant: hmmm. i wonder if we can tell the difference04:32
wallyworld_i'll raise a bug and we can discuss on the call04:32
wgrantwallyworld_: Which difference?04:32
bigjoolswgrant: the branch already exists, I am pushing an update04:32
wgrantwallyworld_: In neither case do we want to do it automatically.04:32
wgrantbigjools: What's the URL?04:32
bigjoolsoh wait04:32
wallyworld_wgrant: i disagree04:32
bigjoolsfuck sake04:32
wgrantwallyworld_: The voucher redemption page should certainly point to +sharing04:32
wgrantBut to change it automatically? That's pretty strange.04:32
wallyworld_the difference between initially getting a subscription and extending one04:32
bigjoolswgrant: thanks, pebkac, but you pointed me in the right direction04:33
bigjoolshint: moving branches to a subdir confuses bzr :)04:33
wgrantwallyworld_: Just because my code is proprietary doesn't meant that my bugs are.04:33
wgrantFor ease of setup we do make that policy decision, once, at project creation04:33
wgrantWe never set the sharing policies ourselves ever again, *except* for setting them to Forbidden when a subscription expires04:34
wgrantIn all other situations we do what the project owner asked.04:34
lifelessStevenK: so - if the oops doesn't exist on eithe rserver, try wgrants heuristic if you have a view, try grepping for the view or its base r something on neem, and then close.04:34
lifelessStevenK: diminishing returns after that, we're not doing a NASA.04:34
wallyworld_wgrant: but we can leak info because the project owner would have rightful expectstion thast extending a subscription would make stuff proprietary again04:34
StevenKlifeless: But if you want to destroy lp-oops and free up CPU time on carob, go ahead04:35
wgrantwallyworld_: That's extremely debatable if they're previously explicitly set it to Public.04:35
wallyworld_not to me04:35
wallyworld_i would expect it04:35
wgrantwallyworld_: The commercial subscription documentation has always made clear that it doesn't implicitly turn on privacy features04:35
wallyworld_since it was only set to public to reset the forbidden04:35
wgrantIt just enables you to configure them04:35
wallyworld_until they got to buy a new subscription04:35
wgrantwallyworld_: If your stuff is proprietary and you set your policies to public, then you are really really stupid.04:35
wallyworld_well, i argued the same thing last week04:36
wgrantNo, last week you argued it was really really stupid and we could do whatever we wanted just because you ignored an expiry email04:36
wgrantI argued that we couldn't04:36
wgrantNow I'm arguing that we can respect Public if they project owner set Public.04:36
wgrantThere's no inconsistency in my position.04:36
wallyworld_it depends on project owner expectations04:37
wgrantWhy would you set it to Public?04:37
wallyworld_mine would be that buying a subscription makes stuff private04:37
wgrantThat's something that has never been true.04:37
wgrantAnd we never state that04:38
wgrantAnd it doesn't always make sense.04:38
wgrantWe make it clear that you need to configure your project's privacy options.04:38
wallyworld_hmm. ok. if it's never been true, then i guess no need to change. but i find it strange we do it that way04:38
wgrantNow, yes, it was pretty strange that the default for a new proprietary project was for everything to public.04:38
wgrantAnd we fixed that default.04:38
wallyworld_i see extending a subscription in the same light04:39
wgrantI'm Product Strategy04:39
wgrantI want to have proprietary bugs and branches on Unity so I can perform my nefarious freedom-hating deeds in secret04:39
wgrantNow, the project is currently listed as GPL04:39
* ajmitch quotes out of context04:39
wgrantBut I need a commercial subscription, so I buy and activate it04:40
wgrantNow all the random user bugs and branches are Proprietary because Launchpad changed something without asking me :(04:40
wallyworld_no, that's exactly what i would expect04:40
wallyworld_as the owner who bought the subscription04:40
wallyworld_because i was the one who bought the subscription expecting to hsve private stuff04:41
wgrantExpecting to have private stuff.04:41
wallyworld_i guess you and i have different expectstions04:41
wgrantNot expecting everything to be forced private despite me saying yesterday that it was public by default.04:41
wallyworld_i would have only said that yesterday because i hadn't decided to buy a subscription yet04:41
wgrantUnity wants "Public, can be proprietary" for bugs and branches04:42
wallyworld_but once i make the decison to prchase, i want proproertary04:42
wallyworld_and even if i didn't it's best to fail closed as you said last week04:42
wallyworld_easy to make a few things public again than the other way round04:43
wgrantIf we're unilaterally making a change then we have to fail closed.04:43
wgrantIt's far better for everyone if we can avoid making a change at all04:43
wallyworld_but buying a subscription is a change04:43
wgrantIn general, users will be less surprised if we do what they say04:43
wgrant"buying commercial subscription" != "making project private"04:44
wallyworld_yes, and to me, buying a subscription carries certain expectations04:44
wgrantThen we need to fix the pages to make it clear that those expectations are false.04:44
StevenKwallyworld_: So, you have a public product with public bugs and branches.04:44
wallyworld_yes, i but now i want to buy a subscriotion04:44
StevenKwallyworld_: You buy a subscription since you want to have some work be private until you're ready to release it.04:44
StevenKwallyworld_: So now all the current stuff is all private? Does not make sense.04:45
wallyworld_no, not the existing stuff04:45
wallyworld_new stuff04:45
StevenKYou don't want new stuff all private too04:45
wallyworld_stuff i create *after* i buy the subscription04:45
StevenKJust selected stuff04:45
StevenKwallyworld_: Since not all new work is going to be on the private work04:46
wallyworld_yes, but branches need to be proprietary by default04:46
wgrantBuying a Launchpad commercial subscription means you get to use proprietary features.04:46
StevenKNo, they don't04:46
wgrantThat's all it does.04:46
StevenKwallyworld_: So, you put up a bug fix branch for the released work. It should be public, why did LP create it as private?04:47
wallyworld_better to do that than leak info04:47
wallyworld_this would be easier using voice, let's discuss tomorrow04:47
StevenKI agree with wgrant, fwiw04:47
wallyworld_as a customer, i guess my expectations are different to yours04:48
StevenKwallyworld_: Ask thumper what he would expect04:48
wgrantthumper wrote branch privacy04:48
wgrantHe's probably not a good person to ask :)04:48
StevenKwgrant: So, IntegrityError: update or delete on table "milestone" violates foreign key constraint "bugtask__product__milestone__fk" on table "bugtask"04:49
StevenK(From a test I wrote)04:49
StevenKNow to find the user bit in search_bugs again04:49
wgrantwallyworld_: We certainly need to rewrite the commercial views, emails and documentation to make clear that you probably want to visit +sharing04:49
wgrantBut I don't think making the change automatically is a good idea04:49
wgrantAnd it's certainly not mandatory.04:50
wallyworld_wgrant: but last week your argued that noone reads emails :-P04:50
wgrantwallyworld_: My company's commercial subscription admin left the company a month after they activated the commercial subscription :(04:50
wgrantSo the expiration email that Launchpad sent to us 11 months later was gone04:50
StevenKwallyworld_: As an aside, "Public, can be proprietary" means all new stuff should be private?04:51
wallyworld_yeah, i know the argument. its the same for this new case too04:51
wallyworld_StevenK: no04:51
wgrantBut the commercial subscription admin didn't leave 30 seconds after activating the subscription, so they were able to see that email, as well as the page confirming that the subscription was active.04:51
StevenKwallyworld_: But that's what you said?04:52
StevenKwallyworld_: You said you buy a subscription which allows you to set "Public, can be proprietary" and therefore since you'd bought a subscription all new stuff should be private04:53
wallyworld_StevenK: no, i said the sharing policy should be changed from forbidden or public to proprietary when a commercial subscription is purchased or extended04:53
wgrantThere's a difference between failing open by a unilateral action from Launchpad 12 months after the other involved party interacted with us, and failing open because Launchpad respected a user's configuration and then hinted that they might want to verify it immediately after an action that could be misunderstood as automatically changing them.04:53
wallyworld_sort of. human error and all that. fail open sometimes is still fail open04:53
wallyworld_StevenK: does it make more sense now with the above clarification?04:54
StevenKwallyworld_: No, but like you said, let's use voice tomorrow04:54
StevenKFailing that, I'm sure wgrant and I can fly to Brisbane to beat sense into you.04:55
wallyworld_i can see both sides of the coin04:56
wgrantAs can I04:56
wgrantAnd your side has some good arguments04:56
wgrantBut I think it's less surprising if we do nothing and *say* that we've done nothing.04:57
wgrant=> mumble tomorrow :)04:57
StevenKwgrant: So, I should add ignore_privacy=False to BugTaskSearchParams04:57
StevenKAnd then use that in _build_query04:57
wgrantStevenK: Something like that04:57
StevenK_deleteMilestone runs as the user so if we return bugtasks they can't see, they can't change them either. :-(05:03
StevenKwgrant: I don't really want to add in rSP either05:04
wgrantStevenK: It might have to05:05
wgrantStevenK: Like package uploads closing bugs.05:05
StevenKwallyworld_, wgrant: https://code.launchpad.net/~stevenk/launchpad/delete-milestone-all-bugs/+merge/12592405:28
wallyworld_rsp :-(05:29
StevenKwallyworld_: I have little choice05:31
wallyworld_StevenK: too bad. i guess rsp is used elsewhere as well where it's unavoidable05:32
StevenKwallyworld_: I don't like it, but if all references aren't scrubbed, we get an OOPS.05:32
wallyworld_StevenK: are there likely to be many bugtasks in that loop? should we look to do a bulk delete instead?05:32
StevenKWe can't do a bulk delete05:32
StevenKWe aren't deleting them05:32
StevenKWell, we are if they're conjoined05:33
wgrantDeleting tasks like that05:33
wgrantIt's existing code05:33
wgrantBut ew05:33
StevenKwgrant: The correct thing to say is 'Conjoined masters. Ew. Ew. Ew. Ew. Ew.'05:34
wgrantI think that code's probably even wrong05:34
wgrantHow does that make sense?05:34
wgrantIf we do happen to want to delete the conjoined master, the slave is still going to have the milestone set, isn't it?05:35
StevenKI tend to close my eyes and say "LALALALA" every time someone mentions conjoined bugs05:35
StevenKwgrant: There is a test for the conjoined master case, but I don't know.05:47
StevenKwgrant: And I don't get the SourcePackageRecipeRequestDailyBuildView object has no index bug -- I'm guessing we don't want to render it directly06:01
wgrantStevenK: Presumably it's never meant to try to render the form, right.06:03
StevenKWell, there is no form06:04
StevenKOn the action, we request a build and redirect away06:04
StevenKWhich I'm guessing it means it was POST'd to, so I should redirect to the recipe in initialize() if it's GET?06:05
wgrantOr potentially remove the view and replace it with an API call06:06
wgrantI'm not sure what the view does.06:06
StevenKIt does AJAX stuff06:06
wgrantI'm completely serious06:06
wgrantIf it doesn't do anything special, it can probably be an API call.06:06
StevenKwgrant: There is some JS that POSTs to it directly06:08
wgrantBut why is it not an API call?06:08
StevenKIt gets the AJAX stuff back and uses it to update the page06:09
lifelessdon't we have an html representation thingy in the API ?06:14
lifelessits terrible but it exsists06:14
wgrantWe do06:19
wgrantI'm not sure it's immensely useful here06:19
wgrantIt probably wants to get the entire build table back06:19
lifelessif only we had some sort of client side template system06:21
StevenKrequestDailyBuild also may raise two exceptions which the view catches and turns into notifications06:22
lifelessStevenK: so whats the simplest thing you can do here ?06:26
StevenKlifeless: Add an initialize() method and redirect, like I've done06:27
lifelessStevenK: cool06:28
StevenKwallyworld_, wgrant: https://code.launchpad.net/~stevenk/launchpad/no-render-sprrdb/+merge/12593006:33
lifelessStevenK: btw, multiple tasks referencing one milestone is a model violation06:37
lifelessStevenK: it only happens because we haven't done onlyseriestasks yet, *and* we don't do non-series milestones.06:38
lifelessso s/is a model/should be a model/ really06:38
StevenKlifeless: You have yet to convince people about onlyseriestasks :-)06:38
StevenKwallyworld_: You have even more QA!06:41
* StevenK upgrades DF, since that will take a few eons06:42
StevenKI wonder if qas will have updated and the deployment report updated before DF finishes06:54
wallyworld_yes, indeed07:02
wallyworld_not used to it being so soon07:02
StevenKsteven@undermined:~/ubuntu% dput dogfood:~stevenk/ppa/ubuntu xserver-xorg-video-ati_6.13.2-1ubuntu3_source.changes07:02
StevenKInvalid Files line in .changes:07:02
StevenK  5266cb3d554ecf973e03af8003e24932 2838 x11, foobar optional xserver-xorg-video-ati_6.13.2-1ubuntu3.dsc07:02
wallyworld_StevenK: and i can just use the project i set up this morning to qa a different bug and which caused me to file and fix this one i'm doing now07:04
wallyworld_mid you, i did lp-land07:05
wallyworld_we do need to put ec2 on steroids07:05
StevenKwallyworld_: Go on, then. I'll wait here. :-P07:06
wallyworld_there's a few options isn't there. but we really should pick one and get it done i guess07:06
wallyworld_i like whatever has no more ec2 bills each month07:07
StevenKJenkins with parameterized builds, then07:07
StevenKwallyworld_: Then shake lifeless until that falls out07:08
wallyworld_i think if we all beat him up that will help07:08
StevenKThere, my QA is done too07:12
wgrantWhat is this madness?07:12
wgrantBug #105525007:12
_mup_Bug #1055250: Bug sharing policy weirdness on +sharing page <disclosure> <qa-ok> <sharing> <ui> <Launchpad itself:Fix Committed by wallyworld> < https://launchpad.net/bugs/1055250 >07:12
wgrant Reported by Ian Booth 5 hours ago07:12
wallyworld_i cheated though07:13
wallyworld_i skipped ec207:13
StevenKwallyworld_, wgrant: Can I have a review now? https://code.launchpad.net/~stevenk/launchpad/no-render-sprrdb/+merge/12593007:13
wallyworld_StevenK: when do we hit that view via a get?07:14
StevenKwallyworld_: When people URL hack07:14
wallyworld_ah, ok07:14
StevenKIt turns up every now and again07:15
wallyworld_sigh. i just ran > 3000 [B|b]ug tests with an AssertionError inserted into some code and the only failure was an artificially constructed doc test.07:17
wgrantWe have some assertions commented out in Soyuz because lots of tests fall afoul of them07:18
wallyworld_back to the drawing board, may need to use a soft oops to find it in prod07:18
wgrantWhat are you asserting?07:18
wgrantWe may be able to neuter the test :)07:18
wallyworld_i put in the assertion to try and find the cause of the issue07:18
wallyworld_that the subject of a bug notification contains [Bug 123] and nothing else07:19
_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 >07:19
wallyworld_to fix bug 13877507:19
_mup_Bug #138775: Notification subject included bug number but no summary for 'subscriber of duplicate' bug notifications <email> <lp-bugs> <regression> <story-better-bug-notification> <Launchpad itself:Triaged> < https://launchpad.net/bugs/138775 >07:19
wgrantI mostly see that with imported comments07:19
wallyworld_poking around the code doesn't seem to show how we are invoking the notification calls with no subject set07:20
wallyworld_i'll revisit tomorrow, gotta do a few things now07:20
wgrantI think there's two bugs there07:20
wgrantThe comments this year refer to something different07:21
wgrantThe original one is probably long gone.07:21
wgrantExcept it's not07:21
wgrantOh no07:22
wgrantIt is all the same issue07:22
wgrantczajkowski's screenshot is of an email from an imported comment07:23
wgrantIt just happens to also be through a dupe subscription07:23
wallyworld_ok, so imported comments may be directly related07:27
wgrantThat's the only case we have any recent evidence of07:27
wallyworld_i'd love to find a test which causes the issue, will try looking for imported comment tests07:28
wgrant        return getUtility(IMessageSet).fromText(07:30
wgrant            owner=poster, subject='', content=comment['text'],07:30
wgrant            datecreated=comment['time'].replace(tzinfo=pytz.timezone('UTC')))07:30
wgrantIn lib/lp/bugs/externalbugtracker/bugzilla.py07:30
wallyworld_ok, so if that's the case, then perhaps there's not much we can do07:30
wallyworld_perhaps the bug is now invalid07:31
wgrantI don't believe the original bug exists07:32
wgrantany more07:32
wgrantThe 2012 stuff is separate07:32
wgrantExternal comments are imported with an empty subject07:32
wallyworld_great, i'll mark the bug as such07:33
adeuringgood morning07:37
wgrantbuildbot failure07:46
wgrantAh, that one07:46
wgrantFAILURE: lp.buildmaster.tests.test_builder.TestSlave.test_status_after_build07:46
stub1Spurious test failure with ec2 from frinday: lp.registry.tests.test_product.TestProduct.test_pillar_category08:08
wgrantstub1: Have you looked at the error message?08:10
wgrantIIRC that's the one I deliberately broke08:10
wgrantBut the error should be obvious if it is08:10
stub1Obvious errors are common in test suites :)08:11
wgrantIt was "raise Exception('Nothing to see here.')" or so08:11
wgrantYeah, that's fixed now08:13
wgrantWas just testing that the new buildbots picked up failures.08:13
wgrantstub1: Do you intend to deploy the new pgbouncer during an fdt window soonish?08:17
stub1wgrant: Yes08:17
=== stub1 is now known as stub
=== almaisan-away is now known as al-maisan
=== jam2 is now known as jam
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
=== gary_poster|away is now known as gary_poster
=== benji___ changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: benji | Firefighting: - | Critical bugs: ∞
=== benji___ is now known as benji
adeuringbenji: could you please review this MP: https://code.launchpad.net/~adeuring/launchpad/sharingjob-remove-bp-subscriptions/+merge/126008 ?13:18
cr3hi folks, is there a reason why Launcphad builders use ascii encoding? I thought the default encoding for Ubuntu, for all languages, was utf-8 but I could be wrong13:19
benjiadeuring: sure13:19
adeuringbenji: thanks. Just noticed that there are merge conflicts..13:20
=== Ursinha-afk is now known as Ursinha
rick_h_adeuring: yea, you hit the moving of InformationType and such to lp.app.enums13:29
benjiadeuring: I'm done reviewing https://code.launchpad.net/~adeuring/launchpad/sharingjob-remove-bp-subscriptions/+merge/12600813:39
adeuringbenji: thanks!13:39
rick_h_benji: for your reading pleasure if you get time https://code.launchpad.net/~rharding/launchpad/regjs/+merge/12578014:30
benjirick_h_: I am warming up the new browser tab factory as we speak.14:31
rick_h_benji: ty much, appreciate it14:32
rick_h_benji: ignore the small yui 3.5.1 one. I'll self review that once we get the productino changes into place. Just holding off until then before moving it forward14:32
=== al-maisan is now known as almaisan-away
rick_h_benji: so yea, that large html swatch was pulled from production. It's generated by the server side Widget stuff and it seemed best just to copy/drop it into place to dupliacte things.14:47
rick_h_load the page, find the element, "copy as html" from the debug tools. I can note taht in the test .html file as the location for future use?14:47
benjirick_h_: at a minimum we should include a comment stating why it is there, hints in the tests that failures might mean that the copied HTML needs to be updated, and detailed instructions on how to update it14:50
benjior we can decouple the tests from the HTML (being more unit-y, I would guess)14:50
rick_h_benji: ok, I'll doc it up. It just takes a lot to bootstrap the choice widget html and such so I cheated as I didn't think of a good way to generate it manually14:50
rick_h_benji: no, you're right. Part of this came from debugging was hard. the choicewidget doesn't just update the radio button so I needed a full ChoiceSource instance to test against14:51
rick_h_I'll look at what I can lose/redo there14:52
tumbleweedbenji: can I prod you to look at https://code.launchpad.net/~stefanor/launchpad/edit-packagesets/+merge/124555 ?15:02
benjitumbleweed: sure15:04
rick_h_let's put this fancy new buildbot to work! bwuhahaha15:45
czajkowskirick_h_: it sounds evil when you say it15:45
* rick_h_ is feeling very evil genius atm15:46
rick_h_benji: ping, I cleaned up the sample html. I still need it because I do some ancestor checking and the license is double nested so I want to test that15:54
rick_h_benji: but I removed all but a single option value from each level so that it's a lot less/cleaned up with a comment up top15:54
benjicool, I'll taake a look in a minute15:55
rick_h_benji: ty15:55
rick_h_die buildbot die...that is all16:32
rick_h_ok, that is cool I can break and unbreak buildbot over lunch17:21
benjirick_h_: I'm afraid I'm being difficult re. https://code.launchpad.net/~rharding/launchpad/regjs/+merge/125780 (I wrote the last comment a while ago but forgot to ping you)17:58
rick_h_benji: yea saw it. I understand. I got sidetracked trying to unbork buildbot17:58
rick_h_benji: so I'll go back and copy and paste, but yea part of the test is to make sure we manipulate the dom correctly so really just no good way to make sure of that without having it in place there17:59
rick_h_where we're missing that live state of automated testing against a live running web page17:59
benjirick_h_: yeah, we're in an odd place there; I think you've struck just about the best balance we can at the moment18:08
cr3hi folks, is there a reason why Launcphad builders use ascii encoding? I thought the default encoding for Ubuntu, for all languages, was utf-8 but I could be wrong18:19
tumbleweedonly in in a UTF-8 locale18:20
cr3tumbleweed: not sure I I understand :)18:21
tumbleweedcr3: the problem you are running into is that the default locale is C, which pre-dates UTF-8. There is a C.UTF-8 locale if you want things to assume UTF-818:23
cr3tumbleweed: isn't the default locale on ubuntu something like en_US.UTF-8? the C locale is ancient, I'm just not sure how it's representative of any installation of ubuntu I've encountered so far18:25
tumbleweedcr3: no. Although it would be in a desktop environment18:26
cr3tumbleweed: hm, ubuntu server looks like en_US by default which is probably not UTF-8. that would answer my question, thanks!18:28
tumbleweedcr3: and builds happen in minimal chroots, with no locale specified18:29
cr3tumbleweed: the reason I ask is that it's annoying to have unit tests pass when run locally but fail when run during the build process. do you happen to know if it's common when unit testing to clear the environment?18:30
tumbleweedcr3: it's a common issue to run into when running unit tests during builds18:31
cr3tumbleweed: I wonder if it's actually a good indication to improve my test runner though18:31
cr3I had a quick look at the launchpad bin/test script and it only does some changes to the environment like os.environ['TZ'] = 'Asia/Calcutta', but I wonder if test runners should be wrecking more havok in the environment to avoid some assumptions18:34
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
=== jcsackett_ is now known as jcsackett
tumbleweedbenji: thanks19:00
benjimy pleasure19:01
tumbleweedshould I prod anyone for a DB review?19:01
benjiyou can request a DB review on the MP19:01
tumbleweedwhat do I need to do to do that?19:05
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
sinzuibenji, do you have time to review https://code.launchpad.net/~sinzui/launchpad/pageids/+merge/12608119:51
cjwatsoncr3: yes, you ought to improve your test runner here.  The default locale in the absence of indications to the contrary in the environment is C19:51
cjwatsoncr3: depending on the test runner, you might either want to run everything with locale bits cleared from the environment, or you might want to run the tests multiple times in different locales, or you might want to run everything forcing a UTF-8 locale (and in that case C.UTF-8 should be suitable on modern releases)19:52
cr3cjwatson: agreed, at first it looked like the builders were annoying but making assumptions on a sane environment is ironically insane19:52
cr3cjwatson: have you ever seen a test runner actually clear all the environment? I've been looking around, mostly at python projects providing a ./test script, and this doesn't seem to be common19:53
cjwatsonEven Ubuntu server is probably UTF-8 by default in general, but there are many contexts where you can end up starting something with a minimal environment19:53
cjwatsoncr3: *shrug* not an expert on test runners19:53
cr3cjwatson: I checked a fresh install of ubuntu and the LANG was set to en_US, but that might be because of my preseed19:54
cr3s/ubuntu/ubuntu server/19:54
cjwatsonthat's not the default19:54
cr3cjwatson: hm, thanks for the heads up, I should look into fixing that19:55
cjwatsonwe certainly don't use legacy ISO-8859-1 locales by default anywhere19:55
cjwatsoncr3: sbuild will build your package in a cleaned environment19:55
cjwatsonI'm fairly sure it clears the locale19:55
lifelesssinzui: lp:~sinzui/launchpad/pageids19:56
lifelesssinzui: I think you may have misunderstood the issue; the PPR handles spaces AFAIK19:56
lifelesssinzui: its having the revisionid in the pageid thats a problem19:57
lifelesssinzui: because it means we cannot aggregate times across deploys.19:57
sinzuiwell I fixed that accidentally19:57
cjwatsoncr3: also note that, if you were sshing in, our ssh forwards the locale by default19:58
cr3cjwatson: fyi, I use the example preseed from the installation-guide-i386 as reference and my template is even very friendly to diff against it, that's where I got the default value for en_US19:58
cr3cjwatson: I use that package to keep my preseed up to date with latest developments19:59
cjwatsonMm, probably ought to fix that, although I had a feeling that it was supposed to turn it into the nearest UTF-8 form automatically19:59
cjwatsonAnyway, OT for this channel, feel free to file bugs :)19:59
lifelessflacoste: hi ?20:00
cr3cjwatson: will do20:00
benjisinzui: sure20:01
flacostehi lifeless20:02
sinzuijcsackett, do you have time to talk?20:27
sinzuibenji, thank you for the corrections20:31
benjimy pleasure20:31
jcsackettsinzui: sure.20:38
sinzuijcsackett, hangout?20:40
jcsackettsinzui: started.20:42
rick_h__hey all, I've got biuldbot broken atm, just pushed a fix (hopefully) and going to be afk for 20min while it runs. I'll be back in when it finishes to hopefully drive this through.20:58
rick_h__general heads up, I emailed a reply to the buidlbot message as well20:58
lifelessrick_h__: thanks20:58
=== lan3y is now known as Laney
=== micahg_ is now known as micahg
mwhudson\o/ for parallel testing21:03
jelmer\o/ indeed21:03
=== benji changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: ∞
=== matsubara__ is now known as matsubara
mwhudsonmake in the launchpad root (which i haven't done in a loooong time, to be fair) failed like this:21:25
mwhudson    ImportError: /home/mwhudson/canonical/repos/launchpad/devel/lib/gettextpo.so: wrong ELF class: ELFCLASS3221:25
mwhudsonthat's ... more exciting than i expected?21:25
cjwatsonSounds like you last built it in a 32-bit environment, and make doesn't notice that it needs to rebuild them because as far as it's concerned all the timestamps are up to date.21:28
mwhudsonyeah, but that seems pretty unlikely in itself21:30
mwhudsonanyway, make clean && make worked21:30
lifelessmwhudson: lxc bind mount vs direct access?21:32
mwhudsonlifeless: ah yes, that's probably it21:33
rick_h__bah, missed a handful of tests. This might still fail21:59
=== mtaylor is now known as mordred
rick_h__ok, so down to one failing. It was one of the handfull my regex missed so updated and send back to buidbot22:05
rick_h__<3 the rocking parallel tests22:05
=== vednis_ is now known as mars
=== bdmurray_ is now known as bdmurray
=== wgrant_ is now known as wgrant
=== _mup__ is now known as _mup_
wgrantwallyworld_: Were you going to comment on bug #138775?23:36
_mup_Bug #138775: Notification subject included bug number but no summary for 'subscriber of duplicate' bug notifications <email> <lp-bugs> <regression> <story-better-bug-notification> <Launchpad itself:Triaged> < https://launchpad.net/bugs/138775 >23:36
wgrantAnd ideally close it23:36
wallyworld_wgrant: yes, getting to it23:37
wgrantGreat, just checking it hadn't dropped off your radar23:37
cjwatsonWe have a stupidly near deadline for getting signed kernels sorted out in Ubuntu, which requires https://code.launchpad.net/~cjwatson/launchpad/uefi-copy-no-auto-approve/+merge/126128 or something like it - if anyone has time to review that I'd appreciate it23:46
cjwatson(I know, my lack of planning isn't your emergency)23:47
cjwatson(Also the branch name is a bit crap, it reflects the first half of the change)23:48
wgrantI was just about to ask about that, yeah23:49
cjwatsonI only remembered about it after I'd already committed so the later stuff had the existing branch nick all over the metadata23:49
lifelesswgrant: that bug on legacy mirroring - have we deleted the code?23:50
wgrantcjwatson: archiveuploader's CustomUploadFile.autoApprove doesn't autoapprove PPA uploads, does it?23:50
lifelesswgrant: if so, I don't think it should be FR, but perhaps dropped to High. The point was to migrate all the branches behind the scenes.23:51
wgrantlifeless: No, I think there's another bug for that23:51
cjwatsonwgrant: It doesn't, but there's a higher-level method that does23:51
wgrantlifeless: No, the point was that legacy mirroring was broken23:51
wgrantLegacy mirroring is no longer broken, so that bug is fixed :)23:51
cjwatsonwgrant: BuildDaemonUploadPolicy.autoApprove23:51
wgrantAh, right23:51
cjwatson(Should I tweak the comment?)23:51
wgrantThat would be lovely23:52
lifelesswgrant: the question was about it being broken23:52
lifelesswgrant: the bug was about it being something folk have to reconfigure to get to23:52
wgrant[Bug 1051097] Re: legacy bzr mirroring broken23:52
_mup_Bug #1051097: legacy bzr mirroring broken <code-import> <regression> <Launchpad itself:Fix Released by wgrant> < https://launchpad.net/bugs/1051097 >23:52
wgrantlifeless: Bug #87231223:56
_mup_Bug #872312: kill BranchType.MIRRORED <code-import> <lp-code> <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/872312 >23:56
wgrantcjwatson: Wow, getTargetArchive was a bit odd23:56
cjwatsonWasn't it23:57
cjwatson"Why doesn't this work ... oh"23:57
wgrantcjwatson: Did you check history to confirm there wasn't a reason for it?23:58
cjwatsonCustomUploadCopier was rather obviously single-goal-oriented to start with; I've been gradually generalising it23:58
wgranti can't see one, but you never know..23:58
cjwatsonI didn't explicitly do so, but let me have a quick dig23:58
cjwatsonWell, it dates right back to the original fix for bug 659769, when that file was added23:59
_mup_Bug #659769: should copy custom uploads to newly-initialised release <derivation> <lp-soyuz> <new-release-cycle-process> <qa-ok> <soyuz-publish> <Launchpad itself:Fix Released by jtv> < https://launchpad.net/bugs/659769 >23:59

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