/srv/irclogs.ubuntu.com/2012/10/02/#launchpad-dev.txt

wgrantRight.00:00
lifelessStevenK: its not part of lp-setup ? yes, I'd like to see it00:09
StevenKlifeless: It is, it's shipped as an example.00:35
StevenKlifeless: http://pastebin.ubuntu.com/1255107/00:36
lifelessok00:37
lifelesscan you pastebin the lxc-start-ephemeral script you have ?00:37
lifelessStevenK: and what version of testtools and subunit and testrepository do you have (outside the lxc containers)00:38
=== matsubara-afk is now known as matsubara
StevenKlifeless: Versions http://pastebin.ubuntu.com/1255115/00:38
lifelesswgrant: heat cam eback, the very next year00:39
StevenKlifeless: lxc-start-ephemeral is from precise, lxc 0.7.5-3ubuntu6300:40
lifelessugh00:44
lifelessits got an exit 0 in there. That will cause bad signal, if ssh exits non-zero, we want that to propogate.00:44
lifelessSomeone has been 'fixing' it I bet.00:44
lifelesswgrant: ^00:44
lifelessthat said00:45
lifelessStevenK: Stopping lxc goes to00:45
lifeless&200:45
StevenKI wonder if the lxc from precise is not right and I need a different version?00:45
lifelessStevenK: we need to figure out why its ending up in stdout00:45
lifelessStevenK: I wonder, perhaps jenkins is insane00:46
StevenKwallyworld: How did you build the 0.19.7 tarball?00:47
wallyworldpython setup sdist00:48
wallyworldsetup.py even00:48
StevenKwallyworld: So did I, but I have 3 more files than you00:48
wallyworldin the dist directory?00:48
StevenKNo, in the tarball00:48
wallyworldwhich ones?00:48
StevenK+/setup.cfg00:49
StevenK+/src/lazr.restful.egg-info/not-zip-safe00:49
StevenK+/src/lazr.restful.egg-info/PKG-INFO00:49
wgrantlifeless: Heat came back?00:49
wallyworldi should have had the pkg-info in mine00:49
wallyworldnot sure about the others00:49
wallyworldi don't know why there's a difference00:50
lifelesswgrant: see the bug bryceh filed00:50
wgrantlifeless: Ah yeah, that00:50
wgrantlifeless: That's why I'm interested in locks :)00:50
lifelessindeed00:50
wgrantlifeless: However00:51
wgrantlifeless: Note the time there.00:51
wgrantlifeless: I don't think this particular case is mostly DB locks, but I don't know for sure which is why I wanted to get reports rolling :)00:52
wgrantI suspect this is just Python00:52
wgrantAs the statement timeout should mean the query times out in well under 23 seconds...00:52
lifelesswgrant: query times are not checked during lock waits00:53
lifelessor weren't, its possible that 9.1 fixed that.00:53
wgrantlifeless: Are so.00:53
wgrantIn 9.1 they definitely are00:53
lifelessok, so thats nice.00:53
wgrantI'm pretty sure they were in 8.4 too00:53
lifeless24 seconds is slow for python, and there is no data to be returning there.00:54
wgrantBut I don't remember for sure00:54
wgrantBy "Python" I mean "someone else probably had a lock"00:54
wgrantBecause as you say, there is no data.00:54
wgrantIt may be interesting to check postgres logs for the killed transaction.00:54
wgrantSee when it actually happened.00:54
wgrantWe log errors, right?00:54
lifelesspretty sure00:55
lifelessStevenK: jml: jelmer: so the testrepository you have is old, the testing cabal builds are failing.00:55
StevenKlifeless: Ah00:56
lifelessthats not the cause of the issue AFAICT, but its a nuisance.00:56
StevenKwallyworld: How did you add the 0.19.7 milestone when https://launchpad.net/lazr.restful/trunk times out?00:56
wallyworldStevenK: url hack00:56
wgrantHuh, that times out?00:56
* wgrant guesses workitems00:56
wgrantNo00:56
wgrantMaintenance is not allowed to URL hack as the first step00:57
wgrantFix timeout instead :)00:57
StevenKwgrant: OOPS-539a88c269cd05876823126d6dbb9e5000:57
wallyworldwgrant: i'm not going to fix a timeout to delay adding a release00:57
wallyworldadd release first00:57
wgrantYeah, it's the workitems regression :(00:57
wgrant23 150ms queries00:57
StevenKwallyworld: What's the URL then?00:58
wgrant+addmilestone00:58
wgrantIIRC00:58
wallyworldhmm. +addmilestone00:58
wallyworldi think00:58
lifelessso, working through this00:58
lifelesslxc-start-ephemeral, assuming my copy == stevenk's copy, as he did not pastebinit :), outputs 'Stopping lxc' to &2, stderr00:59
lifelesstestrepository, which spawns the lp-setup-lxc-test processes uses stdout=subprocess.PIPE, stdin=subprocess.PIPE)00:59
wgrantlifeless, StevenK: It's odd that we don't see this problem in the DC00:59
wgrantUnless lp-setup-lxc-test does it00:59
wgrantWe use a puppeted version of that in the DC01:00
lifelessso we'd expect stderr to be the jenkins provided stderr fd inherited from testrepository01:00
StevenKecho "Stopping lxc" >&201:00
lifelesshowever01:01
lifelesswe see all the ephemeral chatter in this file01:01
lifelessSetting up ephemeral container...01:01
lifelessStarting up the container...01:01
lifelessah, thats on stdout01:01
StevenKThat's from lp-setup-lxc-build I think01:02
wgranthttp://lpbuildbot.canonical.com/builders/lucid_lp_lxc/builds/70/steps/shell_9/logs/stdio01:03
wgrantred == stderr01:03
wgrantblack == stdout01:03
lifelessStevenK: its from lxc-start-ephemeral01:04
lifelessStevenK: see 'setup_container'01:05
StevenKAh, indeed01:05
StevenKwallyworld, lifeless: Can haz pypi rights for lazr.restful?01:06
wallyworldsure01:06
lifelessso in http://lpbuildbot.canonical.com/builders/lucid_lp_lxc/builds/70/steps/shell_9/logs/stdio, Stopping lxc is on stderr01:06
lifelessas I pasted above, testrepository doesn't capture stderr at all, it does the default for subprocess01:06
wallyworldStevenK: user name is SteveK?01:07
wallyworldStevenK even01:07
wallyworld?01:07
StevenKwallyworld: Yeah, stevenk01:07
wallyworldStevenK: should be done01:08
wgrantHmmm01:09
wgrantPostgres really really seems to hate BitmapOr01:09
wgrantEven when the alternative is two seqscans.01:09
lifelessa quick re-check of subprocess doesn't given any obvious bugs01:10
lifelessStevenK: can I login on the executor, will need root access01:12
StevenKlifeless: ubuntu@184.73.75.21401:13
StevenKI've fed it your lifeless-64 ssh key01:13
lifelesswaaaay but its busay01:14
lifelessor01:14
lifelessStevenK: is port 22 open in the sec group ?01:14
StevenKI'm not sure if it's open to 0/001:15
lifelessssh: connect to host 184.73.75.214 port 22: Connection timed out01:15
StevenKRight01:15
StevenKlifeless: Should I add just your IP or a netblock?01:16
lifelessshrug01:16
StevenKlifeless: You should be good01:17
* StevenK drops lazr.restful-0.19.[2-5].tar.gz from the download-cache01:21
StevenKlifeless: Ah, nice. You're right for the mo?01:22
lifelessjenkins, you mad bro01:23
lifelesstestr     12536         jenkins    1w     FIFO                0,8      0t0      65754 pipe01:23
lifelesstestr     12536         jenkins    2w     FIFO                0,8      0t0      65754 pipe01:23
StevenKOh01:24
lifelesstestr     12536         jenkins    0r     FIFO                0,8      0t0      65753 pipe01:25
lifelesstestr     12536         jenkins    1w     FIFO                0,8      0t0      65754 pipe01:26
lifelesstestr     12536         jenkins    2w     FIFO                0,8      0t0      65754 pipe01:26
lifelesstestr     12536         jenkins    3u      REG              202,1  6975862      32201 /home/jenkins/launchpad/lp-branches/workspace/devel/.testrepository/tmp2CwhL_01:26
lifelesstestr     12536         jenkins    5r     FIFO                0,8      0t0      69881 pipe01:26
lifelessthats the full set01:26
lifelesstestr's in, out, err, the temp file its stream its inputs too, 4 would have been the stdin for the child process, which is closes, and 5 is where its reading hte child output from01:26
StevenKHah, so it's Jenkins bug/misfeature01:26
lifelesswell01:27
lifelesswe have correlation01:27
lifelessnot causation01:27
lifelessStevenK: so, we run sudo /usr/local/bin/lp-setup-lxc-test lptests /home/jenkins/.ssh/id_rsa $IDOPTION $LISTOPT ?01:28
lifelesswhat does the DC run ?01:28
StevenKsudo /usr/local/sbin/lp-setup-lxc-test I think01:29
StevenKI think the only difference is the DC script has stuff hardcoded01:29
lifelessfd's for lp setup look ok01:29
lifelesslp-setup- 12540            root    0r     FIFO                0,8      0t0      69880 pipe01:29
lifelesslp-setup- 12540            root    1w     FIFO                0,8      0t0      69881 pipe01:29
lifelesslp-setup- 12540            root    2w     FIFO                0,8      0t0      65754 pipe01:29
lifelesserr is as we expect, out is the pipe01:30
lifelesslxc-start 12541            root    0r     FIFO                0,8      0t0      69880 pipe01:30
lifelesslxc-start 12541            root    1w     FIFO                0,8      0t0      69881 pipe01:30
lifelesslxc-start 12541            root    2w     FIFO                0,8      0t0      65754 pipe01:30
lifelessthat looks fine too01:30
lifelessand finally ssh01:31
lifelessssh       13831            root    0r     FIFO                0,8      0t0      69880 pipe01:31
lifelessssh       13831            root    1w     FIFO                0,8      0t0      69881 pipe01:31
lifelessssh       13831            root    2w     FIFO                0,8      0t0      65754 pipe01:31
lifelessso, theres nothing down through to the ssh layer that can explain stderr output ending up on stdout for testr01:31
lifelessother stderr output *does* end up in the jenkins console01:32
lifelessthe added address to .ssh/known-hosts specifically01:32
lifelesshttps://lpci.wedontsleep.org/job/devel/1102/console01:32
lifelessWarning: Permanently added '10.0.3.39' (RSA) to the list of known hosts.01:32
StevenKwallyworld, wgrant: https://code.launchpad.net/~stevenk/launchpad/preview-diff-none-type/+merge/12660101:33
wallyworldStevenK: perhaps the assertVoteReference could be _assertVoteReference?01:35
wallyworldotherwise looks good01:35
lifelessStevenK: kill the build? run again as concurrency 4 ? the stream written so far is intact.01:36
LPCIBotProject devel build #1102: ABORTED in 2 hr 23 min: https://lpci.wedontsleep.org/job/devel/1102/01:36
StevenKlifeless: #1103 away01:37
StevenKwallyworld: http://pastebin.ubuntu.com/1255162/01:38
wallyworld+101:39
StevenKBleh, my oops got pruned again01:44
StevenKClearly, I need to log into neem and make copies01:45
wgrantlifeless: See also OOPSes like https://oops.canonical.com/oops/?oopsid=OOPS-c182f7f94210ede212ae5b835ef993c701:58
wgrantlifeless:  12s query that couldn't be blocked by any normal lock01:58
wgrantWe have a general problem, and I suspect that Bryce's bug is mostly that general problem.01:58
lifelesswgrant: sounds plausible02:15
lifelessthis is mystifying02:24
StevenKWhat is?02:27
lifelessI was having trouble finding any evidence of a problem02:27
lifelessxvfb-run   8494         jenkins    0r     FIFO                0,8      0t0   11112539 pipe02:27
lifelessxvfb-run   8494         jenkins    1w     FIFO                0,8      0t0   11112540 pipe02:27
lifelessxvfb-run   8494         jenkins    2w     FIFO                0,8      0t0   11112540 pipe02:27
StevenKAh02:27
lifelessbut - this is such evidence02:27
lifelessxvfb-run has stderr and stdout linked02:28
lifelessso we can corrupt a stream within the subprocess02:28
lifelessacross the ssh barrier02:28
StevenKlifeless: You think this is jenkins level or lower?02:28
StevenKI'm not sure if Jenkins does something like exec 2>&1 that it will hit processes it spawns02:29
lifelesswell, I'm still only at correlation stage02:30
lifelessjenkins definitely is doing 2>&102:30
lifelessbut that shouldn't have any way of affecting children of children if they make their own pipes02:31
lifelesswhich testr does for stdout02:31
lifelessssh normally preserves stderr as a separate fd02:33
lifelesse.g.02:33
lifelessssh localhost 'echo true >&2' 2>/dev/null02:33
lifelessssh localhost 'echo true >&2'02:33
lifelesscompare the output02:34
lifelessit knows whats stdout and stderr on the slave, and faithfully lines that up on the invoking side02:34
lifelessso WTF would xvfb-run be seeing stderr=stdout02:34
lifelessssh -n -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /home/jenkins/.ssh/id_rsa jenkins@10.0.3.132 -- env -u LANG xvfb-run --error-file=/var/tmp/xvfb-errors.log --server-args='-screen 0 1024x768x24' -a /home/jenkins/launchpad/lp-branches/workspace/devel/bin/test -vvv --shuffle --subunit --load-list /home/jenkins/launchpad/lp-branches/workspace/devel/temp/tmp0bW4iD02:35
lifelessis the command being run02:35
lifelessssh -n localhost 'env echo true >&2'  2>/dev/null02:36
lifelessstill good02:36
lifelessI'll file a bug on the silly exit 0 / exit 1 stuff02:39
lifelesshttps://bugs.launchpad.net/ubuntu/+source/lxc/+bug/105994302:43
_mup_Bug #1059943: lxc-start-ephemeral masks process exit code <lxc (Ubuntu):New> < https://launchpad.net/bugs/1059943 >02:43
wgrantlifeless: I already filed and fixed that in quantal02:44
lifelesswgrant: oh, can you dupe it appropriately please then ?02:45
wgrantAnd I have a precise backport branch.02:45
lifelessDISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&102:45
lifeless^ xvfb-run02:45
lifelessStevenK: so, smoking gun.02:49
lifelessStevenK: this may not explain all the corruption we're encountering, but I think it covers a pretty good chunk thereof02:50
lifelessStevenK: are you running lucid or precise in the lxc containers?02:50
lifelessStevenK: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/105994702:50
_mup_Bug #1059947: xvfb-run munges stdout and stderr together <xorg-server (Ubuntu):New> < https://launchpad.net/bugs/1059947 >02:50
lifelessStevenK: it doesn't explain HTF 'Stopping lxc' got from lxc-start-ephemeral &2 into &102:52
wgrantblink03:03
wgrantAh03:04
lifelesswgrant: ?03:05
wgrantMilestoneTag.specifications had me confused for a while03:05
wgrantWhy it was intersecting all the resulting specs03:05
wgrantBut it makes some sense now03:06
LPCIBotProject devel build #1103: STILL FAILING in 1 hr 32 min: https://lpci.wedontsleep.org/job/devel/1103/03:09
StevenKlifeless: Whatever lp-setup does, which I guess is lucid?03:13
wgrantRight, inside the containers is lucid03:14
StevenKxvfb-run bug? :-(03:14
lifelessStevenK: contributing factor at most03:15
lifelessI've just edited the bug out of the root container and started another run03:15
StevenKSo buildbot doesn't xvfb-run, then?03:16
lifelesstiming bugs are terrible03:17
wgrantbuildbot does03:17
wgrantBut isn't the problematic stderr coming from *outside* xvfb-run?03:17
lifelesswgrant: one case03:18
lifelesswhich as I said03:18
lifeless15:52 < lifeless> StevenK: it doesn't explain HTF 'Stopping lxc' got from lxc-start-ephemeral &2 into &103:18
wgrantAh, right03:18
lifelessbut03:19
lifelessit may be confused signals03:19
lifelesssee03:19
lifelesshttps://lpci.wedontsleep.org/job/devel/1103/console03:19
lifelesswhere we have test data in the jenkins console03:19
lifelessthat happens when tests are mangled at a lower layer03:19
lifelessand subunit's parser decides its seeing junk rather than tests03:19
lifelesse.g. the subprocess race/rhing03:20
lifelesswhich we need to get a reproducable test case for03:20
lifeless_StringException: lost connection during test 'lp/registry/javascript/tests/test_milestone_creation'03:20
lifelessthe end of https://lpci.wedontsleep.org/job/devel/1103/console03:20
lifelessshows03:20
lifelesstest: lp.codehosting.pukill: 186: No such process03:20
lifelessStopping lxc03:20
lifelessller.tests.test_scheduler.TestPullerWireProtocol.test_methodDispatchWithArguments03:20
lifelesswhich is, I think, testr's stdout intermingled with the shared stderr, and - *this is fine*.03:20
lifelessIts expected given jenkins mangling of the two onto one stream03:21
lifelessStevenK: you probably want two forked packages; lxc (for the lxc-start-ephemeral fix from wgrant) and a xvfb-run with fixed stderr handling03:22
wgranthttps://code.launchpad.net/~wgrant/ubuntu/precise/lxc/bug-105035103:23
lifelessStevenK: so we'll see if thats any better, and if it isn't we'll see about making a reproducable test case.03:36
lifelessfor now, I'm going to context switch a bit03:37
wgrantStevenK: Thoughts on bug #810716 and bug #690834?03:48
_mup_Bug #810716: Translations section builds have highest priority in copy builds <buildfarm> <Launchpad itself:Triaged> < https://launchpad.net/bugs/810716 >03:48
_mup_Bug #690834: Language packages in P3As are also scored 0 <lp-soyuz> <oem-services> <soyuz-build> <trivial> <Launchpad itself:Triaged> < https://launchpad.net/bugs/690834 >03:48
wgrantFor context, if section == 'translations' then the score short-circuits to 003:48
wgrantIgnoring any archive offset03:48
StevenKYwah03:48
wgrantI suspect we just want to apply the archive offset to the 003:48
StevenKI'll be hitting that code to03:48
wgrantSo they'll sit at the bottom of the archive03:48
wgrantOh?03:49
wgrantOh03:49
wgrantI see you took the card03:49
wgrantI was just collecting those three bugs to fix03:49
StevenKOh, you can do it if you want03:49
wgrantIf you've been busy with jenkins and haven't actually started...03:49
StevenKI've created a branch and found the code, so 'not really'03:50
wgrantAh, well I just wrote a test, so I'm probably slightly ahead.03:50
StevenKNothing of consequence, so feel free to steal the card and I'll find another bug03:50
StevenKOr re-package lxc03:50
wgrantThanks03:50
wgrantHeh03:50
StevenKHaha03:53
StevenKI can see the edit page in bug 1059324, but the reporter can't03:53
_mup_Bug #1059324: Can't edit branch import <403> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1059324 >03:54
wgrantStevenK: ~vcs-imports can see +edit-import, mortals can't.03:54
wgrantIt's likely that the link should just be hidden.03:54
wgrantIt may just be a matter of adding one line of decorator.03:55
StevenKRight03:55
StevenK@with_permission or so?03:55
wgrant@enabled_with_permission, IIRC03:55
StevenKBleh, the qa-tagger hates multi-task bugs? :-(03:59
wgrantShould work, normally.04:00
wgrantWhat's the issue?04:00
StevenKIt stated orphaned for my rev04:01
StevenKMaybe it insists on default_bugtask, but that would be silly04:01
wgrantHm04:01
wgrantThat's odd04:01
StevenKwgrant: Hmm, lib/lp/code/browser/branch.py edit_import checks perms already. Is it checking the wrong thing?04:03
wgrantStevenK: That's a very good point04:04
wgrantAlthough I wouldn't trust that function to not be insane04:05
wgrantGiven that it sets enabled = True a line earlier04:05
StevenKHaha, I wonder if that's the fix04:06
wgrantIt's just a normal local04:06
wgrantSo I doubt it04:06
StevenK6 Unauthorized: (<CodeImport for ~rudloff/chaton-cms/0.1>, 'updateFromData', 'launchpad.Edit')04:09
StevenKThat seems more like he can view the page and the submit is blowing up04:10
wgrantRight, that means the user doesn't hold launchpad.Edit on the CodeImport04:10
wgrantWhat's the view permission?04:10
StevenKlaunchpad.Edit on IBranch, looks like04:12
wgrantAh04:13
wgrantThat doesn't explain why there's a link, though04:13
wgrantPerhaps there is no link04:13
wgrantAnd the user URL-hacked.04:13
wgrantTry to reproduce locally or on qastaging?04:13
StevenKHow did he POST, then?04:13
wgrantThe view is Branch:+edit-import, so the permission is wrong04:13
wgrantIt'll load for the branch owner04:14
StevenKWe have a few OOPSes, so we should be able to work it out04:14
wgrantBut the edit_import menu item correctly checks against branch.codeimport04:14
StevenKOOPS-1d2dccea10b7b7c5f4bc11cf0eaa9ebf04:14
wgrantThe OOPS won't say04:14
wgrantIt'll show the referer as +edit-import either way04:14
StevenKRight, so the ZCML is wrong04:15
wgrantAnd can't really be right.04:15
StevenKNot if we use for="...", right04:15
StevenKwgrant: I'm not clear how to create a branch import04:19
wgrant+new-import04:21
wgranthttp://code.qastaging.launchpad.net/launchpad/+new-import04:21
StevenKwgrant: Right, so no link. URL hacking as the branch owner shows the form and submitting gives Not allowed here04:25
StevenKMaybe we want to redirect away in initialize()04:26
StevenK"You are not permitted to edit the import for this branch" etc04:26
wgrantOr raise a Forbidden or so04:27
wgrantNo point being pretty if you have to URL-hack to get there.04:27
StevenKIndeed04:27
StevenKIt already does for anonymous, indeed04:28
wgrantIf you waste more than two lines of code on this, you're probably doing it wrong.04:28
wgrantStevenK: I think I'll take this opportunity to finally eliminate time-based scoring.04:30
wgrantAny objections?04:30
* wgrant murders.04:31
StevenKwgrant: We have time based scoring?04:32
StevenKIf it will complete quickly, score it higher?04:33
wgrantNo04:33
wgrantIf it's been in the queue for 5 minutes, give it a score bump of 504:33
wgrantan hour is a bump of 2004:33
StevenKOh, right04:33
wgrantThis ignores the fact that the tiebreaker is id, which is age anyway04:33
wgrantAnd we don't run queue-builder any more04:33
StevenKwgrant: Yes, murder it.04:33
wgrantSo the score is never calculated except when the build is 0 seconds old.04:33
wgrantThanks04:33
StevenKCan we destroy queue-builder too?04:34
wgrantI already got rid of most of it a while ago04:34
StevenKwgrant: I'm at -4 with this branch with some cleanups and no test04:34
wgrant:)04:34
wgrantWe have a lot of crap in our code.04:34
StevenKNot sure if raise Forbidden is okay04:35
wgrantUnauthorized may be more common, I think04:35
wgrantBut I forget04:35
lifelessStevenK: ok, so the xvfb-run isn't the root cause, and whether it contributed is an open q04:38
lifelessStevenK: tomorrow I shall poke further, the artifacts gathered should be sufficient04:39
StevenKAh04:39
lifelesshttps://lpci.wedontsleep.org/job/devel/1104/console04:39
lifelessshows subunit04:39
lifelessso its escaped the parser again04:39
StevenKlifeless: So I can kill the executor ec2 when the current one fails?04:40
StevenKwgrant: Do you think a test is worth it?04:41
wgrantStevenK: If you've deleted enough to still leave you net-negative :)04:42
LPCIBotProject devel build #1104: STILL FAILING in 1 hr 28 min: https://lpci.wedontsleep.org/job/devel/1104/04:44
wgrantStevenK, wallyworld_: https://code.launchpad.net/~wgrant/launchpad/bug-1058310/+merge/127414 https://code.launchpad.net/~wgrant/launchpad/bug-1056617/+merge/12741204:53
czajkowskiStevenK: wgrant kicking ass on bugs I see :) very nice04:56
wallyworld_wgrant: r=me on 2nd one04:59
wgrantToday should take us below 300 criticals :)05:00
wgrantwallyworld_: Thanks05:00
StevenKwgrant: And r=me on the first05:00
wgrantDid we implement ParallelReviewing while I wasn't watching?05:00
czajkowskiwallyworld_: ah and you05:00
czajkowskitab complete and me are not working at this hour05:01
wallyworld_czajkowski: well, today i'm removing an old feature flag for dynamic bug listings which was released a while back. not sure if that's critical, but it needs to be done to keep the code clean and maintainable05:01
wallyworld_tedious work05:02
czajkowskiwhich is needed05:02
wgrantThat's probably our biggest single bit of tech debt :)05:02
=== matsubara is now known as matsubara-afk
wallyworld_i'm almost finished. a few more doc tests to go05:02
wallyworld_maybe a bit optimistic to say "almost". "substantially" is better05:03
* wgrant plays buildbot roulette05:03
czajkowskiah hat reminds me I need to find the bug on signing the CoC to make it easier to see if we can get some sort of check box implemented :D05:03
wgrantHeh05:03
wgrantStevenK: You have a couple of ancient branches on https://code.launchpad.net/launchpad/+activereviews05:10
StevenKNo I don't. :-)05:11
wgrantThanks.05:11
StevenK 5 files changed, 24 insertions(+), 32 deletions(-)05:11
StevenKI think that's far enough05:11
wallyworld_StevenK: wgrant: have you noticed that the branch badges on the dynamic bug listing are no longer anchors linking to the associated branch?05:25
StevenKwallyworld_, wgrant: https://code.launchpad.net/~stevenk/launchpad/no-edit-import-for-you/+merge/12741705:25
wallyworld_StevenK: r=me05:34
StevenKwgrant: I wonder if bug 1022334 can be closed due to YUI 3.5.106:19
wgrantStevenK: No06:20
wgrantStevenK: The bug *listing* back behaviour may be fixed, but the bug reporting one probably isn't06:20
StevenKI thought zope handled at this stuff, TBH06:21
wgrantOur JavaScript is not Zope06:21
StevenKOh, it's a JS bug?06:21
wgrantWell, +filebug is very JSey, so it's probably not unrelated.06:22
StevenKYeah06:22
wgrantOr it could be that the view is too custom and doesn't let initial_values through properly.06:22
StevenKwgrant: In https://oops.canonical.com/oops/?oopsid=OOPS-91e85c5a76936c13c1993df1985491e5 I guess the branch is None?06:29
wgrantStevenK: Potentially because the requesting user can't see it06:30
wgrantBut it looks like it.06:30
wgrantYeah06:31
wgrantStevenK: Yeah, it happens whenever the development focus is an import that isn't visible.06:32
StevenKHeh, right06:32
StevenKwgrant: So we should skip that bit?06:32
wgrantThat may be appropriate.06:32
StevenKwgrant: It seems I broke buildbot. But it doesn't look to be my fault.06:33
wgrantIt just has a personal vendetta against you06:33
wgrantAh, yeah06:33
wgrantWe see that one sometimes :(06:33
StevenKwgrant: QA! :-P06:35
wgrantDid that like 90 seconds ago06:35
StevenKlib/lp/code/templates/product-branch-summary.pt makes me sad06:39
StevenKwgrant: I should force away?06:57
wgrantStevenK: Yep06:57
adeuringgood morning07:02
wgrantStevenK: tsk tsk07:02
StevenKwgrant: Hm?07:03
wgrantStevenK: You're not very good at deleting views :)07:04
StevenKI was supposed to delete one?07:04
wgrantYou deleted +daily-builds07:04
StevenKwgrant: Sure, but?07:05
wgrantYou missed 300 lines of code that was used only by it :)07:05
StevenKHave you binned them, or shall I have at it?07:05
wgrantThey're miiiiiiine07:05
* StevenK makes a note to talk to wgrant's mother about sharing07:06
wgrantWe already finished sharing last month :)07:06
bigjoolss/sharing/closing legs/07:06
wgrantNo need for any more.07:06
wgrantAh, make that 400 lines.07:06
StevenKwgrant: Meh, I'm -3500 and you're -1235 :-P07:07
wgrantI won't be dictated by fact-checkers.07:09
wgrantAlso, http://webnumbr.com/launchpad-critical-bugs07:09
wgrantWe're 3 bugs away from where we were at the start of December.07:10
wgrantGetting there.07:10
wgrantStevenK: Your new test seems to be bad07:35
wgrantIf you're in AppServerLayer, you're probably trying to catch the exception over HTTP07:36
wgrantWhich isn't likely to be a gigantic success.07:36
=== mmrazik is now known as mmrazik|otp
StevenKHmmm, I thought it was passing locally07:40
StevenKLet me roll it back07:41
wgrantstub: Huh07:48
wgrant    "specification_product_name_uniq" UNIQUE CONSTRAINT, btree (name, product)07:48
wgrantWhy is it that way around? :/07:48
stublookup by name?07:48
wgrantPossibly, but it seems pretty odd07:49
wgrantI prefer the theory that someone tried to make it as useless as possible.07:49
stubit is the only suitable lookup by name, which would be for traversal07:49
wgrantRight, but the URL is /product/+spec/foo07:49
wgrantI don't know much that looks up by unqualified name.07:49
stubyeah, so it can use that index.07:50
wgrantRight, but the distribution index is around the right way :)07:50
wgrantThe product one is just inverted for probably no reason07:50
stubit would have been inverted to look up by unqualified name. I see that is probably pointless, yes.07:50
wgrantI'm not sure productseries and distroseries indices are useful, but I guess we might as well07:51
wgrantThe table isn't exactly high-write...07:51
* wgrant adds three07:51
wgrantI didn't even consider that product might have been unindexed07:52
wgrantSince that's basically the primary thing we've queried on for 7 years...07:52
wgrantw07:52
wgrantstub: I've added new indices (including UNIQUE (product, name) so we can kill off the other one), though the diff is taking its time to update08:03
wgrantIt's possible we want one on just name, but I don't think so08:03
stubyup08:05
stubunqualified doesn't make sense08:05
wgrantIt certainly doesn't make sense.08:05
wgrantBut it still might happen08:05
wgrantBecause a lot of blueprints is a little behind its sense quota.08:06
wgrantBut let's go without08:06
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: frankban | Firefighting: - | Critical bugs: ~300
wgrantstub: If that looks good I'll land it08:10
wgrantfrankban: Hi. I'm trying to clean up the review queue, and you have three branches on https://code.launchpad.net/launchpad/+activereviews. I think they're all for stuff that's now in lp:lpsetup, so they can be rejected from LP, right?08:11
stubwgrant: yeah, that looks good. It might make more sense for these to be partial indexes, but I don't think we know enough yet to be sure.08:12
frankbanwgrant: yes08:12
wgrantstub: Given the data volumes and rates we're looking at, it won't matter for another few years :)08:13
wgrantfrankban: Thanks08:17
wgrantfrankban: Can you set https://code.launchpad.net/~frankban/launchpad/setuplxc-remove-sleep/+merge/96422 from Approved to Rejected to get it off the list? It's proposed to a branch that I don't have review privs on.08:18
frankbanwgrant: thank you! and done08:21
wgrantGreat, thanks.08:22
=== mmrazik|otp is now known as mmrazik
lifelessstub: should francis be the 2nd db reviewer going forward, or someone else ?08:45
czajkowskimorning folks08:54
stublifeless: Depends if Francis is comfortable giving the go ahead for patches. One feature of the reviews is to avoid hard to recover failures and dataloss.08:57
lifelessstub: Indeed.08:59
lifelessgnight09:09
wgrantNight lifeless.09:09
=== mmrazik is now known as mmrazik|lunch
=== mmrazik|lunch is now known as mmrazik
=== matsubara-afk is now known as matsubara
adeuringfrankban: could you please review this MP: https://code.launchpad.net/~adeuring/launchpad/product-sharing-sec-adapter/+merge/127473 ?12:36
frankbanadeuring: sure12:38
adeuringthanks!12:38
wgrantadeuring: A couple of notes:12:38
wgrantProduct.information_type exists on production now12:38
wgrantThough not on qastaging; you might be able to convince ops or stub to fix that12:39
wgrantAnd also, LimitedView is probably not what you want, unless you've discussed that with Curtis/Robert already12:39
adeuringwgrant: makes sense12:39
wgrantView is what makes sense here12:39
adeuringwgrant: i discussed this with sinzui for Ispecification12:39
adeuringthere were some pitfalls with lp.View12:40
wgrantadeuring: LimitedView is intended to give people enough to know that something exists, but basically nothing else.12:40
sinzuicorrect12:40
wgrantOh, sinzui's here12:40
czajkowskisinzui: would you be free later on for a call re maintenance, have stand up now.12:40
sinzuiLimitedView reveals the spec name, displayname, and project, .public, and .information_type. They do not have icons that need to be revealed12:41
sinzuiyes12:41
sinzuiyes czajkowski12:41
wgrantIt's not clear that LimitedView is necessary for products at this point12:42
wgrantBut even if it is, it would probably expose name, displayname, owner, and that's about it12:43
czajkowskisinzui: thanks gew Q's need to be handed over and want to go through them first12:43
sinzuiwgrant, subscribing someone to a bug, blueprint, or branch will require limited view to the product and possibly series12:43
wgrantsinzui: I think those are likely to give full View to the product.12:44
wgrantBut that may be yet to be established.12:44
sinzuiwgrant, adeuring, without limited view, you cannot traverse to get to the artefact.12:44
wgrantPossession of View implies possession of LimitedView by default12:44
sinzuiwgrant, We are not here to establish that, Deryck's squad are. We know that traversal requires access to .name to get the a subscribed private arttfact12:45
wgrantSure12:45
wgrantBut that doesn't mean that 90% of the attributes that were zope.Public should be launchpad.LimitedView now12:46
wgrant89% should be launchpad.View, 1% should be launchpad.LimitedView12:46
wgrantOtherwise LimitedView is meaningless.12:46
sinzuiwgrant, I agree. I think 7 attributes are about the right number12:46
wgrantRight :)12:46
sinzuilimitedview is intended to convey enough information to allow someone to identify the thing they are looking at. It deters spying and deceit when a private something is in public relationship12:48
sinzuiadeuring, OEM projects are only willing to reveal their name, displayname, icon, logo, .public, .information_type, and maybe .active to contractors that they subscribe to bugs and branches12:51
adeuringsinzui: ok; just working replacining lp.LimitedView with lp.View for the current branch12:52
sinzuiokay.12:52
frankbanadeuring: should I wait for you to push these changes?12:57
adeuringfrankban: make sense, I think12:57
frankbanadeuring: ok12:57
adeuringfrankban: i renamed the permission to lp.view now. I'll add lp.limitedview in a later branch for the properties that need it. Testing both permissions would let the diff size explode ;)13:01
frankbanadeuring: ok13:01
deryckabentley, adeuring -- always have troubles getting into the hangout the first time, still trying....13:32
abentleyderyck: I'm confused about where we stand wrt NULLs in Product.information_type.14:30
deryckabentley, we need a garbo job to fill in values for existing products. nulls are currently allowed.14:31
abentleyderyck: I think we don't have a card for the garbo job.  And we also need to fix the sampledata.14:42
deryckabentley, I lumped the garbo job into your current card back when I created it.  And I can add a card now for sampledata.14:43
deryckabentley, and I don't mind if you split off that garbo stuff into a new card, too.14:43
abentleyderyck: I read my card as stuff to do "after information_type + garbo job for current values"14:44
deryckabentley, yeah, I probably phrased it badly. :)14:45
abentleyderyck: I see what you meant now.14:45
abentleyderyck: Do you know whether sampledata updates can land in stable?  ISTM there would be no value to landing them in db-stable.14:58
deryckabentley, I believe they can indeed land in stable.14:58
stubNothing except db patches lands on db-devel/db-stable now15:23
stubOccasionally some tests to go with db patch, but that is really rare.15:23
abentleystub: Thanks.15:25
abentleystub: But if a db patch requires sampledata changes, we should still land both as one branch, right?15:26
stubyeah15:27
stubThe bare minimum required to keep the tests passing and the build working, or if your db patch contains stored procedures tests to prove the code works.15:28
deryckabentley, what was the feature flag you used for the new project UI?15:30
abentleyderyck: 'disclosure.private_projects.enabled'15:31
deryckabentley, thanks15:31
xnoxwhat is initial LOC credit for somebody who never committed to lp?15:53
xnox-100, 0, 100 ?15:54
sinzui015:54
adeuringfrankban: if you are  still around, could you do another review? https://code.launchpad.net/~adeuring/launchpad/correct-permission-check-for-iproduct/+merge/12751815:55
frankbanadeuring: on a call now, but I will take a look in 30 or so...15:56
adeuringfrankban: thanks! (this MP is a bit smaller, BTW)15:57
deryckabentley, adeuring, just to confirm, we do still need PROJECTGROUP/+newproject updated to match projects/+new16:01
deryckso I'll leave the card on the board, obviously.16:01
abentleyderyck: roger.16:01
adeuringack16:01
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: ~300
deryckabentley, adeuring -- qastaging is updated for Product.information_type now.16:44
adeuringderyck: cool16:47
xnoxsinzui: ok, thanks.16:50
sinzuixnox, do you need help finding cruft to remove?16:50
xnoxsinzui: well there is a link to bug reports that are trianged with the cruft-removal-bug tag ;-) so I'm good.16:51
sinzuiokay. Ping me if you need help.16:51
xnoxtrying to pick something easy, as I haven't done lp development yet, but there are a couple bugs that hinder my productivity ;-) =)))))16:51
xnoxbut are "low" priority for now.16:52
abentleyderyck: There's no OCR.  Could you please review https://code.launchpad.net/~abentley/launchpad/model-product-info-type/+merge/127558 ?18:07
deryckabentley, I will shortly.  Just grabbing me a bite to eat.18:32
abentleyderyck: Actually, I missed a spot.  Fixing now.18:33
abentleyderyck: ready for review again: https://code.launchpad.net/~abentley/launchpad/model-product-info-type/+merge/12755819:15
deryckabentley, ack19:21
abentleyderyck: Garbo job was really easy with your suggestion: https://code.launchpad.net/~abentley/launchpad/product-info-type-garbo/+merge/12757919:31
deryckoh nice19:33
deryckabentley, r=me for both.19:36
abentleyderyck: thanks.19:37
derycknp19:38
abentleyderyck: How do we decide whether EMBARGOED/PROPRIETARY are reasonable information_types for a given Product?  Do we look for a commercial subscription or something?19:43
deryckabentley, yes, you have to have a commercial subscription to use them.19:43
abentleyderyck:19:47
abentleyderyck: I'm going to restrict it in the model for now, and we can add db constraints afterwards.19:47
deryckabentley, sounds good.19:47
* deryck goes AFK for a little bit19:52
StevenKlifeless: Moar Jenkins?22:30
wallyworld_wgrant: StevenK: sinzui: you seen bug 1055766?22:46
_mup_Bug #1055766: grep -R doesn't automatically search amazon <apport-bug> <i386> <oneiric> <Ayatana Design:Invalid> <command-not-found (Ubuntu):Invalid> <gnome-terminal (Ubuntu):Invalid> < https://launchpad.net/bugs/1055766 >22:46
StevenKwallyworld_, wgrant: https://code.launchpad.net/~stevenk/launchpad/no-edit-import-for-you-redux/+merge/12761323:29
=== Ursinha is now known as Jorjao
wallyworld_StevenK: the test comment should be something like "Unauthorised users are forbidden....." since it's not just the branch owner who is not allowed23:31
=== Jorjao is now known as Ursinha
StevenKwallyworld_: http://pastebin.ubuntu.com/1257063/23:32
wgrantStevenK: Given lifeless is probably terribly busy, might be better to throw broken Jenkinses at me sometimes23:32
lifelesshi23:32
lifelessI'm going to be poking it23:32
wallyworld_r=me23:32
lifelessStevenK: can you setup an executor ?23:32
StevenKlifeless: I thought you only needed the build artifacts, but sure.23:33
lifelessStevenK: reproducability is key, until I have a core recipe its an open question what will be needed23:34
lifelessrunning just http://paste.ubuntu.com/1257072/ should give us a fail single-threaded.23:39
lifelessStevenK: so what I want is an executor, and jenkins told not to run anything23:39
lifelessStevenK: run one build, to seed it and recor da failure23:40
lifelessand then I'll poke around as jenkins and reproduce etc23:40
lifelessStevenK: so I want ssh, root access etc23:40
StevenKlifeless: Said executor is up and in the middle of lp-setup23:40
StevenKlifeless: Right, so I should add it to Jenkins and kick off a devel build too?23:41
sinzuiStevenK, I pulled the latests critical data. The chart is updated23:41
lifelessStevenK: please, and we can configure jenkins to only do manual builds23:42
StevenKlifeless: I already have23:42
lifelesscoolio23:42
* StevenK waits for Firefox to choke down sinzui's JS23:43
lifelessStevenK: will you prep a fixed xvfb for the lp PPA23:44
sinzuiNot the js, it is 5 megs of bug data23:44
StevenKI can, but as you say, it's no smoking gun23:44
lifelessStevenK: it a necessary fix for reliability23:44
StevenKFor lucid, I guess23:45
lifelessStevenK: any stderr IO from anything in the test suite or under it can corrupt a stream w/out that fixed.23:45
lifelessStevenK: for precise too23:45
StevenKI'm not sure if it's inside the container or outside that is the important one23:45
lifelessinside23:45
lifelessxvfb isn't present outside the container23:45
* StevenK stares at the xorg source package23:49
lifelessxorg-server ?23:49
StevenKBleh23:50
StevenKlifeless: http://pastebin.ubuntu.com/1257092/23:55
* StevenK stabs Contact this team's admins23:56
lifelessStevenK: looks good to me23:57
StevenKlifeless: If you have no complaints about the version, I'll upload it23:57
lifelessStevenK: seems fine to me23:58

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