/srv/irclogs.ubuntu.com/2020/03/12/#launchpad-dev.txt

cjwatsontomwardill: Could you have a look over https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/380350 and https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/380351 for OCI webhooks?08:52
tomwardilloh, I meant to do that yesterday, had the tabs open and everything08:52
tomwardillon it08:52
cjwatsonilasc: Could you have a look at https://code.launchpad.net/~cjwatson/lp-signing/+git/lp-signing/+merge/380014 ?  It's a prerequisite for the Juju charm08:52
cjwatsonAlso, yesterday I found https://forge.softwareheritage.org/T1734 which relates to my recent GitRepositorySet.getRepositories changes, and updated it with a slew of details08:53
ilasccjwatson: +108:56
ilaschave mp 380391 open for study on the to do list for today, above detail is great for that! thanks for sharing Colin!08:59
wgrantAh, excellent, that hopefully solves much of the problem.08:59
cjwatsonwgrant: Which does?09:00
wgrantThat softwareheritage.org ticket, and your reply to it.09:00
cjwatsonAh yes09:00
cjwatsonThere's a SH bod on #debian-uk who said that the people working on this are students who just kind of ... show up.  Must be a nice problem to have :)09:01
tomwardillcan we borrow some :)09:01
ilasc:)09:03
wgrantThat does make some degree of sense.09:07
wgrantAnd would indeed be quite handy.09:08
wgrantThough I guess a bunch of us were just students who showed up at one point.09:08
cjwatsonHmm I think I can possibly reproduce the turnip-pack-virt memory leak locally10:37
cjwatsonDoesn't seem to reproduce when looking up nonexistent repos, but if I clone the same existent repo 100x in a loop then I see virtserver's VIRT growing by a MB or so in top.  (sshserver gets bigger too, but I think that's keepalive connections and goes away again)10:40
cjwatsonAttacking it with meliae now to see if I'm imagining it10:40
tomwardill... I've made the wifi slightly faster in my study by replacing the cable10:40
tomwardillone of us is having a productive morning. I suspect it's not me.10:40
cjwatsonyou're optimising your environment! :)10:43
cjwatsonsuspicious growth in function objects10:50
cjwatsonall in the guts of inlineCallbacks I think10:54
SpecialK|CanonInvesting in your infrastructure is generally worthwhile!10:57
cjwatsonI don't think PackVirtServerProtocol.requestReceived ever returns in the successful case11:00
cjwatsonI stuck a log entry at the end that I'm not seeing11:00
cjwatsonOh.  Well nothing ever calls .callback() on that particular deferred, only .errback().  That would probably do it11:04
cjwatson(see PackClientFactory)11:05
cjwatsonis it a one-liner11:07
SpecialK|Canonhah11:08
cjwatsonNeed to figure out how to test it but I'm pretty sure it's just https://paste.ubuntu.com/p/vRJsZtMhcW/11:12
cjwatsonmeliae++, made this a great deal easier to track down11:12
tomwardillcjwatson: is it worth adding the date_* columns to the OCI credentials and push rules?11:27
cjwatsontomwardill: I don't think so really.  They're not going to be displayed on their own pages with the "Registered by <foo> on <bar>" boilerplate or anything; they're more like settings.11:35
tomwardillcjwatson: the credentials field, what do I need to do to make it an encrypted field?14:50
cjwatsontomwardill: There isn't yet any prior art for making an entire column be encrypted (as opposed to one value in a larger JSON column).  But you should be able to work it out, more or less, by grepping for EncryptedContainer14:58
tomwardillah, that's the magic term i was missing14:58
* tomwardill tries14:58
cjwatsontomwardill: You'll need an IEncryptedContainer implementer (based on NaClEncryptedContainerBase) registered with some appropriate name and that plugs in the correct configured key pair; and you'll need a property on the model that does getUtility(IEncryptedContainer, whatevernameyoupick).{encrypt,decrypt}14:59
cjwatsontomwardill: Or if you wanted to try slightly harder you could write a custom Storm variable that does this15:00
cjwatsonShouldn't be very difficult, we just haven't needed it so far15:00
tomwardillthe latter feels more resuable15:00
cjwatsonWell, variable and property, since they usually come as a paid15:00
cjwatson*pair15:00
cjwatsone.g. have a look at the implementation of JSON and JSONVariable15:01
cjwatsonAnd yes, I think that would be more correct15:01
cjwatsontomwardill: I think you can go ahead with https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/380200 now - the linked code change is on prod15:27
tomwardillah, cool15:28
tomwardilllanding15:28
tomwardillcjwatson: slightly trivial question, would the storm variable live in storm, or launchpad?16:08
cjwatsontomwardill: Launchpad16:19
wgrantI don't much like the Storm variable approach. It would make accidental leaks easier, and leave the object unloadable on most services17:12
tomwardillwgrant: I don't follow either objection there17:13
wgrantAccidentally printing the object's fields would leak the secret, and examining the object's fields on most LP hosts, that don't have the wrapping key, would crash.17:14
tomwardillaha, right, that makes sense17:15
cjwatsonI suppose17:17
* tomwardill closes storm checkout17:18
* cjwatson finally persuades turnip tests to pass with only a small hack17:18
tomwardillexcellent, DB patch landed with only minor buildbot poking17:27
SpecialK|CanonNice17:28
cjwatsonCould I have a review of https://code.launchpad.net/~cjwatson/turnip/+git/turnip/+merge/380646 please?  As far as I can tell this fixes the turnip-pack-virt memory leak on production that's been taking down the service every couple of days17:33
SpecialK|CanonExcellent!17:34
tomwardilllooking17:36
tomwardilltest_git.py is inconsistent as to assert(expected, received) or assert(received, expected)17:39
cjwatsonIs it?17:40
cjwatsonOh, I got this backwards, silly me17:41
tomwardilltest_git_receive_pack_calls_spawnProcess appears to be reversed from test_git_upload_pack_calls_spawnProcess17:41
tomwardillso there's both in there already17:41
cjwatsonreceive is using assertThat not assertEquals17:41
cjwatsonand assertThat requires the matcher as second arg17:42
tomwardilloh, so it is17:42
tomwardillsorry17:42
cjwatsonso it was just my new code that was wrong, and I've fixed it now17:42
tomwardillcool17:42
tomwardillcjwatson: what fails in the test without the callback change?17:42
cjwatsonit hangs17:43
cjwatsonsince yield requestReceived never returned17:43
tomwardillah... that'd do it :)17:43
cjwatson*returns17:43
cjwatson(though doesn't hang indefinitely since AsynchronousDeferredRunTest has a timeout)17:43
tomwardillhave a +117:43
cjwatsonthanks17:44

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