[08:51] <tomwardill> the hardest part about retries is writing tests for them
[08:52] <SpecialK|Canon> ahja
[08:52] <tomwardill> https://github.com/jd/tenacity is neat though
[09:06] <tomwardill> Add retries for ConnectionError in registry client: https://code.launchpad.net/~twom/launchpad/+git/launchpad/+merge/382904 and matching dep addition: https://code.launchpad.net/~twom/lp-source-dependencies/+git/lp-source-dependencies/+merge/382903
[09:14] <cjwatson> Thanks, looking
[09:16] <cjwatson> Oh, Julien Danjou, good
[09:18] <tomwardill> it's a maintained fork of the retrying library
[09:18] <tomwardill> the backoff library is currently unbuildable from source
[09:20] <cjwatson> Question in there for you
[09:21] <tomwardill> yep, we can shorten the retry, I just picked a number
[09:21] <tomwardill> 5 seconds * 5 retries?
[09:23] <cjwatson> 3 seconds maybe?  I'm not super-happy about 15 seconds either but it's hopefully tolerable at least until we figure out something better
[09:24] <tomwardill> sure
[09:24] <tomwardill> cjwatson: changed and pushed
[09:28] <cjwatson> r=me with a few more comments
[09:37] <tomwardill> cjwatson: oh good call on the sleep patch, that has massively simplified things
[09:37] <cjwatson> Oh good
[09:38] <tomwardill> in theory it'd be possible to remove the inner patch / exception raising, but I'm going to leave it so we're not _just_ trusting tenacity to tell us it's retried
[09:42]  * tomwardill adds comments to that effect
[09:47] <tomwardill> cjwatson: how do I land the dependencies branch, just top approve and wait for it to be merged?
[10:01] <cjwatson> tomwardill: Yep
[10:02] <tomwardill> excellent, landing then
[10:09] <tomwardill> landing retry
[10:17] <tomwardill> both merged
[10:28] <SpecialK|Canon> So uh
[10:29] <SpecialK|Canon> Automagic links on the OCI image build page for "we built it AND pushed so it's available at example.com/badger"
[10:29] <SpecialK|Canon> Is that as painfully hard/unpossible as I suspect?
[10:33] <tomwardill> Snap has something similar, iirc
[10:34] <SpecialK|Canon> presumably easier there because they're only going to be pushing it to one place
[10:35] <cjwatson> SpecialK|Canon: I started working on that the other day
[10:35] <tomwardill> yeah, but we know the registry url, so we should be able to work it out from that
[10:35] <tomwardill> 'should'
[10:35] <SpecialK|Canon> cjwatson: <3
[10:35] <cjwatson> At least to provide the status of pushes.  I expect I'd need help on figuring out the target URL
[10:36] <cjwatson> tomwardill: I don't suppose it's something the registry tells us in a push response?
[10:36] <cjwatson> If so, the push job could stash it.  (That's what we do for snap)
[10:36] <tomwardill> I've not looked, but https://registry_url/image_name should just work
[10:37] <tomwardill> as that's what the `docker pull` command would be (we have to assume there's no web front end on a registry)
[10:37] <cjwatson> Reliably for all registries?  OK
[10:38] <tomwardill> oh, for us it'd be https://registry_url/image_name:edge to perform a no-interaction pull
[10:39] <tomwardill> where 'edge' is the result of OCIRegistryClient._calculateTag (which could move to OCIRecipeBuild reasonably easily)
[10:40] <cjwatson> Or the build job could stash what it did
[10:40] <cjwatson> Trade-off is that that puts the URLs in the DB so they're harder to fix if we get them wrong
[10:40] <tomwardill> or that
[10:41] <tomwardill> but is immune to changes in the calculation affecting past images
[10:41] <tomwardill> given we know that image_name and tag is going to change soonish
[10:42] <ilasc> cjwatson: acknowledging I saw your comments in the OCI UI doc and all makes perfect sense, working in that direction, thank you !
[10:44] <cjwatson> ilasc: you might as well take advantage of my painful experience working out that permissions UI :)  my notes say spec started 2018-08-10, blog post about the completed feature posted 2019-01-10
[10:46] <ilasc> :)
[10:46] <cjwatson> though of course a lot of that was working out the correct underlying model
[10:48] <cjwatson> OK, 2018-10-05 "started experimenting with git permissions UI"; 2018-10-31 proposed the MP
[10:48] <cjwatson> that's probably slightly more representative
[10:48]  * tomwardill nearly defenestrated that matching algorithm, many times
[10:48] <tomwardill> and I actually could've done, because I had it printed out and covered in red pen
[10:49] <ilasc> wow :) OK
[10:49] <ilasc> yes, I am currently using a similar approach to parse the form data